The issue is the speed change hasn’t taken place on the server. Server is correcting, thus jitter.
Client responsiveness approach…
- Input → CMC: set Max Walk Speed → Event: Server Set Speed (Run on Server)
- Event: Server Set Speed → CMC: set Max Walk Speed
Simple server auth approach
- Input → Event: Server Set Speed (Run on Server)
- Event: Server Set Speed → CMC: set Max Walk Speed
Downside to the pure server auth approach is latency of the player will delay the action.