Description

Only certain sync state structs are intended to persist between frames. These are configured via MoverComponent's PersistentSyncStateDataTypes array.

There appears to be a bug in the way the standalone backend manages sync state between frames, so structs that are not in this list are carrying over indefinitely once they're added. 

This was found to cause a bug with MoverExamples' ziplining mechanic because it relies on the absence of a ZipliningState struct to determine whether to search for a new ziplining point or continue along an existing line.

 

 

Steps to Reproduce

Open any project that uses the MoverExamples plugin, such as QAGame

Edit AnimatedMannyPawnExtended so that it uses the "standalone" backend

Run PIE in 1 player mode in the L_CharacterMovementBasics map

Go to the area where vaulting/ziplining features exist. Swap your pawn for the AnimatedMannyPawnExtended one. It will be green.

Open the Gameplay Debugger Tool (gdb.Enable  on the command console) and select the local player's character, then toggle categories so that only Mover info is shown.

Operate the zipline

Note that after departing the zipline, the ZipliningState persists (visible in the GDT readout text)

Expected: ZipliningState should disappear after disengaging from the zipline.

Have Comments or More Details?

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

0
Login to Vote

Fixed
ComponentUE - Gameplay - Player Movement - Mover
Affects Versions5.6
Target Fix5.7
Fix Commit44158570
CreatedJul 16, 2025
ResolvedJul 18, 2025
UpdatedAug 8, 2025
View Jira Issue