Multiple models in the same FBX sharing one rig - Efficiency question

I did a few searches and couldn’t find an answer to this. Lots of talk of multiple animations in one FBX but not quite what I needed.

I have a set of models built and separated into pieces. gloves, arms, chests, heads/helmets, legs and boots. To rig them I stuck them all in the same position in the file (so 3-4 models all occupying the same space) and then applied all of my skeleton stuff. So basically I have a bunch of models all in a T pose occupying the same spot in my 3D modelling tool. The idea is that characters would be able to equip individual pieces of armor and have that represented on the character and have everything line up correctly.

I import into Unity and things work great! I can use mecanim to animate my character wearing specific pieces of armor by simply disabling the armor pieces I don’t want to see in the inspector. Everything lines up awesome and bonus is they all share the same texture!

My question is this:

How efficient is this when I actually start building a game around these models? If I have 8-10 sets of armor in one FBX all animated by the same rig will I see performance issues if I have 15-20 characters on screen all with different armor simply because they have different stuff enabled or disabled? Would it be better to have 8-10 armor types all as their own FBX with a unique rig for each? Is there a third suggestion that I haven’t thought of?

this is a good enough solution. but additionally, to avoid keeping unused meshes in memory, you can destroy (instead of disable) parts you want to hide.

performance lags also can occurs on model instantiating. model should load ALL objects on instantiate process. but if this lag can be hided with “loading” screen/animation or is fast enough - there’s no actions needed

Here is a way to make a model inside Unity use another model’s rig:

I recommend to do it it this way:

  1. If the equipment piece doesn’t need to deform (like a hat or bracer), then don’t rig it and just use it as-is as a child of a bone transform. Instantiated and Destroy when equipping/unequipping.
  2. If the equipment needs to deform, like clothing worn on the chest or boots, then rig it as you would any human model to the same rig (or at least the same kind, meaning the same structure and the same number of bones). Use the way described in the link above to make it use the wearing model’s rig when instantiated and equipped.