Network movement replication on tick causing performance issues

Hello! I am sending my players position and rotation to the server on each tick, which is then replicated down to each client, so that they can all see where the users are at…

However, doing it in the TICK, is turning out to be too much of a performance hit. The characters seem jumpy. I tried putting a short delay (0.022) on each tick so it didn’t make too many requests each frame, but that doesnt seem to work.

What is the best way to only update the movement when things change? Keep in mind I am replicating a Pawn’s position, a mesh of the users head (HMD enabled) and the motion controllers…so thats 3 different updates happening on each tick.

Thank you!

If you are using Unreal replication, you don’t need to manually send the information every tick.
Just check the “replicates” checkbox and let the engine take care of it.

(However, it’s still important to send important actions to the server as server events and such!)

Hrmm, I have everything setup to replicate, however, unless I hit the custom event to do it myself, it does not update.

I can move around in the world with both players, but they don’t see eachother update.

Any ideas? I have replicate movement, and Replicates checked. Also net load on client is checked.

Thanks for your reply!

FYI, I am using a BP subclassed from a Pawn

IIRC there is a seperate option to replicate movement.

HTH

I think using a Pawn instead of a Character causes the Replicate Movement to not work the same. We have to send the data ourselves…but I am wondering, is there any more efficient of a way of doing it?

Currently I am sending a struct with all the data in one call, but its still a bit jittery on clients…server looks great.

short answer is you should use the character movement component in character unless you are better at building a replication system. Very hard to find info on this