Unlit Transparent With Color Support

hi. i’m not a shader expert. but i’m trying to use an unlit transparent shader with color tint support. but since my target is mobile i need to choose the fastest one. so here is a shader code that a friend gave it to me:

Shader "Custom/Unlit/Unlit_Alpha_WithColor" {
	Properties{
		_Color("Main Color", Color) = (1,1,1,1)
		_MainTex("Base (RGB) Trans (A)", 2D) = "white" {}
	}

		SubShader{
			Tags {"Queue" = "Transparent" "IgnoreProjector" = "True" "RenderType" = "Transparent"}

			ZWrite Off
			Lighting Off
			Fog { Mode Off }

			Blend SrcAlpha OneMinusSrcAlpha

			Pass {
				Color[_Color]
				SetTexture[_MainTex] { combine texture * primary }
			}
	}
}

and this is unity’s unlit shader with no support of color but it seems it has more codes:

// Unity built-in shader source. Copyright (c) 2016 Unity Technologies. MIT license (see license.txt)
// Unlit alpha-blended shader.
// - no lighting
// - no lightmap support
// - no per-material color

Shader "Unlit/Transparent" {
Properties {
    _MainTex ("Base (RGB) Trans (A)", 2D) = "white" {}
}

SubShader {
    Tags {"Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent"}
    LOD 100

    ZWrite Off
    Blend SrcAlpha OneMinusSrcAlpha

    Pass {
        CGPROGRAM
            #pragma vertex vert
            #pragma fragment frag
            #pragma target 2.0

            #include "UnityCG.cginc"

            struct appdata_t {
                float4 vertex : POSITION;
                float2 texcoord : TEXCOORD0;
                UNITY_VERTEX_INPUT_INSTANCE_ID
            };

            struct v2f {
                float4 vertex : SV_POSITION;
                float2 texcoord : TEXCOORD0;
                UNITY_VERTEX_OUTPUT_STEREO
            };

            sampler2D _MainTex;
            float4 _MainTex_ST;

            v2f vert (appdata_t v)
            {
                v2f o;
                UNITY_SETUP_INSTANCE_ID(v);
                UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
                o.vertex = UnityObjectToClipPos(v.vertex);
                o.texcoord = TRANSFORM_TEX(v.texcoord, _MainTex);
                return o;
            }

            fixed4 frag (v2f i) : SV_Target
            {
                fixed4 col = tex2D(_MainTex, i.texcoord);
                return col;
            }
        ENDCG
    }
}

}

so i just wanna know which one is faster? should i use unity’s unlit and add color tint support? i don’t want support for lighting, lightmap, fog etc… only transparent with tint color

Both shaders are written in different languages, hence why one appears to be shorter. The first sample is written in Unity’s ShaderLab, which is essentially shorthand - it generates more code similar to the bottom sample without having to do everything by hand. You’ll find that these two shaders will be more or less identical, aside from the fact that the second has some newer optimisations that the ShaderLab code won’t (the language isn’t really used any more and I don’t believe it would have been updated to support things like instancing or constant buffers). Basically - unless you’re rendering HUGE amounts of objects with this shader, it really shouldn’t make a difference on performance.