Humanoid Description not updating to mannequin

  1. Basically am trying to having accessories load into a humanoid mannequin, for now only sticking to hair to be loaded to the mannequin so I only have to enter the catalog id of that asset, This is what the mannequin has inside the model, planning on expanding it out to things like hats and faces when hairs get applied properly
    humanoiddescription is inside the humanoid
    image

  2. Problem is that the hair doesn’t load to the mannequin despite the hair accessory property in the humanoid description being pasted right from the value of the HairID and the skincolor that I’ve already put in manually loading in just fine, which is the catalog id of the accessory; I even went to further measures to have it print the hairaccessory value to make 100% sure that it wasn’t nil or anything like that. There is no error that shows up either.

3.I’ve checked https://developer.roblox.com/ to look further into HumanoidDescriptions to see if there was anything I was missing there but nothing really shows up that catches my eye, most of the things I see on there is for when a player spawns, not for just a plain old mannequin npc that is already in the workspace, Also checked google to see if there was any posts on board with my problem and I have yet to see anything with solutions from other threads that has helped.

This is what the script looks like

local humanoid = script.Parent.Humanoid
local humanoiddescription = humanoid.HumanoidDescription
local hair = script.Parent.HairID.Value
local hairid = hair

humanoid.HumanoidDescription.HairAccessory = (""..hairid)
print (""..humanoid.HumanoidDescription.HairAccessory)
humanoid:ApplyDescription(humanoiddescription)

Not sure if i need to add in an extra parts inside the mannequin or if there is something specific that i can do in the script that is good for this situation, the Id’s inside the model (hatID, HairID, etc), are going to be linked to buying the accessories also so that cannot be deleted

2 Likes

Hi! So basically what you should do is instead of using an already made Humanoid Description you should make your own.
I’ve updated your script to show the changes I made

local humanoid = script.Parent.Humanoid
local humanoiddescription = Instance.new("HumanoidDescription")
local hairid = tonumber(script.Parent.HairID.Value)
local ShirtId = tonumber(script.Parent.ShirtID.Value)



humanoiddescription.HairAccessory = hairid
humanoiddescription.Shirt = ShirtId

humanoiddescription.HeadColor = Color3.fromRGB(255, 170, 127)
humanoiddescription.LeftArmColor = Color3.fromRGB(255, 170, 127)
humanoiddescription.LeftLegColor = Color3.fromRGB(255, 170, 127)
humanoiddescription.RightArmColor = Color3.fromRGB(255, 170, 127)
humanoiddescription.RightLegColor = Color3.fromRGB(255, 170, 127)
humanoiddescription.TorsoColor = Color3.fromRGB(255, 170, 127)

print(humanoiddescription.HairAccessory)
humanoid:ApplyDescription(humanoiddescription)

https://gyazo.com/b022a43ce58341ff7310219ea6293cb2

4 Likes

Ooo okie ill try that out in a little bit to see if that works

1 Like

I’ve tested it myself and it actually works : D
Is there any drawbacks to using ApplyDescription() such as it being able to badly lag the game if there is for say 40+ of them? If so is there a way to combat it? This is just something im wondering for future reference

1 Like

Depends on how often your calling it, cause if its just the once per model at the beginning of the server or just every now and then, then their isn’t really anything to worry about, the only down side I could see is if you called it very often and made it basically a disco of different outfits. But other then that I have never had a problem with it whenever i used it on NPCs or on Characters

it’d probably be often but i could maybe make a seperate game to have it load in for one store and copy + paste the store when it’s all loaded and then delete all of the scripts that are used to make the humanoid description load by command prompt and just paste it back to the official place i want the store to be in, but that just sounds a bit time consuming but doable, theres probably a more convenient way to deal with something like that tho

I have one where I update one NPC every basically 4-5 minutes and then I have another one the players choose when they want to change and it really doesn’t cause much lag. by often i meant like every less then a minute just cause of the loading parts in. but it wont really hurt the game badly in any way

I realize I may be bumping an older topic here… but I ran into this same issue myself today and I think I understand why creating a new instance of the HumanoidDescription fixes the problem…

The system assumes the current HumanoidDescription for a character is not manually edited and reflects the current assets on the character.

This got me thinking what is a current HumanoidDescription? It turns out if the HumanoidDescription isn’t parented under the character when ApplyDescription is called it doesn’t load in accessories because they’re seen as “current”.

The solution: Unparent the HumanoidDescription from the character before calling ApplyDescription.

11 Likes