Multiplayer World Origin Rebasing results in character jolting.

I am using the Multiplayer World Origin Rebasing function in my multiplayer FPS game. I redefine the world origin by using “SetWorldOrigin”, to prevent the first person skeletal mesh shaking resulted from floating-point rounding error. However, when the origin is redefined, the character movement in the clients become jolting, especially in a high latency network. After executing “p.NetShowCorrections 1” in the client, I noticed that the character movement was frequently corrected. This problem exists in shipping versions.

Multiplayer-world-origin-rebasing-ON.jpg

World Origin Rebasing doesn’t work properly for multiplayer, not without considerable engine modifications. We had to update a significant portion of our codebase to use it successfully, but it’s still only client-side and a client correction during an origin shift is expected.

Most games have had to develop their own origin rebasing solution for multiplayer.

Physics objects suffer the worst, PhysX really doesn’t like it when you suddenly yeet the origin away from underneath it. Frankly IMO it’s a terrible implementation, and valid for single-player games only.

PhysX actually has a built in way to shift its origin by the way, but UE4 doesn’t use it by default.