I have it so that when you join, ur character is destroyed and replaced with a clone of a model in replicated storage. it all works, but when you enter the game, in workspace, ur character is called something else and I wanted to name it back to the players name. Heres my code:
local event = game.ReplicatedStorage.ChangeChar -- Character change
event.OnServerEvent:Connect(function(player,model)
wait(.1)
local Char = model:Clone()
local Pos = player.Character:GetPrimaryPartCFrame()
player.Character:Destroy()
player.Character = Char
Char.Parent = workspace
Char:SetPrimaryPartCFrame(Pos)
Char.Name = player.Name
end)
adding Char.Name = player.Name causes you to spawn as your avatar and not the model.

2 comments
The thing is, as a part of the game, as you progress, your character changes model so its not just 1 at all times
Oh. If you rename the character model before destroying the player's character work?