How to sync moving platforms in multiplayer

Apologies for bad english. Im trying to figure out how to make moving parkour platform in multiplayer. I want my platform moving infinitely from A to B, B to A and so on. My logic i have figured out so far is rather simple.






Basically server starts platform movement as soon as being play is fired there, but client might and will join later, so each tick server sets PlaybackPosition and LastSyncTime, which are replicated with condition initial only, meaning clients will get these values only once when initialized (correct me if im wrong, at least idea was that). PlaybackPosition i need for clients to know where to start Timeline so they are in sync with server, but i also try compensate network rtt using GetServerWorldTimeSeconds and LastSyncTimeStamp on client. I use network simulation average on clients only, which, imo, is not a big deal, and to my eye platforms moving perfecly in sync on both server and client, tho i know even with my compensation it is not, but i expected way better results with that approach, but if i try to jump on moving platform, while playing on client i get jittery as soon as i touch it, as it performs lots of network corrections. I would also appreciate if you share some good and free unreal network resources so i can solve such issues on my own in future, thanks :blush:

The best way is to set the location on server and let de unreal handle de replication. Set position on client too generally does this bug of mini teleports. Just turn on replication on blueprint and the problem will be probally solved. I don’t remember right now but you maybe need to active “replicates movement” too

Movement of platform will be jittery on clients then, as there is no way you can replicate it fast enough for it to look smooth

There is something wrong with your code or blueprint because replication is fast enought to look smooth. A have dozens of basically the same motion that you have and i not facing any issues, Did you check if the net relevancy is too low on this blueprint? The event is marked as reliable? And if you will rely on the replication, you can’t set de location on client since this can cause jitter

Platform by it self moves smooth, the only problem happens when client step on it while its moving it causes movement component network corrections and im wondering how can i workaround that, cause, as i said it looks jiterry using replicated movement and making it replicate more frequently doesnt seem reasonable