I’m working on a simple character controller, the way I handled replication was via remote events, I send the updated data form the client to the server, the server validates it and sends it to the rest of the clients, the clients then interpolate the data so it’s smooth and not jittery.
But then I had an idea, what if instead of the server sending remote events to other clients after validation, instead, I’ll just let the server have a copy of the world and update it when it validates the data, and that way all clients would see it.
since even the one who sent the data would see it, I’ll just hide his server copy in his client side.
would that be faster, isn’t the server replication implemented with lower level constructs that might be more efficient that remote events?
If I had to guess there’s probably little to no speed difference in replication time. Also, moving or creating parts inside the servers workspace is most likely slower than just sending the data to other clients using remote events anyways.
I thought that too, due to physics synchronization stuff, but then I rememberd that all my parts are anchored, can collied off, can touch off, etc.
which begs the question, is replicating parts that don’t have physics interactions on them optimized from the server auto replication prespective? or perhaps not?
It might even be implemented using remote events behind the scenes (which will be funny lol).
Not sure honestly. As long as you’re not creating new parts every time a client sends an update to the server the performance difference will probably be small enough to not worry about it.
Native replication and remote signals run on separate pipelines, where the former prioritizes server and client performance while the latter prioritizes correctness. Roblox’s default character movement system, for example, replicates intentionally slower to avoid bandwidth usage.
In your case, you might be able to get away with rendering to each other client what position they say they are, but then take care of actual validation of the important aspects such as hitboxes and projectiles on the server.
So, to answer your question, remotes are faster in that they can send and receive stuff quicker, but replication is more tuned for slow-internet contexts.