Animations not loading

I’m making a basic morph that turns the player into the character when a block it touched. I duplicated the animate code from the player to the morph so that the morph’s limbs move. It works for the player’s screen, but to others it still doesn’t animate and move. Here’s the code:

local characterName = "SuperGavin617"
local character = pad.Parent:WaitForChild(characterName)

local debounce = true
pad.Touched:Connect(function(obj)
	local plr = game.Players:GetPlayerFromCharacter(obj.Parent)
	if plr and debounce == true then 
		debounce = false
		
		pad.BrickColor = BrickColor.new("Really red")
		
		local charClone = character:Clone()
		charClone.Name = plr.Name
		plr.Character = charClone
		
		local rootPart = charClone:FindFirstChild("HumanoidRootPart") or charClone:FindFirstChild("Torso")
		local plrRoot = obj.Parent:FindFirstChild("HumanoidRootPart") or obj.Parent:FindFirstChild("Torso")
		
		if rootPart and plrRoot then
			rootPart.CFrame = plrRoot.CFrame 
		end
		
		charClone.Parent = workspace
		
		wait(.5)
		
		pad.BrickColor = BrickColor.new("Lime green")
		debounce = true
	end
end)

maybe you can store an extra animate script in replicated storage/server storage and disable it, so when you morph, you clone the animate script and place it in the player character and then enable it (do this serverside)

Here you go! Let me know if you have any issues with this solution.