Starter Character Script Bug

So, I made a finger-rig starter-character and a script where whatever your avatar is wearing coverts to the starter-character so people can play as their avatar and still have animatable fingers.

The issue is whenever I reset it, it goes back to the regular character

here is the script

	
	plr.CharacterAdded:Connect(function(c)
		local Appearance = game.Players:GetHumanoidDescriptionFromUserId(plr.UserId)
		local e = game.Workspace.StarterCharacter:Clone()
		e.Parent = workspace
		e.HumanoidRootPart.Anchored = true
	e.Humanoid:ApplyDescription(Appearance)

		for i,v in pairs(plr.Character:GetChildren()) do
			if v:IsA("MeshPart") or v:IsA("Part") then
				v.Color = e.Head.Color
			end
		end
		

		for i,v in pairs(e:GetChildren()) do
			if v:IsA("Accessory") or v:IsA("Hat") then
				v.Parent = plr.Character
			end
		end

		for i,v in pairs(e:GetChildren()) do
			if v:IsA("Shirt") or v:IsA("Pants") then
				v.Parent = plr.Character
			end
		end
	end)
end)```
1 Like

You can place a model inside of StarterPlayer, name it “StarterCharacter” and it’ll be set as the character every player spawns in with. Then you could apply the characterAppearance of the player to that character and it should work.

1 Like

Are you using:

Players.CharacterAutoLoads = false

Then, when you are ready:

Player:LoadCharacter()

That did work, but now when someone else joins their avatar is mine. Everyone is supposed to play as their avatar, not mine.

There was nothing wrong with the script I had previously, it’s just when I reset it goes back to my StarterCharacter.