Weird problem with HumanoidDescription

Why are you doing char.AncestryChanged when the character is added? The player’s character is added, meaning it is added to the workspace. You should also make it so the character waits for the child humanoid. (Char:WaitForChild(“Humanoid”))

it should be an attachment i checked right here in accessories https://developer.roblox.com/en-us/api-reference/class/Accessory

What? Why are you bringing in accessories? This has nothing to do with the problem.

XAXA linked me to this thread, which states the character loading order is:

1.  Call LoadCharacter
2.  Player.Character is set
3.  CharacterAdded fires
4.  Player.Character changed event
5.  Character appearance is initialized
6.  CharacterAppearanceLoaded fires
7.  Character parented to DataModel
8.  Character rig built/character scaled
9.  Character is cframed to spawn location
10. LoadCharacter returns

Also, the weird thing is that if i type an actual Item ID, it does actually get applied to the character… i just don’t get it xD

1 Like

its about a players parts so u cant unless u got a package?

He linked you to a thread, yes, which states how the character loading order is. I don’t see anywhere having to do with .AncestryChanged. CharacterAdded basically means the character is added to the workspace, meaning you don’t have to wait for the ancestry to be changed or anything of the sort. The character is made, therefore you can call it.

I know, but look at the loading order, when CharacterAdded fires, it doesn’t get loaded into the DataModel at that moment, it does 4 steps later. I already did what you’re mentioning, and that does get an Output error, which is basically that the character isn’t parented to the DataModel.

i think in number 4 and 5 are when the character changes its appearance?

Is the output error due to the humanoid not being created yet?

ur pretty much setting their character to no accessories or bold

It’s " Humanoid::ApplyDescription() DataModel was not available", i did try using WaitForChild and such for the Humanoid, i tried everything, and again, the weird thing is that using an actual item ID works, it just doesn’t work if the ID is set to 0, it doesn’t remove the packages and accesories, it just stays the same.

This is exactly what i’m trying to do

Then add waits. Waits could most likely solve your problem, if the character model isn’t loading, then just add a wait(.1) or so.

Waits didn’t work either… the same thing happens, and sometimes the character also appears black when using waits, i’m starting to think this is rather a bug.

Okay. Try changing the ancestrychanged to plr.CharacterAppearanceLoaded:Wait(). This might be able to solve your problem.

1 Like

There we go, it worked! i tried doing that before too, but maybe i was doing it wrong; here’s the change:

Players.PlayerAdded:Connect(function(plr)
	plr.CharacterAppearanceLoaded:Connect(function(char)
		removeBundles(char)
	end)
end)

At the bottom of the first post of the thread that you linked, it states that your method of waiting for the ancestry of the character to change is broken and that you have to check for the parent first. It even provides code for the fix.

That’s for the new event ordering, which isn’t released yet, apparently it’s on hold or something like that.

It says “during the migration period” so I took it to mean that’s what you do right now as you wait for the change to be live. :man_shrugging:

Edit: Didn’t realise that it’s all the way from April and keeps getting delayed.

This is a different (and unrelated) circumstance. Characters do not have their appearance automatically loaded and replaced via HumanoidDescriptions. Automatic appearance loading is disabled and substituted for starter character assets. Armour pieces and weapons are attached to the character via accessories.

1 Like

Applying HumanoidDescription with a package thats not default R15 package results in stuff being parented to nil This is a problem