I’ve noticed imprecise positioning of my vehicles which use BodyMovers to move. With the assorted info, I have been able to create this repro file.
The file contains two parts that move at a certain speed. The purple one uses CFrame manipulation to move the part every frame to match the speed and the yellow part uses BodyVelocity to move.
Server-Client Test.rbxl (23.9 KB)
I initially thought the problem originated in how Roblox replicates unanchored parts vs. anchored parts. But, after making both examples unanchored, the problem persisted.
I have made these short clips so you can see the problem without downloading the repro.
Run 1 - I ran the place in F8 mode.
The parts move as expected.
Run 2 - I ran the place in F5 mode to see how it behaves in a real-world scenario
This is what the client saw. As you can see, the yellow part (moved using BodyVelocity) is trailing behind the purple one (moved using CFrame manipulation).
Finally, this is what the server saw. The parts move as expected.
(Note: the yellow part trailed behind because of a hiccup created when I started screenrecording)
I would like to know if this behaviour is intentional or not and how should go around this problem. I want the client to see exactly what the server sees.
Edit: constraint movers have the same problem.