Description

Several ability tasks used to apply root motion sources on Characters have ordering problems between on-completion style events and ::EndTask / OnDestroy. UAbilityTask_ApplyRootMotionMoveToForce is a prime example.

In cases where project code/script wants to specify a movement mode during the task (via bSetNewMovementMode & NewMovementMode) and also manipulate the Character's movement mode after the task is complete, we have a timing conflict:

  • the OnFinished is broadcast BEFORE EndTask is called, so game code's movement mode change takes place early
  • later, when EndTask is called, the task restores the original movement mode from when the task started, blowing away whatever was set during OnFinished

This pattern may also have propagated into internal Epic project code.  It would be good to survey them.

Have Comments or More Details?

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

0
Login to Vote

Unresolved
CreatedMar 22, 2023
UpdatedFeb 16, 2024