Hi there!
I'm using Unity 5.5.3 and still have normal flipping issues.
The default shader works fine when building for Android with normal (0,0,1), but in the editor they're reversed, making it harder to work with.
Now, I'm storing the material references on a scriptableobject, and flipping them when appropriate with some per-platform #if clauses
BUT
it's kind of working on the Material assets in the project when I run it... but altering the assets themselves!
So each time I run the project they get toggled on and off.
Now, there are a lot of characters in the game using 3 Materials using Spine VertexLit shaders, and it would be a nightmare to tweak them one by one adding a behaviour to handle the normal flipping on a case by case basis
I may also make a check at the beginning of the scene using a persistent singleton, gathering every time all objects using a certain material or shader
But, I'm mainly on mobile, and I'd like to avoid doing intensive scene operations.
Is there another way to do this in a more straightforward way? I thought about directly changing the materials, but I'm not sure it's going to work on mobile, since there is not going to be a material asset like in the Unity Editor.
I'd also like too avoid creating material instances since I have quite a lot of spine characters in a crowd.
Should I iterate the renderers and use SetPropertyBlock to fix them one by one?
months ago I had a similar problem, but I thought it was because I was using an old Unity version.
Now that I'm with the latest, what's going on with the shaders?
Could you please help me?