Download

There must be a way to force variable replication on every frame!? But how?

I have a set of variables that represent VR hmd+controller location and orientation and I really want them to replicate at each frame/tick.
Of course the pc vr standard is 90hz.

But it doesn’t seem to matter whatever I do Unreal neglects to send certain frames. But I’m thinking there must be a way to really force UE to send those little buggers. Or?

Things that Iv’e tried,

  • All current tests over LAN.
  • Both RepNotify and Multicast.
  • Checked that I don’t have really high bandwidth use.
  • Tried different and including over-the-top values in DefaultEngine.ini (see below for current setting).
  • I know that the numbers in the variables did change on those frames as I compare with Auth using video capture.
  • Using the force net update node just before and after setting the variables to get replicated.
  • Changing the numbers in the Pawns Network settings, Min/Max Net update freq, net priority.

This is very frustrating as I feel it really should just send those variables and I have run out of options to nudge the engine to do it.

Any more suggestions?
Is it possible to give the Engine an offer it can’t refuse?

net_settings1.png

net_settings2.png

Cheers
Fredrik

Thanks for the suggestion!

Just tried it but unfortunately didn’t work.

Hey still the same problem hmm. I thought you were able to fix it temporarily with the force Net upate? Anyways, as all this is not working, is it not possible that tick rate is the problem?
What about setting min tick rate for server and client?

Yeah I thought that was enough and maybe it was at the time. I’m now looking closer at the general tick rate situation and it seems very possible you’re right.
I spent some time recently to optimize both CPU and GPU times and I thought I had it under control which is why i didn’t consider it. Seems I probably hadn’t.
I’ll update this post later when I know more the details but it might indeed be a general tick update issue.

To have something replicate literally every frame is to ignore all hardware behind this planet’s networking altogether.

Firstly, the server can send X updates (MaxTickRate/MaxUpdateRate/Netspeed etc.), but the clients will always receive fewer updates due to unavoidable packet loss and latency times. UE4 also has buffers which will trigger log entries if they send/receive more updates than they can handle (highly unlikely, but possible).

Secondly, according to Ryan Gerleve, replication only occurs when values are changed (here’s the source: Training Livestream - Understanding Replication in UE4 - March 21 - Live from Epic HQ - Events - Unreal Engine Forums ). This could also explain some of your “missing” frames.