Control Rig: keeps considering itself at zero world space

Think about this example:

You have a full body control IK applied on an arm with one controller on a finger.

the controller’s translation is linked to a BP which we can manipulate in the scene.

The control rig and the controller are then moved in the scene away from zero coordinates, but for some reason the control rig completely ignores the controller and messes up unless the controller is moved near its original zero space coordinates.

Its as if the controller is not moving with the rig under the hood in the scene, creating a strange offset.

Has anyone come across this by any chance?

I can provide more info with samples if someone can help.

Thank you in advance!

Whars the setup details / are you sure the controller moves with?
Can you not just add actor location to it?


I figured it, I should add a “world transform” node in control rig coming out of the variable. Just got lucky after hours!

I wish Epic douments this stuff and I hope their videos are focused on working versions of UE instead of UE5.

Don’t count on it.
I’m still waiting on proper groom documentation…

nothing to say , i cross my fingers and hold my breath and hope x feature works as intended . i have no idea where epic’s direction is going. this engine is confused what it wants to be, a game engine, a movie rendering engine, or you name it, lets hope we don’t get confused with it either.

i dont know about you, but i wont even bother with grooming… stick with well known old methods. if you really need quality hair stick with offline methods, nothing beats that.

Groom has potential. It’s just unfinished af and they called it “finished” anyway.

As far what I do… hair cards all the way for games. And even for cinematic level stuff really.

In blender.
Bake an hair render from a groom into a hair sheet. You’ll get the most realistic look possible.
Then create and place the cards.
Top it off with a flow map. So that light isn’t bad.

And then still deal with hair rendering engine bugs anyway… so custom material all the way with textures right from Blender.

I have been regarding control rig much the same way.
The difference is its not abandoned yet - like everything else that could have been good was:

Virtual textures.
Sky atmosphere / clouds.
Ray tracing (to the point that just use an old invidia branch instead).
Procedural foliage? Wtf is up with that still in beta?

There’s a billion more similar abandoned things in the engine that if they actually finished and documented properly would make the engine good despite

  1. lack of support.
  2. lack of listening to user feedback.
  3. lack of listening to bug reports.
  4. the busted rendering pipeline that’s cause performance to go out the door for a year.


I understand Groom has potential but I know it wont run on any rig unless you want to seriously sacrifice performance in a game for a hair that wont even look half as good if you’ve done it by cards.

And if it is for VFX or film, then like I said relying in an offline renderer to do just that would be the less risky and better looking choice.

Grooming is hard enough to get right in offline VFX rendering let alone running realtime with all the bugs and lighting issues that come with it and you would still have a medioccre looking hair.

Neither Grooming nor Raytracing is mainstream or affordable or practical to do these days in any serious game indie or AAA. Its too much risk and comes with pitfalls and compatibility issues.

It’s never a good thing when tech is rushed just to create new buzz words so that people buy new hardware for it and end up not living up to the publicity.

Meanwhile we got a million shortcomings in animation, dynamics, structs, workflow in general etc. that need to be ironed out before any of this is invested in. Keep the rest of such things in the back end in the RnD department.

We are getting constant UE5 stuff uploaded when its barely early access still and most of us are still on version 4.

For example we’ve been asking for animation updates since foreverr only to find out most of them have been implemented in UE5 and UE4 completey neglected. So if i have a project today I need to suffer with current tools shortcomings and by the time i’m done maybe UE5 is on a somehwat stable version ready for production and its got that one tool that i need that i 've been asking for 3 years in 4.

But I get your pain, we all share it.

1 Like

On a slightly more important but mostly more related note.

Does control rig perform well enough to justify swapping the leg IK built 2+ years ago that works on anything at all from C++ to control rig?
Or would I too be focusing on making what essentially comes down to a vanity plate?

Answering my own question here.


Basic IK in Control rig in .27 just doesn’t work right.
Twist bones are slightly skewed giving very bad results

FCCK doesn’t seem to have a pole vector to it.

So, implementing proper IK with control rig in .27 is impossible / or you have to manually handle the rotation of the twist bones, which leads to trash performance compared to older C++ based solvers.

I couldn’t get any pole vector to work correctly on any control Rig IK system.

I wish I could use the old IK system but I am creating a tail bone or multi chain bone and they don’t give me that control I need to manipulate them or twist them.

Any multiple IK handle solution onto control rig is also messing up the chain with unpredicatble results.

It’s a bit frustrating.

Considering they kept presenting it as “ready to go” for the last ■■■■ year.
Yea. Frustrating doesn’t even start to cut it.

“Ready to go” - “Beta version” lool.

Here’s another funny thing, it took me half a day to figure out why I don’t have “full body IK” node in my control rig when all the videos show its there! I finally figured out by chance that its a plugin on its own!! – in Beta of course lool

And did that make any difference? (Doubt it)…

I’m still on the quest with little results so far.

Maybe I should hire a programmer and have him write me a custom IK with all the functions I need.

It’s strange I counted some dozen IK types in UE4 and none of them does what I can do in a minute in a 3d app.

What are you trying to do?

The bodes work fine in regular animation blueprint.

Exactly this:

Spline IK, Stretch, control over rotation of each section, rotation of X children bone incrementally by parent handle, Controlling all this via BP. Ability to have Additive animation support over the current setup (dynamics, animdynamics and any extra layered animation) this usually can be done via AnimBP but control rig doesn’t seem to like additive aniamtions from the tests so far.

This one’s another example:

What you have shown really just looks like single bone trasforms.
Have you co sidereal that even with control rig you can move a single bone at a time? No ik chain involved?

Look closer.

What i have shown I haven’t seen a single example of anywhere online sadly inside UE4.

Its a spline IK system which moves multiple IK joints with one or multiple controllers placed on the joints of choice, the rig should also rotate multiple chains based on a single controller for both local rotations incrementally as well as facing rotations in terms of direction of the controller, on top of which the bones should stretch to follow the controllers.

So far I only got half way there for a snake and to control the snake the chain rig is becoming either unstable at times and rotations are non-existent. For example I want to also be able to rotate its head whiel affecting the chain dynamically like a normal spline IK setup should.

I’d have to test this, but in control rig ccdik and a control that directly modifies the head bone should get you the head rotation and spine reaction you are essentially looking for.

At the very least, the ccdik node works when setting up a long list of items. and it allows you to start from the tail, which is how I normally set up the item chain (root to tip).

Now when you also set up rotation limits you should be able to rig a moving snake no problem.

Still, I don’t think this will work like I would want it to at runtime…
A snake should be modifying the animation’s Z positions of the bones to slither on any elevation… That’s one trace per bone to get a well placed result.
And each result should cause the rest to adjust.
If that’s what you are going for I’ll have to actually think on how it would be best implemented…,…