Description

If a player possesses a moving NPP-simulated pawn, there is some kind of logic problem where a reconciliation immediately is triggered, and resimulations keep streaming for a long time.

This problem does not occur if the newly-possessed pawn is not moving during the handoff, likely due to the state buffer matching on all frames so no reconciliation is needed, regardless of frame math errors.

Steps to Reproduce

Use TestMap in NetworkPredictionExamples

Add a NetworkPredictionExtras_FlyingPawn_MockAbililty as an actor into the map

Make the pawn automatically move by setting its "Input Preset" to "Forward" from the Details panel

Add a mechanism that allows a client player to unpossess its current pawn and possess the actor you placed.  This could be via input, trigger volume, etc.

  • See the comments below for a block of BP logic that can perform a swap from a trigger volume event.  You can adapt it in to the level blueprint and add a few variables to fill in for the missing ones.

Play in PIE as a client

Trigger the possession change while the placed pawn is moving forward

Observe a stream of resimulations caused by an immediate reconciliation.

 

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-202651 in the post.

1
Login to Vote

Backlogged
ComponentUE - Gameplay - Network Prediction
Affects Versions5.3
CreatedDec 14, 2023
UpdatedFeb 13, 2024
View Jira Issue