Humanoid Description not being applied on spawn

The HumanoidDescription is just not being applied for some reason, however if I set exact values it does.

Players.CharacterAutoLoads = false

Players.PlayerAdded:Connect(function(Player)
	local Data = Info:GetData(Player)
	
	local Race, Deviation = Data["RACE"], Data["DEVIATION"]
	
	local HumanoidDescription = Info:GetDescription(Race, Deviation)
	
	print(HumanoidDescription.HeadColor)
	
	Player:LoadCharacterWithHumanoidDescription(HumanoidDescription)
	Player.Character.Humanoid:ApplyDescription(HumanoidDescription)
	
	script.Server:Fire(Player) -- Change Animations
	Stats:sendData(Player)
	Inventory:sendData(Player)
end)
local Races = {
	["Race1"] = {
		HeadColor = 220;
		TorsoColor = 220;
		RightArmColor = 220;
		LeftArmColor = 220;
		RightLegColor = 220;
		LeftLegColor = 220;
	};
	["Race2"] = {
		HeadColor = 30;
		TorsoColor = 30;
		RightArmColor = 30;
		LeftArmColor = 30;
		RightLegColor = 30;
		LeftLegColor = 30;
	};
}
function Info:GetData(Player)
	return DataStore2("Info", Player):GetTable(DEFAULT)
end

function Info:GetDescription(Race, Deviation)
	local Description = Races[Race]
	local HumanoidDescription = Instance.new("HumanoidDescription")
	
	for Property, Value in pairs(Description) do
		HumanoidDescription[Property] = Color3.fromRGB(Value + Deviation, Value + Deviation, Value + Deviation)
	end

	return HumanoidDescription
end

The problem seems to be with the line Info:GetData(Player) , since if I add a wait(10) after it works, but I don’t want to add an crazy wait() just to get this to work.

So how can I fix this delay(?) issue

You could try also adding the CharacterAdded event to wait for the character to load as well. Humanoid is inside of the Character, so it probably is going before the Character loads.

I think that didn’t work since CharacterAutoLoads is false (this is taken from HumanoidDescription | Roblox Creator Documentation) so it’ll wait infinitely

I’ve also tried doing CharacterAdded + Humanoid:ApplyDescription() but that didn’t do anything either

Ah, I didn’t see that up there, alright give me a bit of time to browse

Meanwhile this might help: https://gyazo.com/d1a58e9a37a242980d9c7e1682cd6b65
There’s 3 tests in the gif:

  • no wait before trying to load,
  • wait(1) before loading,
  • wait(2) before loading;

seems like it works in the 3rd test however you can see it’s very jarring

edit: image

Why not just make a HumanoidDescription Module inside StarterCharacter thingy?

Doing it in startercharacter would make it local which wouldn’t replicate unless I’m just wrong lol