[Workaround] Modular Rig — Fix unpredictable translation axes in Sequencer Curve Editor after rotation

When adding a module to a Modular Rig (e.g. the Arm module), Unreal generates a set of controls automatically — for example hand_ctrl and arm_pv_ik_ctrl. These module-generated controls expose a Parent Control connection in the Connections panel, which defines the reference space used for translation values in the Sequencer Curve Editor.

Additionally, the Parent Control connection cannot reference a control generated by the same module — you cannot assign hand_ctrl as its own parent.

The issue: once you keyframe a rotation on one of these controls, its translation axes (X/Y/Z) in the Curve Editor become unpredictable. They don’t follow the control’s new local orientation — they stay frozen in the parent space captured at rig creation time. This makes curve-based animation for combined rot+trans movements (e.g. rotating and repositioning an IK hand) unreliable without resorting to high frame rates and dense keyframe timelines.

In this case, it’s probably best to create a specific control that will act as this modules parent to keep track of the rotation and alleviate issues in the Sequencer Curves.

To do so:

Right click on the control you want to parent in the Rig Hierarchy (in this case hand_r).

Add a new control and name it something like hand_r_copy.

This will create a new control in the rig hierarchy with no parent, but with the Transform of hand_r:

You can now go into the newly created control and change its shape to be just like the original hand_ctrl:


You will know want to setup the module details to update the parent and update the visuals of the original hand_ctrl.

Hide hand_ctrl in the details panel by unchecking selectable.

I have made this small clip to show the difference between the way the curve sequencer behaves with and without this:

You can see that in the case of the left hand (blue) without the fix, if I apply a rotation, then the curve sequencer basically becomes unusable to do small modifications as it does not follow the current rotation on hand_l_ctrl.
Whereas the right hand gets updated with the rotation properly and follows the local axis.

Oh also as note, I think you have to delete and re-add the control rig to your skeletal mesh in the Sequencer for the effect to be taken into account.