How do I use the NLA editor with Linked characters? Can you use the NLA on linked objects?

I have a blend file with a dancing mech. I'm trying to get him to wave during the dance (yes, I'm making a parody of the Band of the Bold video), and it works great when I work within the file where I created the animations.

https://gyazo.com/25eee6276d325a0a093bd6d1f99ea5a6

This also works fine if I Append the group to a file, and then Link the animations into the file.

However, when I Link the mech with the armature, animations, etc into a new file, it doesn't seem to be able to swap/add the animations.

https://gyazo.com/958d112d81e4aec6a0bbcacc171def62

For the one that is working, the Actions in the NLA get applied to the Armature. For the linked version, it gets applied to the proxy (and of course you don't see all the components in the Outliner, because it's linked).

I can Append the group to a new file, and then Link the actions and use them that way. But I really want to Link everything, so if I need to make a change to the model, I don't have to re-import it into the scene.

Is it even possible to link an armature/object/group, and apply actions to that linked object in the NLA?
Many, many years later ... having just stumbled-upon this never-answered thread .. I think that I can offer a practical solution (based on current software):


Define the "dancing mech," in the library blend-file.
In that same file, place everything – including any armatures, actions, etc. – into a "group," so that external files can reach everything by linking only to that group.
In the external file, link to the "group."  (You will be rewarded with an object that you can, for example, bind to a path with an appropriate constraint, but that you cannot animate or otherwise edit.)
Now, select the group and "Make Proxy."  This will create a new object named "GroupName_proxy."
In the NLA Editor, you should now be able to select the proxy-object, Edit..Insert that object, and insert your NLA actions into that strip.


In Blender parlance, anything that is "linked" (from an external file) cannot be "edited," unless within the current file there is a "proxy" which can capture and therefore contain the changes within this file. Alas, years later, Blender's user interface still falls short in making any of this easy and obvious.