Is there a shader that will give me a range of transparencies for an unlit texture?

Currently, I have a lot of small signs in my scene that use the Unlit → Texture shader. I would like to make these signs transparent, and I would also like to programmatically set transparency values for each sign at run time (to allow things like fade in/fade out, etc.). However, most transparency shaders I’ve found aren’t intended for this use. Is there an easy way to do this?

Thanks :slight_smile:

Shader "Unity Answers/Unlit With Color"
{
	Properties
	{
		_Color ("Main Color", Color) = (1, 1, 1, 1)
		_MainTex ("Main Texture", 2D) = "white" { }
	}
	SubShader
	{
		Tags { "Queue" = "Transparent" }
		Cull Off
		ZWrite Off
		Fog { Mode Off }
		Blend SrcAlpha OneMinusSrcAlpha
		Pass
		{
			CGPROGRAM
			#pragma vertex vert
			#pragma fragment frag
			fixed4 _Color;
			sampler2D _MainTex;
			struct appdata
			{
				float4 vertex : POSITION;
				float4 color : COLOR;
				float4 texcoord : TEXCOORD0;
			};
			struct v2f
			{
				float4 pos : SV_POSITION;
				fixed4 color : COLOR;
				float2 uv : TEXCOORD0;
			};
			v2f vert (appdata v)
			{
				v2f o;
				o.pos = mul(UNITY_MATRIX_MVP, v.vertex);
				o.color = v.color;
				o.uv = v.texcoord.xy;
				return o;
			}
			half4 frag(v2f i) : COLOR
			{
				return i.color * _Color * tex2D (_MainTex, i.uv);
			}
			ENDCG
		}
	}
}

The best shader I found is listed here:

Shader "Tinted Alpha Blend" { 

Properties {
    _Color ("Tint (A = Opacity)", Color) = (1,1,1,1) 
    _MainTex ("Texture (A = Transparency)", 2D) = "" 
} 

SubShader {
    Tags {Queue = Transparent}
    ZWrite Off
    Blend SrcAlpha OneMinusSrcAlpha

    Pass { 
        SetTexture[_MainTex] {
            ConstantColor [_Color]
            Combine texture * constant
        } 
    } 
}

}