So in my game your character gets messed up if you’re not blocky, so I tried to use a script to make the player blocky, and it seems to work, however the player ends up flying away? Also it doesn’t fix the character?
Script:
game.Players.PlayerAdded:Connect(function(player)
player.CharacterAdded:Connect(function(character)
local hum = character:WaitForChild("Humanoid")
if not character:IsDescendantOf(workspace) then
character.AncestryChanged:Wait()
end
local description = hum:GetAppliedDescription()
description.Head = 0
description.LeftArm = 0
description.RightArm = 0
description.LeftLeg = 0
description.RightLeg = 0
description.Torso = 0
hum:ApplyDescription(description)
end)
player:LoadCharacter()
end)
Whenever you apply a new description to a humanoid, it will replace everything on the character from the humanoid description, so you’re expected to see weird things like flying away.
You might have to anchor the character while it’s applying, or set the CFrame to itself after applying.
You could also try using a StarterCharacter model in StarterPlayer and see if you can replacing the mesh of the character, and all you would have to do is apply the description after.
Your script runs pretty smooth in my game by any chance are you destroying the character? Instead of that just disable auto-loading by going to Players-Properties-Behaviour - CharacterAutoLoads (Set to False)