Why do most people handle :ChangeState() on the client?

Asking because I was looking at a bunch of ragdoll scripts and noticed they changed the humanoid’s state on the client.

1 Like

Because network ownership of a player’s character belongs to that player (client).

But such stuff as changing the character’s primarypart’s CFrame works. I am guessing it is an exception then?

All parts of a character are owned by the player, and can be modified in many ways. Parts can be destroyed, teleported, and to an extent, edited. All of it will replicate.

ChangeState is usually run on the client because they have the authority of their Humanoid. Although, humanoids are very unstable and reset states quite often, so you may find several Ragdoll scripts setting ChangeState on both client and server, as well as disabling some.

1 Like