In the attached project, when we initially add a control rig track for the actor with multiple skeletal mesh components, we add the control rig for the correct component because FControlRigParameterTrackEditor::AddTrackForComponent iterates over all components until one is found with a default rig.

However, on restarting the project and re-opening the level sequence, we attempt to add the control rig to the wrong skeletal mesh component.  This then breaks the sequence so the control rig no longer drives the mesh of the actor.  It seems this is because FControlRigObjectBinding::GetBindableObject will return the first skeletal mesh component found which may, or may not, be the one referencing the control rig.  It also seems that FindComponentByClass is non-deterministic, when the project is run in 5.1 the second skeletal mesh comp is returned but in 5.2 the first mesh comp is returned (which contains the reference to the control rig).

Changing FControlRigObjectBinding::GetBindableObject to iterate over all the mesh components until a default animating rig is found seems to resolve the issue but this doesn't feel like the correct fix.

Steps to Reproduce
  1. Open the attached project in 5.1
  2. Create a new empty level
  3. Create a new level sequence
  4. Drop bp_multipleSK into the level
  5. Add bp_multipleSK to the level sequence
    1. Note how the control rig track for cr_testrig is added and the mesh can now be animated
  6. Save everything in the project and restart the editor
  7. Reopen the empty level and the level sequence
  8. Attempt to animate the mesh using the control rig track
    1. Note how the control rig no longer drives the mesh
    2. If you repeat these steps in 5.2 the bug no longer occurs but it seems that this is just due to FindComponentByClass being non-deterministic rather than a fix having been implemented (see description below)

Have Comments or More Details?

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

Login to Vote

ComponentUE - Anim - Rigging - Control Rig
Affects Versions5.1
Target Fix5.5
CreatedApr 4, 2023
UpdatedFeb 16, 2024