In a networked environment with high packet loss (or high forced adjustment factor), motion applied using Root Motion Sources can desynchronise under conditions that animation root motion does not.

With high packet loss, desynchronisation can and will still occur in both approaches.

Steps to Reproduce

Licensee Steps:
In Lyra's L_ShooterGym

  • "Play as a client" net mode
  • Network emulation set as everyone with min and max latency of 100 and 0 packet loss.
  • Use "p.NetForceClientAdjustmentPercent 0.2" to force some corrections.

If a correction happens during or right after the dash is finished (dash by hitting the shift key while moving), the player will be teleported forward then backward.

My repro steps (Packet Loss, so animation root motion can also be affected):
In Lyra ShooterGym:

  • Set Netmode Client
  • Emulation (100, 100, 10) for the client (100, 100, 10) for the server OR Preset Bad
  • No forced client adjustment amount.

In both cases, the root motion driven animation montage is affected less by the packet loss/forced adjustment. The synchronisation at the end of the root motion source (AbilityTask_ApplyRootMotionConstantForce) approach is most noticable in the Licensee's steps, but can occur without forced adjustment.

Have Comments or More Details?

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

Login to Vote

ComponentUE - Gameplay
Affects Versions5.3.2
Target Fix5.5
CreatedFeb 13, 2024
UpdatedMay 28, 2024
View Jira Issue