Summary
When animating a Control Rig in Sequencer, dragging a global/root-like control with the viewport transform gizmo can suddenly snap back to the drag-start transform when the control crosses the actor’s original placement transform in the level.
This only happens when Animation Authoring Settings → Auto Key On Release is enabled. Disabling Auto Key On Release makes the gizmo behave correctly: the control can cross the actor’s original position, and translation/rotation continue working normally.
The Sequencer toolbar auto-key button was enabled in both cases.
What Type of Bug are you experiencing?
Editor
Steps to Reproduce
- Create or use a Skeletal Mesh Actor / Blueprint Actor with a Skeletal Mesh Component.
- Add a Control Rig track for the skeletal mesh in a Level Sequence.
- Use a Control Rig with a global/root control that can move the entire character, e.g.
global_ctrl. - Place the actor at a non-zero transform in the level.
- Open the Level Sequence and enable Sequencer auto-key.
- In Animation Authoring Settings, enable
Auto Key On Release. - Select the global/root control in the viewport.
- Drag it with the viewport transform gizmo across the actor’s original level placement/origin.
- Observe that the control snaps back to the transform it had at drag start.
- Disable
Auto Key On Release. - Repeat the same drag.
- Observe that the control crosses the actor’s original transform normally and no snap occurs.
Expected Result
Dragging a Control Rig control in the viewport should continuously update the control transform and should not snap back when crossing the actor’s original level transform. This should behave the same regardless of which side of the actor’s original transform the control is on.
Observed Result
With Auto Key On Release enabled:
- Dragging the control works until it crosses the actor’s original placement/origin in the level.
- Once it crosses that point, the control snaps back to the transform it had at the start of the drag.
- If the control is already moved past that original actor transform by directly editing values in the details panel, viewport gizmo translation and rotation may fail immediately and keep resetting to the drag-start value.
- Numeric editing in the details panel still works.
With Auto Key On Release disabled:
- The same control can be dragged through the actor’s original transform without snapping.
- Rotation also works after crossing that point.
Affects Versions
5.7
Platform(s)
Windows
Video
Additional Notes
Reproduced in UE 5.8.0
I also observed the same behavior in UE 5.7 before upgrading to 5.8
I instrumented the Control Rig shape actor transform during dragging. With Auto Key On Release enabled, the shape actor crosses the actor original position for one sample, then snaps back on the next sample.
Example data from one run:
Actor original/world parent Y: 56.0
Before snap:
Control relative X: -4.79
Shape world Y: 60.79
Next frame:
Control relative X: 113.09
Shape world Y: -57.09
Another run showed the same pattern:
Before snap:
Control relative X: -0.65
Shape world Y: 56.65
Next frame:
Control relative X: 106.99
Shape world Y: -50.99
After disabling Auto Key On Release, the same probe showed no large jumps while dragging through the same point. The control relative X crossed zero successfully, e.g. from positive values through negative values, with no reset.
Suspected cause:
This appears related to the deferred keying path used by Control Rig when Auto Key On Release is enabled.
From source inspection, when Auto Key On Release is enabled, Control Rig drag interaction appears to defer keying until mouse release. During dragging, the Control Rig value is modified live, but the Sequencer channel is not updated immediately. A later Sequencer / Control Rig viewport evaluation may then restore the control from the old Sequencer channel value or pre-animated value, causing the control shape to snap back to the drag-start transform.
Relevant source areas may include:
ControlRigEditMode.cpp
FControlRigEditMode::MoveControlShape
FControlRigEditMode::SetControlShapeTransform
FControlRigEditMode::PostPoseUpdate
UpdateControlShape
EditModeAnimationUtil.cpp
FControlRigKeyframer
UAnimationAuthoringSettings::bAutoKeyOnRelease
ControlRigParameterTrackEditor.cpp
FControlRigParameterTrackEditor::HandleControlModified
Workaround:
Disable:
Animation Authoring Settings → Auto Key On Release
Keep Sequencer auto-key enabled if automatic keying is desired.
This avoids the snapping behavior in my tests.