How does blender's workflow with shared skeletons work?

Let’s say I have two characters who share the same skeleton/rig. When I make an animation on one character, I want that animation to be available on the other. I have the rig+skeleton in its own file, and the two character models in their own respective files.

Am I supposed to link the rig from the rig file to each of the model files, library override it, place an armature modifier on the model pointing to the linked rig and start animating?

When I make an animation like this in the model file, will that animation be stored in the rig file, and so can be used in the other model file? Or is this the wrong way to do it?

Not sure off the top of my head if a linked rig will also link any actions that rig is using. It might depend on how you link it (link rig object only, vs. link a collection containing that rig.) It’d be a simple enough test for me, but no simpler than for you.

However, once you have an action in a file, either from animating a different copy of the rig or copy/pasting an armature in or anything, you can assign that action to any rig using the dope sheet on action editor mode. From that same viewport, you can also push the action down or stash it to make an NLA strip you can refer to. An action is its own block of data, independent of an armature, and can be evaluated on any armature (but if an armature doesn’t have bones with names that the action refers to, the action won’t do anything.)

1 Like

I’m trying to make it so that if I make changes to the armature, those changes would apply to everything using that armature, so copies wouldn’t work. I think linking would be the only way, I’ll try it

Maybe it’s better to link the characters to the rig file instead and animate there

The action is different than the armature. Changing the armature won’t change the action. The armature can be linked and the action not linked; the action can be linked and the armature not; etc.

1 Like