One way movement replication

Usually server is always right, but for my project I would prefer client being right about their movement. It is not competitive multiplayer where I need anti-cheat etc. I value low input lag and less teleportation due to server-client desync more than server correctness.

Good example would be with launch character.
Currently I am executing

  1. launch on client
  2. Telling server to launch
  3. Server tells everyone to launch (except the original client, because he already launched)

This works up to like 50 ping. After that client teleports as it is trying to sync with server.

How to launch character without server correcting the client?

In the Character Movement component, there is a bool setting called “Ignore Client Movement Error Checks and Correction”. That will stop the sudden client teleporting, but you may experience desyncing and you’d need to impliment a solution for that.