Possible for a shader to have two decal slots?

Is it possible to have a shader like shown below? A shader that has two slots for transparent textures. I want one texture to be lower than the other - like the decals are applied in layers. I’ve tried probably 10 different decal shaders and none of them can do what I’m asking for here. Some accept multiple textures but then will not allow both textures to have transparency. Also I need offset/tiling access to both layers (independently - my meshes have two UVs if that will help)

Anyone have any ideas on how I can accomplish this? The technique I’m using below is functional but isn’t as optimized as I believe a dedicated shader would be.

Figured it out - this requires two passes, but I’m fine with that. I was mainly trying to avoid having to have multiple meshes.

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

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

		CGPROGRAM
		#pragma surface surf Lambert alpha:fade

		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

		CGPROGRAM
		#pragma surface surf Lambert alpha:fade

		sampler2D _SecondTex;
		fixed4 _Color;

		struct Input {
			float2 uv_SecondTex;
		};

		void surf(Input IN, inout SurfaceOutput o) {
			fixed4 c = tex2D(_SecondTex, IN.uv_SecondTex) * _Color;
			o.Albedo = c.rgb;
			o.Alpha = c.a;
		}
		ENDCG
	}

	Fallback "Legacy Shaders/Transparent/VertexLit"
}

Hi,

This Shader is perfect for what I need, is this shader is good for mobile performance ?!

Thanks !