Clones not adapting body size

I have a button that resizes your character on the Z axis to 0 to make you flat, issue is that when I clone myself or duplicate my character in workspace, my clone is not flat like me,. It’s not a client issue because this is a serverscript and other players can see each other as flat, but my clones just don’t turn flat.
The workaround is that I update my clone to also turn flat, but for some reason if I touch them, they turn normal size again.

local part = script.Parent

local function resizeModel(model)
for _, part in ipairs(model:GetDescendants()) do
if part:IsA(“BasePart”) then
local size = part.Size
part.Size = Vector3.new(size.X, size.Y, 0) – Set Z size to 0
end
end
end

part.ClickDetector.MouseClick:Connect(function(player)
resizeModel(player.Character)
local character = player.Character
if character then
character.Archivable = true
local clone = character:Clone() – Clone the player’s character
clone.Parent = game.Workspace
end
end)

Probably because you are cloning a character model that has HumanoidDescription properties that still contains original data (before you changed the parts size)

When editing the size properties (and others) edit the HumanoidDescription and apply it (server side) and apply those HumDesc changes to player, you could even create a blank Humanoid Rig and apply that description to copy exact current appearance of the player to the clone.

But if you clone a Rig that has previous HumDesc (the original one) on spawn the engine will use those rules to edit the char. (the cloned character model has scripts, and instances that controls its size, animations, behavior, etc)

Idk, its my first guess, which make sense to me

Thanks that helped, found out that decreasing depth in humanoiddescription keeps the player flat, but theres nothing to keep the head and hat flat unfortunately