Need help making a custom character loader

Script that loads character:

game.ReplicatedStorage.RemoteEvent3.OnServerEvent:Connect(function(plr,character)
	
	local newCharacter = character:Clone()
	newCharacter.Name = plr.Name
	plr.Character = newCharacter
	newCharacter.Parent = workspace
	
	plr:LoadCharacter()
	
end)

GUI I have:


Everything here works fine, until we press “Spawn”, it just loads my avatar, not the character itself.

Local script firing remote event:

script.Parent.MouseButton1Click:Connect(function()
	
	game.ReplicatedStorage:WaitForChild("RemoteEvent3"):FireServer(script.Parent.Parent.ViewportFrame.WorldModel.StarterCharacter)
	script.Parent.Parent.Parent.Enabled = false
	
end)

If you can help, that’d be gladly appreciated, I’ve worked so hard yet don’t know how to load in the character from the character creator!

It’s not working probably because of the plr:LoadCharacter(), reloading the player’s character with his Roblox avatar. You should try removing it.
Else, if your faces and hats are already uploaded on Roblox, you can use some HumanoidDescriptions for changing the player’s avatar.