Drive Control Rig controls at runtime?

Is it possible to drive controls in a Control Rig at runtime? I don’t want to use Sequencer as this is a gameplay element and I want the rig to be live during gameplay. I know you can put a Control Rig node in an animation blueprint to use the rig but how would one drive the controls of Control Rig such as from an external blueprint at runtime?

Hi Chad,

I have the same question! I’d like to expose the Control Rigs at runtime, I’d like to manipulate the bones of a character, to create a pose, save the pose and export it to a csv file.
Did you have a solution you’d like to share with me? It would be very helpful!
Otherwise, any ideas, advice… are welcome!

Thank you!
Stay safe and well!

Hi guys,
Exposing control rig’s controls at runtime would not be so difficult by using variables parameters.
But i’m wondering how to save a pose as an 1 frame anim sequence…
If someone has a workaround for this, it would be very helpfull.

maybe 4.26 support

same question as you,have you sloved this problem?

It is possible to do this!

In your control rig there is a window that was hidden by default for me. When editing your control rig, go to Window > My Blueprint. This will open the usual dialogue that allows you to add variables and functions to your control rig. I created a vector variable to hold the desired position of my control.

Then in the Rig Graph I get that variable and feed it into the location pin on a “Set Translation - Control” node which is set to handle my control.

The kicker here is to click the variable in the ‘My Blueprint’ window and then over on the variable details panel, check “Instance Editable”. This allows the AnimBP to change the value of this variable:

In your AnimBP, add a “Control Rig” node and set it to use your Control Rig class. Since you made that variable “instance editable”, you should now see it listed underneath the “input” section in the details panel. Tick “Use Pin” there to expose it as an input, then you can feed in your desired control location and update it however you usually update data in your animation blueprint. (For me I have a skeletal mesh component in my blueprint so I “Get Anim Instance” off the skeletal mesh component, casting it to my AnimBP type and running a setter function that I have added to the AnimBP):


Thank you, really helpful