Changing Players Character Permanently

Hello.
This code is supposed to set the players character to the character in the viewport frame which kinda works, but the camera no longer follows the player after changing it and when you die the players character changes back to the default character. The new character also does not have a run animation. How do I fix these problems? Thanks for any help

Server Script

game.ReplicatedStorage.EquipPlayer.OnServerEvent:Connect(function(plr, characterName)
	if game.ReplicatedStorage.Characters:FindFirstChild(characterName) then
		local characterClone = game.ReplicatedStorage.Characters:FindFirstChild(characterName):Clone()
		characterClone.HumanoidRootPart.CFrame = plr.Character.HumanoidRootPart.CFrame
		characterClone.Parent = workspace
		plr.Character = characterClone
		game.Workspace.CurrentCamera.CameraSubject = characterClone.Humanoid -- This code doesn't even fix the camera problem but it doesn't error
		
	end
end)
1 Like

You could just apply the viewport model’s HumanoidDescription onto the player’s HumanoidDescription and with that, you can completely avoid having to create a new character model entirely whilst ensuring the same player model as before is kept; albeit with the new HumanoidDescription applied to it.

1 Like

That wouldn’t work so good because later on the characters are going to be characters imported from blender so that won’t work in the later stages

1 Like