We are currently working on a game that will require us to be able to swap out Legs, Torso, Face, Hair, and Hats at runtime. We are currently using the Mix and Match method of swapping images on the character as we plan to continue to add content to the game at a scale that would make Spine Skins unmanageble.
The Mix and Match functionality works great, but at the same time appears to limit us in adding slight variations to some of the elements above without adding numerous bones to the base rig that won't be used most of the time. For example, we have one hat that has a feather on it that we would like to have some animated bounce. My understanding is that to add this functionality we would need to add a bone in our base rig for that feather to animate, and then with any other hats there will always be a vestigal bone left in the rig animating that doesn't do anything. Another example would be different hairstyles that deform in different ways.
I was thinking that a potential work-around would be to export each of these elements (Legs, Torso, Face, Hair, and Hats) seperately from Spine, and then re-combine them under a Parent object in Unity. In theory this would allow us to create "variants" of the Hat's rig and sub in one of those variants as needed... but then we run into the issue of sorting between multiple SpineSkeletonRenderers. Using the SkeletonRenderSeparator would probably work for something like a Hat that only has one layer, but with how I understand the implementation we would run into issues with elements like Hair that need to layer both in front and behind the character's Head. Is there any way to layer multiple skeletons within Unity that would still observe each skeletons sorting depths? Would there be a more effective way to accomplish this level of modularity IN Spine?