How to size a r6 Player?

When I change the HumanoidDescription of an R6 Character, the player doesn’t update. Is there an alternative way without using LoadCharacterWithHumanoidDescription?

2 Likes

Are you trying to resize/scale the R6 character? If yes, then I use the following to achieve that:

local function resizeR6(clonePlayer)
	local Motors = {}
	table.insert(Motors, clonePlayer.HumanoidRootPart.RootJoint)
	for i,Motor in pairs(clonePlayer.Torso:GetChildren()) do
		if Motor:IsA("Motor6D") == false then continue end
		table.insert(Motors, Motor)
	end
	for _, v in pairs(Motors) do
		v.C0 = CFrame.new((v.C0.Position * characterScale)) * (v.C0 - v.C0.Position)
		v.C1 = CFrame.new((v.C1.Position * characterScale)) * (v.C1 - v.C1.Position)
	end
-- RESIZE PARTS
	for _, Part in pairs(clonePlayer:GetChildren()) do
		if Part:IsA("BasePart") == false then continue end
		Part.Size = Part.Size * characterScale
		if Part.Name == "Head" then
			Part.Mesh.Scale = Vector3.new(1.5, 1.5, 1.5) 
		end
	end
-- RESIZE ACCESSORIES
	for _, Accessory in pairs(clonePlayer:GetChildren()) do
		if Accessory:IsA("Accessory") == false then continue end
		Accessory.Handle.AccessoryWeld.C0 = CFrame.new((Accessory.Handle.AccessoryWeld.C0.Position * characterScale)) * (Accessory.Handle.AccessoryWeld.C0 - Accessory.Handle.AccessoryWeld.C0.Position)
		Accessory.Handle.AccessoryWeld.C1 = CFrame.new((Accessory.Handle.AccessoryWeld.C1.Position * characterScale)) * (Accessory.Handle.AccessoryWeld.C1 - Accessory.Handle.AccessoryWeld.C1.Position)
		local AccessoryMesh = Accessory.Handle:FindFirstChild("Mesh")
		if AccessoryMesh then
			Accessory.Handle.Mesh.Scale *= characterScale
		end
		local AccessoryPart = Accessory.Handle:FindFirstChild("Part")
		if AccessoryPart then
			Accessory.Handle.Part.Scale *= characterScale
		end
	end
end

When the character loads, check it for Torso, if true, do that above.

5 Likes

That wouldn’t work for R6, only for R15

1 Like