Iris & Network Prediction Plugin Incompatibilities

Hi! We currently have a project making use of Mover, with the Network Prediction Plugin driving the backend. We’ve been looking into enabling Iris Replication for this project - however, the most notable issue we’ve found is that the Network Prediction Plugin is not supported by Iris, resulting in our Mover instances being completely non-functional. The issue seems to be down to the way the various replicated NPP types implement their `NetSerialize()` method - delegating the responsibility of serialisation to the Network Prediction World Manager.

I was hoping to gain some insight as to whether proper Iris support for NPP is on the roadmap? I’ve found a couple of other relative threads indicating that NPP development is mostly paused, though they’re from some time ago now. It’d be great to know if the answers from these posts have since changed:

  • [Content removed]
  • [Content removed]

Additionally, we notice that there’s a yet-to-be-implemented NPP LOD, ‘Simulation Extrapolation’. This LOD type is desirable for us to avoid events that happened on the server, occurring out of order on simulated proxies. Any plans for this to get added in the near/far future?

Kind regards,

Callum J

Steps to Reproduce
From a blank project:

  • Enable Mover and MoverExamples Plugins
  • Enable Iris Replication
  • Load `/MoverExamples/Maps/L_CharacterMovementBasics`
  • Start PIE via ‘Play as Client’
  • Observe character is unresponsive to inputs

Hi,

The information in those linked threads is still accurate. Work on Iris and Mover is ongoing, but at this time, we don’t have any sort of roadmap to share as to when Iris support may be available for the network prediction plugin and mover. The same is true for the Simulation Extrapolation LOD, as we don’t have any info to share on its implementation.

Thanks,

Alex

the incompatibility is confirmed on the staff side, the prediction types delegate serialization to the world manager through NetSerialize, which Iris does not invoke. that leaves mover instances without state on Iris connections even though the same content works on legacy.

the decision for now is binary, either keep legacy replication while using mover with prediction, or park mover until the roadmap delivers Iris support, with the blank-project repro as the gate for retrying each version.

you can also look at Iris Readiness Kit, an Iris replication plugin that gauges mover readiness before the switch: Iris Readiness Kit — Audit Your Project Before Enabling Iris Replication | Fab there’s a shorts playlist on iris filtering basics too: https://www.youtube.com/playlist?list=PLWrCzz951TwA