4.12.5 source build (source build required for latest GVR plugin patch - no local changes)
When using a character (AI) with Root Motion from Everything set, setting bPauseAnimations on the character’s Mesh does not actually pause the animation instance.
100% repro.
Code details:
UCharacterMovementComponent::PerformMovement is calling TickCharacterPose (line 1856). When root motion is enabled as above (and probably during a montage when that enum is used), HasRootMotionSources() and IsPlayingRootMotion() always return true.
A fix that is working for us: In ACharacter::IsPlayingRootMotion() add within the if(Mesh) block:
certainly. As mentioned, the fix was pretty straightforward for us, though it could use some heavier testing with systems that actually use root motion more extensively. Should that go through a pull request, or just link the info to into UE-36193?
I have an internal comment noting that there is a possible solution in the Answerhub post. Just like pull requests, they’ll probably review the solution you’re using and see if they want to do it that way or some other way.