Setting HumanoidDescription on R6 not working?

As you can see, the script is doing everyting correctly, so there’s no reason for this not to work, unless it’s a bug, but I doubt that, as I’d assume in the 2 or so years HumanoidDescriptions have been a thing, someone would have surely noticed this before me.

It’s not setting the body parts, or the size correctly.

function CharacterManager.Load(player)
	print("LOAD")
	if player.UserId > 0 then
		local HumanoidDescription = Players:GetHumanoidDescriptionFromUserId(player.UserId)
		print("LOADING")
		-- Set to blocky
		HumanoidDescription.Head = 0
		HumanoidDescription.Torso = 0
		HumanoidDescription.LeftArm = 0
		HumanoidDescription.RightArm  = 0
		HumanoidDescription.LeftLeg = 0
		HumanoidDescription.RightLeg = 0
		
		-- Set sizes
		--HumanoidDescription.BodyTypeScale = 0.9
		HumanoidDescription.DepthScale = 0.85
		HumanoidDescription.HeadScale = 0.85
		HumanoidDescription.HeightScale = 0.9
		HumanoidDescription.ProportionScale = 0.85
		HumanoidDescription.WidthScale = 0.85
		print("DONE")
		if not player or not player.Parent then return end -- Player left
		print("LOAD WITH")
		player:LoadCharacterWithHumanoidDescription(HumanoidDescription)
	else
		player:LoadCharacter()
	end
end

This works when I make players R15, it’s only R6 that’s broken

Scaling is locked to R15 avatar types only.

You can even see that in your own avatar customisation page.

If you need to scale an R6 character model, instead scale the parts which make up the avatar.

It should throw a warning or yield, or something though. The script does not pause, and it loads the HumanoidDescription, so that’s not the reason.

To add to it, if I comment the scaling section out, it doesn’t change anything

I thought you just mentioned the scaling wasn’t working. I don’t think it would throw an error (it just wouldn’t do anything), R6 is just incompatible with scaling.

Read the question
40 characters

I did, I only noticed that the scale numbers were changed. I see now that the limb types have been changed as well.

Does GetHumanoidDescriptionFromUserId() get a reference to the “HumanoidDescription” instance of a player or does it create an entirely new one based off the “HumanoidDescription” of the player?

Use Instance.new(“HumanoidDescription”) and write to that instead before applying it and reloading the player’s character.

This code works with R15, so it should work as is.