I am working in 5.6 with the UMoverComponent for player movement. I noticed that even with the Simulated Proxy Network LOD setting on “Forward Predict”, simulated proxies never execute any code in the active movement mode’s SimulationTick implementation. I confirmed this by simply having a UE_LOG output at the start of the function, and it was only output on the server and autonomous proxy.
I’m a little curious now how forward prediction works if they are not simulating any movement, since SimulationTick is where the updated component is actually moved and any collisions handled. Is it literally just an extrapolate of the last known velocity?
It also means simulated proxies are missing information that the host and autonomous proxy have access to within the mover component, like the floor currently being stood on. I believe it may also be causing some annoying judder when players are moving fast, if they are not properly simulating gravity between server updates.
I couldn’t find anything in the documentation regarding this, it seems to imply that simulated proxies should run this code if they are supposed to be predicting.
Ok I got an answer on the Discord. It seems like the issue is that forward prediction isn’t implemented in the Network Prediction Plugin and development on it has stalled in favour of the Chaos backend which is what Fortnite uses.
It seems like the way forward now is to migrate my mover component to use Chaos instead of NPP.
Check Preferred Ticking Policy: If this is forced to Independent or Fixed with interpolation overrides, it can bypass per-actor Forward Prediction.
Check Simulated Proxy Network LOD: Ensure it isn’t set to Interpolated globally.
2. Check the Mover Component’s Local Network LOD
On your character’s UMoverComponent (or liaison component), check the Simulated Proxy Network LOD setting:
Interpolated (Default): The local client does NOT run SimulationTick for other players. It simply receives the server’s authoritative SyncState and smoothly interpolates visual transforms between snapshots. This is intentional to save CPU cycles!
Forward Predict: The local client WILL execute SimulationTick for other players, extrapolating their movement based on their last received inputs/velocity.
3. Why Floor / Ground Trace Info might be missing on Simulated Proxies
When a Simulated Proxy is set to Interpolated, it intentionally skips local physics sweeps (floor traces, step-ups, collisions). It relies 100% on the positional snapshot replicated from the server. If you need floor information or custom state on a simulated proxy while running Interpolated, that data needs to be replicated via your SyncState or AuxState.
Don’t abandon NPP for Chaos just yet! Check your Mover Component’s Network LOD settings and ensure Forward Predict is enabled both globally and on the component level.
Hope this clears things up! Let me know if setting the LOD explicitly gets your simulation ticking!
Promise I won’t bite! xD
[My translator added some fantastic wild assumptions xD that’s why there is 4edits]