i have over 200 rigs which are wearing several accessories but they do not have the HumanoidDescription in them with the ids of the accessories, and i need the AssetIds of the accessories, if there is no way to get it using code then i’ll have find the AssetId of each accessory and place it in manually which too long of a task
Well, you can brute force it by manually checking IDs of assets uploaded to the catalog but the problem is that it’s going to take a long time to do it. Are the accessories on the humanoids all made by Roblox/a specific player? Or are they a mix of creators?
If it’s by Roblox, or if it’s by a mix of creators, it might take less time to look up the items and add them manually as you would just be looking through thousands of accessories for an ID match.
If all the accessories are made by a single player it’s possible to brute force match the mesh and texture IDs. Let me know.
The 200+ rigs are preset outfit for the player to choose from so It’s by a mix of creators which includes UGC assets from all over roblox, so it would be just better to look up the items and add them manually as you said.
I just thought of something by reading your reply, Would it be possible to restive the AssetId if a Player character wears the accessories in studio?
You should be able to by reading from the HumanoidDescription yeah.
1- get the humanoid description (humanoid:GetAppliedDescription())
2- for each accessory-related property in the humanoid description, string.split the property’s value, using comma as split character (since each property is formatted as “123123123,456456456,789789789” and so on)
3- for each id in the split string, insert it using InsertService:LoadAsset. Save the id somewhere.
Probably worth noting that if the request to insert the accessory fails, you’re probably sending too many requests so do task.wait(10) or so and try again. But since an avatar can only have like 15 accessories I don’t think you’ll run into that limit but it’s probably something worth mentioning.
4- check and save the MeshId and TextureId properties of the SpecialMesh somewhere.
5- iterate through the characters’ accessories. If the accessory’s MeshId and TextureId are the same as the ones inside of the loaded accessory’s, then the asset id from step 3 is the one that corresponds to this accessory.