Parenting character speed bug

Whenever I place a character into a folder inside of workspace, when they respawn or join the game sometimes their speed will be increased. Does anyone know how to fix this? I really want the characters to be in an organized folder for my future games.

Are you referring to a StarterCharacter model or actually moving the player’s own character model into a folder?

If you were doing it like this before.

local players = game:GetService("Players")
local folder = workspace:WaitForChild("Folder")

players.PlayerAdded:Connect(function(player)
	player.CharacterAdded:Connect(function(character)
		character.Parent = folder
	end)
end)

Change it to the following to allow for the character’s appearance to load first.

local players = game:GetService("Players")
local folder = workspace:WaitForChild("Folder")

players.PlayerAdded:Connect(function(player)
	player.CharacterAppearanceLoaded:Connect(function(character)
		character.Parent = folder
	end)
end)

I’m referring to a player’s character model by default.

Example:

Player.Character.Parent = workspace.FolderName

Edit: I see that you added a solution above I’ve tried CharacterAppearanceLoaded before, the main problem I’ve had with it in the past is it sometimes doesn’t fire a function. But I’ll try it again and see if it changes anything. Thanks for your help.

Right, try the above and let me know how it goes.

local players = game:GetService("Players")
local folder = workspace:WaitForChild("Folder")

players.PlayerAdded:Connect(function(player)
	player.CharacterAppearanceLoaded:Connect(function(character)
		character.Parent = folder
		local humanoid = character:WaitForChild("Humanoid")
		humanoid.WalkSpeed = 16
	end)
end)

You can also manually override the WalkSpeed property by doing the above, resetting it back to its default if for some reason it changed.