[Pro Tip] Double Controls.

This is a thing that someone told me last year, and then when I started working at a big studio, realized pretty much every big pipeline has it: and it’s double controls, something that free rigs on the internet usually don’t have as far as I’ve seen, probably because Maya has ANIMATION LAYERS, which seems like something we’ll never get in Blender or at least not in the next year or two… (#animation2020 ??), but the point is that before animation layers existed double controllers were already there, and some pipelines don’t even support animation layers but double controllers don’t need support, they just need to be made.

So this is a workaround that you can do on your rigs to try to mitigate the necessity of animation layers, it’s not really perfect and it’s slow to create and you have to be careful not to break your rig when making it, but it’s totally worth it. also this combined with animation layers is even better, but anyways y the idea is that you create (at least in the most important controllers if not in all of them) double even triple controllers like I’ll show you now.

How do these benefit your work, tweaking animation can be tough so it helps when you need to do adjustments without completely changing your animation, also some people use the main control  them to do details or to keep axes separated

I’ll do it for one hand here, but it’s exactly the same process for every control… I should learn to script a tool to make this a one button process… or maybe any dev out there wants to help me out 😀

So first, pick the hand you want to create an secondary or “offset” control for.

Select the control and unhide everything from the other layers, this is more in preparation for later.


Duplicate the bone with shift+d and then cancel the operation by pressing esc on your keyboard, this way, the bone is duplicated but it stays in the same place of the original one.


Rename the name to something useful like “hand_ik_offset.R” or “hand_ik_secondary.R”


Now parent the “offset” bone to the original one, and then parent the children of the original bone to the offset one.


Now go back to pose mode, and select the bones / controllers that have constrains pointed at your original controller, paste the name of the offset controller, nothing should jump or change since they’re both sitting in the exact same place.


Now we’re pretty much done, test it:


As a final thing, you could make the offset controller a bit smaller to have some visual hierarchy.

Boom!, now to do the rest!, I’ll do the ones I always feel the need for: hands, torso, chest, head, feet and the ROOT, don’t forget about the root, that’s it!.

So if you go nuts and decide to create an add-on to create these faster, let me know I’d love to use it. Turns out someone created and add-on for this blazing fast!, Patrick O. Ehrmann‏, found on twitter as:  liked this little trick and was kind enough not only to make an add-on for it but to share it with everyone:


Don’t forget that even if you have a one button solution is important to know WHY you’re doing it, which is the purpose of this writeup.

Now go animate and when you use your offset controllers you’ll be very grateful 🙂


5 thoughts on “[Pro Tip] Double Controls.

  1. Question, when you parent the offset to the original one, why isnt the offset following the original exactly? Did you turn of rotation in the parenting settings (object panel)?


    1. it is, following exactly, just with an offset, so it will when you rotate the parent, the child will always rotate from the parents pivot, but if you rotate the child, it will rotate from its own


  2. Hey, I actually made a script that does something like this a while back. I needed to pop a new bone into a chain a bunch of times and have it keep its children. SO I wrote a script that creates a new bone, parents the old bone to the new bone, and parents the new bone to the old bone’s parent. I can share it if you want, it’s simple but I’ve used it a ton.

    Liked by 1 person

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.