Is it necessary to use WaitForChild in CharacterAdded?

Is it necessary to use WaitForChild in CharacterAdded?

game:GetService('Players').PlayerAdded:Connect(function(player)
    player.CharacterAdded:Connect(function(character)
        local head = character:WaitForChild('Head')
        print(head.Name)
    end)
end)
1 Like

Yes, just in case something goes wrong

According to the documentation, no:

If I were you, I would use it. It ensures that if there is intense server lag when the character is added, you don’t call a nil instance when looking for a child of the character.

can I use this here?

CharacterAppearanceLoaded:Wait()

CharacterAdded fires after the model of the new character for the player is created. It is good practice and recommended to WaitForChild for children of the character as they may not have been created yet when you try and reference them!

I don’t think so because the head is in the character and that part of the script is only running when the character loads, so probably not(The head should be there when the character is loaded).