Hello,
Thank you for taking the time to look into this issue.
When a character has both a Control Rig track and an Animation track, interacting with any slider in Sequencer can be interrupted.
Explanation:
- The slider sends a value change event: https://github.com/EpicGames/UnrealEngine/blob/5.5/Engine/Source/Editor/MovieSceneTools/Private/CurveKeyEditors/SNumericKeyEditor.h#L134
- Sequencer then clears the cache for all its objects: https://github.com/EpicGames/UnrealEngine/blob/5.5/Engine/Source/Editor/Sequencer/Private/Sequencer.cpp#L2669
- The EntitySystemLinker invalidates the objects: https://github.com/EpicGames/UnrealEngine/blob/5.5/Engine/Source/Runtime/MovieScene/Private/EntitySystem/MovieSceneEntitySystemLinker.cpp#L233
- UMovieSceneGenericBoundObjectInstantiator unlinks invalidated objects: https://github.com/EpicGames/UnrealEngine/blob/5.5/Engine/Source/Runtime/MovieScene/Private/EntitySystem/MovieSceneBoundObjectInstantiator.cpp#L38
- UMovieSceneCachePreAnimatedStateSystem restores PreAnimated data: https://github.com/EpicGames/UnrealEngine/blob/5.5/Engine/Source/Runtime/MovieScene/Private/EntitySystem/MovieScenePreAnimatedStateSystem.cpp#L135
- The AnimInstance layer is recreated here: https://github.com/EpicGames/UnrealEngine/blob/5.5/Engine/Source/Runtime/AnimGraphRuntime/Public/AnimCustomInstanceHelper.h#L178
- Control Rig is rebound here: https://github.com/EpicGames/UnrealEngine/blob/5.5/Engine/Plugins/Animation/ControlRig/Source/ControlRig/Private/Sequencer/MovieSceneControlRigParameterTemplate.cpp#L609-L612
- This triggers a tree refresh here: https://github.com/EpicGames/UnrealEngine/blob/5.5/Engine/Plugins/Animation/ControlRig/Source/ControlRigEditor/Private/Sequencer/ControlRigParameterTrackEditor.cpp#L3729
- Which is caught by Sequencer here: https://github.com/EpicGames/UnrealEngine/blob/5.5/Engine/Source/Editor/Sequencer/Private/Sequencer.cpp#L2615
This results in the slider being reset (a reconstruction occurs), which can also lead to a stuck undo buffer as described here:
[Content removed]
This chain of events is not 100% deterministic and seems to depend on initialization order.
Muting and unmuting the Animation track makes the issue disappear.
In the opposite, muting and unmuting the Control Rig track makes the issue occur 100% of the time.
Thank you for your time and support.
[Attachment Removed]