Why are MaxWalkSpeed/MaxWalkSpeedCrouched not replicated?

Hi all,

I’ve had sprinting and crouching implemented in my game for a while and it works fine, but in doing some sweeping I noticed that I had my “UpdateSpeed” function set to multicast, and I feel it’d be best if only the server ever has the ability to update a player’s movement speed. It appears that I intentionally set it as a multicast because MaxWalkSpeed and MaxWalkSpeedCroucehd aren’t replicated even if I enable replication on the CharacterMovement component. What’s the deal? Isn’t it a bad idea to allow a client the possibility to update their movement speed?

you have to manually change it locally then immediately RPC the server to change it. Or vice versa. If the server doesn’t change it then it won’t happen. Period. The server will correct and this usually shows up as jitter.

What I don’t understand is, if it’s set to be replicated, why doesn’t the update done on the server replicate to the client automatically? Why do we have to manually update it locally for the client?