The reload animations looks nice and all but in a multiplayer game it is not useable.
I think for a multiplayer the mag would have to be a separate object that is handled as in the real world.
A solution I am working an is:
1. Mag is own object but perhaps it doesnt need an armature, it can be attached in Blender to a bone using an object constraint (but works with araature as well)
2. Unloading in Unity is just detaching from the weapon and using real pyhsics (Rigidbody) to let it fall onto the floot
3. Loading is attaching the mag to the player's left hand (some pos and roatation as in Blender) but there is not exported animation for the mag, it's all done in C# scripting in Unity.
What do you think about this solution?
I think you could still use the same animation workflow and the same rig, but separate the magazine as a different object like you mentioned. At the point where it's offscreen, you could make it invisible and swap it out for a rigid body one that's launched in the direction of the throw, then make it visible again as the character reaches into his pocket or wherever you want to pull it out from. The rigid body one doesn't have to be the same object - it could just be an instance. That way you have more control of it during the animation and you could throw as many as you want around the level. I'm sure there's a lot of different ways to do it, but it sounds like you have it covered!