I've got a character model with a couple of skins
1) Light (a light armor look)
2) Heavy (a heavy armor look)
I'm using Unity, and the SkeletonAnimation component has an "Initial Skin" option, from which I can select the light or heavy option and the character appears in game correctly with the expected skin.
However, I now want to change the skin at runtime and am having an issue where not all slots are changing to the new skin data. I think this has something to do with the fact that not all slots have data for all skins since slots which have data in all skin sets seem to be switching at runtime properly. In the following example you can see I have two "skirt" nodes in the hierarchy,
1) Waist [ColorSkirtA] - this has an animated mesh skirt in the light skin only
2) Waist Heavy Skirt - this has an animated mesh skirt in the heavy skin only
In the game, I have the initial skin set to "Light" , which displays fine ... but when I set the skin to "Heavy", there are still data from the light skin shown ... in particular the light skirt is easily seen.
Any ideas on what code is the culprit here and not properly taking care of the skin switch properly and what I should do about it? I'm changing the skin at the runtime using
Skeleton.SetSkin( "Heavy" );