Scaling Custom Rig goes horribly wrong

I am using this code to scale a custom character

local function ScaleModel(model, scale)
	
	
	local partsToScale = model:GetChildren()
	for i=1, #partsToScale do
		if partsToScale[i]:IsA("Basepart") or partsToScale[i]:IsA("MeshPart") or partsToScale[i]:IsA("Union") then
			partsToScale[i].Size *= scale
		end
	end
	
end



script.Parent.MouseButton1Click:Connect(function()
	
	print("Clicked")
	
	local pl = script:FindFirstAncestor("PlayerGui").Parent
	local char = pl.Character
	ScaleModel(char, 1.1)
	
	print("Scaled")
	
end)

The character is not an r15, neither r6, as you can see in the video. It consists mostly of meshparts, rigged together mostly with motor6Ds.

Here’s what happens when scaling

How can I avoid this and scale it normally?

4 Likes

lol

1 Like

It might be because the bones stayed in place.