Accessory Adjustment APIs for experiences

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.

3 Likes

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

1 Like

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 AccessoryDescriptions

1 Like

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

5 Likes

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…

1 Like

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 :slight_smile:

3 Likes

@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 :sob:

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:

4 Likes