Reusing armatures within armatures? Is there a workflow like this?

Say I’ve got a finger armature setup the way I like, now I want to reuse that finger armature multiple times on the same character, deforming the same mesh. So I create five proxy armatures of it per hand.

A while later, I want to change how the finger rig works. So, I update the base finger armature, and all the proxy armatures used in the characters fingers are updated in the same way.

From what I understand about blender, this really isn’t possible because having more than one armature affecting a character doesn’t work too well. I’d love to hear otherwise, but so far, I haven’t gotten it to work. In contrast, (not trying to start a software war) Modo uses a nodal rigging system that lets you create rig assemblies that can be referenced and reused, and deformation effects stacked up on one another incredibly easily. Unfortunately, Modo is missing some key features that I need, so I can’t use it at this point.

I need to be able to make lots of different types of weird rigs and be able to change them easily in Blender.

The best solution I’ve come up with are python systems that essentially one shot generate a rig based on metadata, which is okay… but creating a lot of different blender object and python metadata to describe how a rig should function is time consuming, especially when rigs are only relationships between many seemingly disparate matrix transforms and object data.

I guess this is more a …woe is me I wish blender had nodal rigging and then it would be perfect for me… than anything else, but I do wonder if there is something simple I’ve overlooked… something that would make complex rigs easier to develop, change and maintain.

I’ve used multiple armatures on the same mesh with no major issues, it works as long as you make sure the influences (usually determined by vertex weights) are well-defined and usually segregated. My reason is to have a higher level of control over facial animation without having to rebuild my Othello rig setup every time I need to use it (many constraints employed!), but afaik there’s no reason in principle that it couldn’t be done with any portion of a mesh. But managing the various rigs within rigs is not a trivial situation, and I’d recommend that it not be used as you suggest, for many small mesh portions like fingers, hands, etc. There are a lot of considerations beyond vertex weighting, including how to set the entire rig to rest position at the same time (rather than one rig at a time), how modifier stack order might affect the multi-meta-rig’s operation, and how much time you’ll spend switching from rig to rig just to set keyframes (this can be more than a small problem in some cases).

Have you experimented yet with building a few modular rigs and then using Join to consolidate them in various combinations? This wouldn’t allow editing the “template” to update the joined modules, but in my experience such modifications are more often model specific than general in nature.