Custom shader not working

Hey! I’m trying to make a shader that swaps each RGBs to different colours (e.g. R to pink, G to blue, B to Purple).
I don’t have that much experience with shaders but all its doing is making everything look plain white.

Was following this tutorial

Shader "Custom/ColorTint"
{
    Properties
    {
        _MainTex("Particle Texture", 2D) = "white" {}
        _TintColorRed("Tint Color Red", Color) = (0.5,0.5,0.5,0.5)
        _TintColorGreen("Tint Color Green", Color) = (0.5,0.5,0.5,0.5)
        _TintColorBlue("Tint Color Blue", Color) = (0.5,0.5,0.5,0.5)
    }
    Category
    {
        Tags { "Queue" = "Transparent" "IgnoreProjector" = "True" "RenderType" = "Transparent" }
            Blend SrcAlpha OneMinusSrcAlpha
            AlphaTest Greater .01
            ColorMask RGB
            Cull Off Lighting Off ZWrite Off
            BindChannels
            {
              Bind "Color", color
              Bind "Vertex", vertex
              Bind "TexCoord", texcoord
            }
    }
    SubShader
    {
        Pass
        {
            CGPROGRAM
            #pragma vertex vert
            #pragma fragment frag
            #pragma fragmentation ARB_presision_hunt_fastest
            #pragma multi_compile_particles

            #include "UnityCG.cginc"

            sampler2D _MainTex;
            fixed4 _TintColorRed;
            fixed4 _TintColorGreen;
            fixed4 _TintColorBlue;

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

            struct v2f
            {
                float4 vertex : POSITION;
                float2 texcoord : TEXCOORD0;
            };

            float4 _MainTex_ST;

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

            sampler2D _CameraDepthTexture;
            float _InvFade;

            fixed4 frag(v2f i) : COLOR
            {
                float4 baseColor = tex2D(_MainTex, i.texcoord);
                float alpha = baseColor.a;
                baseColor = alpha * (baseColor.r * _TintColorRed + baseColor.g * _TintColorGreen + baseColor.b * _TintColorBlue);
                baseColor.a = 1.0f - step(alpha, 0.1);
                return baseColor;
            }
            ENDCG
        }
    }
}

For me the shader works, are you sure that you set a texture as the Particle Texture in the Inspector?
The default fallback texture is plain white as you defined in this line:

_MainTex("Particle Texture", 2D) = "white" {}

Its not for a particle, its for a character sprite
When i commented out the _MainTex it does the same thing

It’s really hard to tell what kind of setup you are using, can you post a a screenshot of your inspector with a material using this shader and showing the behaviour you are describing?

EDIT: if you are using a sprite renderer you should also make sure to set a sprite, so the texture is forwarded to the shader instead of the fallback white texture

I just wanted to mention I fixed one issue but now i have another. The solution was the dropdown menu at the top was set to the wrong thing. But the newest problem is the alpha, its creating squares around the sprite. (Same code)

Also heres the viewport
5249519--524393--upload_2019-12-6_1-9-9.png