Hi,
I have a custom shader that’s basically a copy of Unity’s built-in Transparent/Diffuse at this moment:
Shader "Custom/TransparentDiffuseSaturation" {
Properties {
_Color ("Main Color", Color) = (1, 1, 1, 1)
_MainTex ("Base (RGB)", 2D) = "white" {}
}
SubShader {
Tags {"Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent"}
LOD 200
CGPROGRAM
#pragma surface surf Lambert alpha
sampler2D _MainTex;
fixed4 _Color;
struct Input {
float2 uv_MainTex;
};
void surf (Input IN, inout SurfaceOutput o) {
fixed4 c = tex2D(_MainTex, IN.uv_MainTex) * _Color;
o.Albedo = c.rgb;
o.Alpha = c.a;
}
ENDCG
}
Fallback "Diffuse"
}
It works fine in the editor view, but only if the game is not running. As soon as I click “Play”, it reverts to the Fallback shader. Same thing happens in web and standalone builds.
The funny thing is, if I set Fallback to Transparent/Diffuse, it actually does fall back to Transparent/Diffuse. It looks like for some reason it just won’t execute the SubShader code.
What should I do to make it work?