Apologies Harald, I was unable to perform the change sooner.
The result is the same with the spine-unity 3.8 runtime(2021-11-10).
To clarify, I can make this work with MaterialPropertyBlocks, but to me it seems that it should work just by updating the material instance.
Just debugged this a bit more and found the issue. Basically if you have mask behaviours, they have different materials, and if you override an original material, it overrides ONLY for that mask "type"(none, outside or inside), should the required masking material change then it will no longer work.
If I set the Mask Interaction to none, then my initial code above works fine, modifying the material instance renders immediate results, however if a new material takes over for masking everything breaks.
Is there at least any way of detecting this change? So that I would know when the skeleton receives the different masking material so that I could set override anew?
Or an even more important question is... Should I just make all our spine materials use Spine/Skeleton-Tint shader and just use MaterialPropertyBlocks?