Problem with constraint/driver priority

I am having problems with part of a rig I am making. One arm of the character is holing a spear, but he also needs to be able to set it down, lean on it, hold it with both hands and also let it go completely. So, I made a slightly complex system mainly using additional bones and the Copy Transforms constraint.
The setup works fine, but the problem is that the spear in some cases lags behind by 1 frame. I am pretty sure this is because of the order in that the constraints or drivers are executed. Is there a way to controll the execution order of that on different bones?

I cannot upload the original file because of the model, but I recreated the problem in a simplified setup.ExampleFile.blend (490 KB)

The armature has a custom property for controlling the different modes.

Appearantly the problem is that Blender detects a dependency cycle. Technically there is one, but the various constraints are never enabled at the same time. It produces the lag unless I disconnect a certain parent connection. Is there a workaround for this? My next best option would be to add another two IK constraints :confused:

This may be your issue https://developer.blender.org/T40301

Hmm, ok. Guess I have to take the long route then, thanks :slight_smile:

Here is how I do it: https://www.youtube.com/watch?v=oz24ybWdmEI&t=1s

Part 1 is an overview. Part 2 covers creating the rig from the ground up. Part 3 has animation tips on how to do a switch over a single frame.

Good luck!

@DanPro
Cool, thats exactly what I have been trying to do. Nice to see my idea wasn’t all that wrong :smiley:
I guess my error was just that I created a huge cycle by creating the different setups for left and right hand. If I leave out the posibility of the left hand holding the weapon I should be fine then.