Home Website Youtube GitHub

Can't animate root_ctl independent of rest of rig

Hi there, in working with Unreal’s root motion I really need to be able to animate the root_ctl independent of the character. As such I’d prefer to have the body_ctl and other IK move with the (top node) world_ctl rather than the root_ctl.

In the guide I’ve tried moving the body out from beneath the root which works for the body_ctl but the feet IK remain a child of the root_ctl regardless (not to mention building without a skeleton will create a disjointed skeleton hierarchy). I’ve also tried the space manager but this is more of a constraint manager than a space-switch so seems like a messy extra step.

What I’d really like would be add the world_ctl as a space for the body_ctl and feet IK but these appear to be hard-coded. Is there a way to access these options at the guide stage, or can anyone suggest a better solution?

(I’m on 5.0.4 beta 4)

1 Like

It is pretty useful to first look for help within this forum. There’s a lot already answered! :sunglasses:

2 Likes

I searched the forum for some time but it yielded no results. This solution not only doesn’t work, (the reference is not the top joint so won’t work for root motion in Unreal) but it creates extra unnecessary joints so is undesirable at scale in a realtime project.

Does anyone have an idea closer to the request? My controls and joint hierarchy are already set up as desired, I simply need access to space switching on the feet IK controls to get them under the world_ctl. I’m wondering if that’s too big an ask as the world_ctl is created during the build process so may have to resort to a post-script.

Well, my solution is indeed working and is used in production in many big titles. It doesn’t create any unnecessary joints, just adds a space switch on the component on top of the root one. mGear makes rebuilding the rig effortless. Sort out the problem in the way you create the rig, if you follow my “tutorial” you will be able to get the root motion totally independent from the hierarchy not even creating a post-script.

For anyone having a similar issue, the most elegant solution I found was to uncheck this box (pictured below which handily explains the issue I was having) on the top-level guide control, and rebuild with my own custom “world” control added above the root (similar to Milio’s approach) that can be used as a space for the body and feet IK, that way all current animations transfer seamlessly.

Screenshot 2025-04-26 at 08.43.09

I have suggested mGear update the included EPIC biped guide templates to support this by default to enable root motion here: Update EPIC Mannequin Template to better support root motion by default

Glad you found the way to do it!.

As in rigging, there are many different ways to get things done.
For me what I do with my approach is 100% working and without any additional steps, and I don’t think you need a specific feature in mGear to be able to animate the room motion for game engines.
In all my latest rigs I’m include a more animation-friendly feature for motion behaviour with a post-script. For this reason, all my rigs include guides and scripts, in case people find them useful somehow.
Cheers.