CG shader tile issue

Hi, im developing a shader that blends two textures taking into account only the alpha of texture 1. This seems to work fine, but if i want to set diferent tiling or scale for each texture only tile on the 1st one is taken into consideration. This is my code:

Shader "My Shaders/Unlit/Mixer Alpha Blend" {
	
Properties {
	_Blend ("Blend", Range (0,1)) = 0.0 
	_MainTex ("Texture (A = Transparency)", 2D) = ""
	_BlendTexture ("BlendTexture (A = Transparency)", 2D) = ""
	_Cutoff ("Alpha Cutoff", Float) = 0.5
	
} 

SubShader {
	Tags {"Queue"="transparent" "RenderType"="transparent" }
	ZWrite Off
	Blend SrcAlpha OneMinusSrcAlpha
 	Lighting Off
	
	 
	 Pass { 
	CGPROGRAM
    #pragma vertex vert
	#pragma fragment frag

	#include "UnityCG.cginc"
       
        sampler2D _MainTex;
   		sampler2D _BlendTexture;
   		uniform float _Cutoff;
   		uniform float _Blend;
   		
   		
   		
   		float4 _MainTex_ST;
   		float4 _BlendTexture_ST;
   		
   		struct v2f {
    float4  pos : SV_POSITION;
    float2  uv : TEXCOORD0;
};

   		
   	v2f vert (appdata_base v){
    v2f o;
    o.pos = mul (UNITY_MATRIX_MVP, v.vertex);
    o.uv = TRANSFORM_TEX (v.texcoord, _MainTex);
    
    return o;
}

   		
   		
   		half4 frag (v2f i) : COLOR{
   		
   		float4 MyColor = tex2D (_BlendTexture, i.uv).rgba;
   		float4 MyAlpha = tex2D (_MainTex, i.uv).rgba;
   		
   		if (MyAlpha.a < _Cutoff)
               // alpha value less than user-specified threshold?
            {
               discard; // yes: discard this fragment
            }
      return lerp(MyAlpha, MyColor , _Blend);
     
	
			}
			
       
        ENDCG
        }
      
}

}

go it:

Shader "My Shaders/Unlit/Mixer Alpha Blend" {
	
Properties {
	_Blend ("Blend", Range (0,1)) = 0.0 
	_MainTex ("Texture (A = Transparency)", 2D) = ""
	_BlendTexture ("BlendTexture (A = Transparency)", 2D) = ""
	_Cutoff ("Alpha Cutoff", Float) = 0.5
	
} 

SubShader {
	Tags {"Queue"="transparent" "RenderType"="transparent" }
	ZWrite Off
	Blend SrcAlpha OneMinusSrcAlpha
 	Lighting Off
	
	 
	 Pass { 
	CGPROGRAM
    #pragma vertex vert
	#pragma fragment frag

	#include "UnityCG.cginc"
       
        sampler2D _MainTex;
   		sampler2D _BlendTexture;
   		uniform float _Cutoff;
   		uniform float _Blend;
   		
   		
   		
   		float4 _MainTex_ST;
   		float4 _BlendTexture_ST;
   		
   		struct v2f {
    float4  pos : SV_POSITION;
    float2  uv : TEXCOORD0;
    float2  uv2 : TEXCOORD1;
};

   		
   	v2f vert (appdata_base v){
    v2f o;
    o.pos = mul (UNITY_MATRIX_MVP, v.vertex);
    o.uv = TRANSFORM_TEX (v.texcoord, _MainTex);
    o.uv2 = TRANSFORM_TEX (v.texcoord, _BlendTexture);
    return o;
}

   		
   		
   		half4 frag (v2f i) : COLOR{
   		
   		float4 MyColor = tex2D (_BlendTexture, i.uv2).rgba;
   		float4 MyAlpha = tex2D (_MainTex, i.uv).rgba;
   		
   		if (MyAlpha.a < _Cutoff)
               // alpha value less than user-specified threshold?
            {
               discard; // yes: discard this fragment
            }
      return lerp(MyAlpha, MyColor , _Blend);
     
	
			}
			
       
        ENDCG
        }
      
}

}