is this a mipmap problem?

Hi, I have this function where I add a alpha channel to a texture - and then use the shader downbelow on the texture.
This works fine until I scale the object to a smaller size, why is this? - When I down scale the texture then the alpha I just add’d is not working and the start texture is displayed without the alpha.

thanks,

/Joe

Add alpha to texture

enter code here
Texture2D addAlphaToTexture(Texture2D texture, Texture2D alphaTexture){
	
	Color[] textureColorArray = new Color[texture.width*texture.height];
	textureColorArray = texture.GetPixels(0);
	
	Color[] alphaArray = new Color[alphaTexture.width*alphaTexture.height];
	alphaArray = alphaTexture.GetPixels();
	
	Color[] mixedColorArray = new Color[texture.width*texture.height];
	
	for(int joe = 0; joe < textureColorArray.Length; joe++){
		
		if(alphaArray[joe].a != 0){
			mixedColorArray[joe] = textureColorArray[joe];
		}
	}

	texture.SetPixels( mixedColorArray, 0);	
	texture.Apply(false);
	return texture;
}

AlphaSelfIllum Shader

enter code here
Shader "AlphaSelfIllum" {
Properties {
	_Color ("Color Tint", Color) = (1,1,1,1)
	_MainTex ("SelfIllum Color (RGB) Alpha (A)", 2D) = "white"
}
Category {
   Lighting On
   ZWrite Off
   Cull Back
   Blend SrcAlpha OneMinusSrcAlpha
   Tags {Queue=Transparent}
   SubShader {
        Material {
           Emission [_Color]
        }
        Pass {
           SetTexture [_MainTex] {
                  Combine Texture * Primary, Texture * Primary
            }
        }
    } 
}

}

Solution

I found a solution, it was just to use a texture without mipmaps on the function like this

enter code here
Texture2D texture = new Texture2D(x, y, TextureFormat.ARGB32, false); 

Thanks to me self.