Hello
I have an unreliable RPC send every frame on tick in character. According to documentation by default it’s supposed to be send at the end of the frame in the next net update call, but most of my packets end up with 2 instances of that RPC. Any idea what is this about? I checked the movement component RPC and that is send only once…
Here is a screenshot from Network Insights
PS. I’m using 5.3
From what I can understand, it seems to be caused by client and server framerate difference.
The client has a higher framerate, so it schedules more RPCs per second, but the packet sending frequency is determined by the server’s framerate.
PS. Still no idea why there is only one MovementComponent RPC per packet in this case.
Check your ClientMoveSendDelta
. Should set it to 60hz (0.016)
Engine DIR/Engine/Config/BaseGame.ini
[/Script/Engine.GameNetworkManager]
ClientNetSendMoveDeltaTime=0.0166
This handles the frequency as to how often the client sends movement updates.
Also PIE Advanced settings set your Server to a fixed FPS. I run 30Hz on mine.
RPC’s get bundled. They’ll also get packed with movement data.
Do a search for the RPC Call event (blue node). Make sure there isn’t another tucked away somewhere firing.