Hey there, I have a problem with my UI shaders. I use the Sprite Default shader as base for them and add my functionality in the frag function. That way I e.g. developed a highlight shader brightening an image button when hovering it. It works like a charm on Windows (Editor and Player) and on Mac in the Editor. But when exporting on Mac when hovering the button, it's just invisible. I build the Windows Player on Windows and the Mac Player on Mac. Here is my shader: Code (CSharp): Shader "EW/UI/HighlightShader" { Properties { [PerRendererData] _MainTex ("Sprite Texture", 2D) = "white" {} _Color ("Tint", Color) = (1,1,1,1) [MaterialToggle] PixelSnap ("Pixel snap", Float) = 0 [HideInInspector] _RendererColor ("RendererColor", Color) = (1,1,1,1) [HideInInspector] _Flip ("Flip", Vector) = (1,1,1,1) [PerRendererData] _AlphaTex ("External Alpha", 2D) = "white" {} [PerRendererData] _EnableExternalAlpha ("Enable External Alpha", Float) = 0 } SubShader { Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" "PreviewType"="Plane" "CanUseSpriteAtlas"="True" } Cull Off Lighting Off ZWrite Off Blend One OneMinusSrcAlpha Pass { CGPROGRAM #pragma vertex SpriteVert #pragma fragment frag #pragma target 2.0 #pragma multi_compile_instancing #pragma multi_compile _ PIXELSNAP_ON #pragma multi_compile _ ETC1_EXTERNAL_ALPHA #include "UnitySprites.cginc" float4 frag(v2f IN) : SV_Target { fixed4 c = SampleSpriteTexture(IN.texcoord) * IN.color; c.rgb *= c.a; c.r *= 1.75; c.g *= 1.75; c.b *= 1.75; return c; } ENDCG } } Fallback "Sprites/Default" } I have no idea whether it's a bug or if I'm missing some point. I'm still not used to writing shaders, but such simple stuff should behave the same on Mac and Windows imo. I'm using Unity 2017.4.18 right now and my procedure for enabling this shader is to switch the material of the image when hovering the button and reverting to default when leaving the button.
Because there's nothing obviously wrong with the shader. My only thought would be that your mac build is stripping the shader when for some reason the windows build is not.