We plan to allow accessory adjustment for other accessories soon! Likely Neck/Shoulder and Front/Back accessories.
For PromptCreateOutfit
or PromptSaveAvatar
being updated with this feature, you can now save accessory adjustments to the platform or user’s outfits (but they will be clamped within the limits given in AvatarEditorService:GetAvatarRules()
. We were imagining a use case for in-experience Avatar Editors where devs could add their own UI to help the user adjust accessories and save to their account. In this case, our advice would be to use the values in avatarRules.AccessoryRefinementLowerBounds
and avatarRules.AccessoryRefinementUpperBounds
to know the min and max values for adjustments. For example, if you made a slider for Hat position adjustments in your Avatar Editor, you need avatarRules.AccessoryRefinementLowerBounds.Hat.Position.XPosition
to get the minimum allowed X-axis adjustment limit, which is -0.25 at the moment. You can also call AvatarEditorService:ConformToAvatarRules()
to make a HumanoidDescription clamp adjustment values.
That one in-game avatar saving function seems to have an issue. Not sure if it’s because it’s using v1, unless it uses v2 now, there was that Fast Flag about it once.
An Avatar can wear up to 10 Accessories of any type, and that in-game saving function cuts that away. Will that be fixed, so it doesn’t cut it away?
Pretty cool adition but I have a question, are there any plans on making adjustments for avatar hair available too?
This is a truly innovative and amazing update.
Roblox we only wait for good updates like this.
We will continue to wait for good updates for our users.
Can this be used in games that have custom-character-customisation creation? E.g. selecting a hair to place on their character, can the API then be used to grant users the ability to change the hair’s position and et cetera, and save that information to a database?
Excited to see this finally possible!! But can we please start backfilling features to the website, this is getting ridiculous. The phone app is borderline unusable for me on a pixel 8 pro (a modern phone!!) for how laggy it is to change views and do actions, and everything new for avatars is only accessible there.
We are three features behind at the very least already; accessory adjustment, creating and selling avatars, and setting your avatar headshot.
Sometimes I dragged the wrong slider, and I had to go to the top right just to reset the value back to default…
I wanted to break out of this problem.
So, I made this Step by Step Guide for Roblox Staff to modify AdjustmentSlider Component within Lua App Universal App
Will there be any template experience released with this functionality? (similar to the ugc shop template)
Thanks.
Unfortunately, we don’t plan to release a template experience.
Totally! Adjustment data would be saved through the same APIs such as AvatarEditorService:PromptSaveAvatar
, the devs just need to add the metadata in the passed in HumanoidDescription
’s AccessoryDescription
s
This is intentional behavior, though you can file a feature request to have this changed
Well, at the time I wrote that, I created this later AvatarEditorService issue with ConformToAvatarRules, it cuts away Accessories, because it doesn't know about 10 Accessory Limit for any Category
This might be the wrong place to ask this, but are there any plans to roll this feature out to other accessory types? It would be nice to be able to reposition Neck and Waist accessories as well.
Yes! We’re looking at allowing other accessory types soon
Will the accessory scaling functionality ever be expanded to be per-axis like it is internally?
Creating an editor programmatically is almost impossible due to all of the different avatar scaling options (i.e. BodyProportionScale, Height, Width, Depth) and how they affect the end position of the accessory. Would it be possible to add a function for setting the Position of an accessory with all of those things factored in?
e.g.
Setting a Position of (3, 0, 0) will result in two different positions if the BodyProportionScale is 0 vs. 1. But there should be a way to set it to (3, 0, 0) so that the end result is the accessory only has an offset of exactly 3 studs regardless of character scaling.
I hope this isn’t the wrong place to post, but, are there plans for Hair accessories too? There are hairs that look good but don’t fit certain heads, since some are either too small or too big, and merely being able to adjust them would solve the problem.
I saw there are plans for neck and waist accessories, but shouldn’t hair also be considered? Given that we already have hats and face accessories…
Thanks for the question! We currently don’t have plans to allow for adjustment of Hair accessories. The TL;DR is that the way certain Hair assets fit on the Head means it’d be difficult to provide a consistent Accessory Adjustment experience for all Hair assets, and could in many cases appear that the Hair is broken or unadjustable, unfortunately.
We’ll continue thinking through if there’s a middle ground we could reach here, but don’t have any near term plans to enable this for Hair. Stay tuned for a couple more accessory categories coming shortly, though
@meiyonnaize directed me here and might have insight.
I’d like to think of a solution or “middle ground.” For that, I have some clarifying questions.
When you say “the way certain Hair assets fit on the Head means it’d be difficult to provide a consistent Accessory Adjustment experience”, that makes me think Roblox internally is changing the position/coverage (size?) of Hair assets based on Head assets.
- If so, then I think it’d just be as simple as applying an offset to the CFrame of the hair after those initial calculations.
- If not, then there’s a universal position (which is based on the Head’s Position) that we can apply an offset to.
When you say “and could in many cases appear that the Hair is broken or unadjustable” makes me think Roblox has some system that adjusts Hair from data from the Head, but in a non-regular way. By “regular”, I’m imagining the following (kinda) pseudo code:
local Head -- equal to reference to head
local Hair -- equal to reference to hair
-- Assuming pivot point is at the center of the Hair and Head Assets
local yOffest_initial -- equal to whatever math used to get above head (maybe getting scale/ 2 + centerPoint/Pivot of the Head)
local robloxInitialScalingVal
local playerDefined_AddedCFrame -- an 3x3 matrix and a scale value or a 4x4 matrix? to store scale, rotation, and position?
local playerAddedScaleValue -- equals robloxInitialScalingVal * whatever the player inputs
-- put above head (initial):
Hair.CFrame = Head.CFrame + Vector3.new(0,yOffest_initial,0)
Hair.Size *= playerAddedScaleValue
-- or Hair.Scale?
-- also
Hair.CFrame += playerDefined_AddedCFrame
In short, I guess I’m not understanding the reason why the implementation that worked for other assets wouldn’t work here. also sorry for not using the API’s way of doing scale and whatnot from the Topic, I just read it after replying
My stake in this is that the Hair on my avatar appears in some games slightly below where it does in the Editor. I’d imagine that’s an R15 to R6 issue (avatar setting in Studio), but I’d assume moving my hair up slightly on the Y-Axis would fix my issue. I also don’t change my avatar much at all and don’t really want to adjust my other accessories.
Thanks!
I assume they’re just referring to layered hair accessories. Certain Roblox-created hair accessories function as layered clothing which cannot be adjusted.
Also, according to another staff member, they are trying to come up with a solution for adjusting hair: