Help with Implementing Transparent/Cutout Functionality to a Cel Shader

I’m currently attempting to refine a cel shader that I have and would like to add Transparent/Cutout Functionality to it. Being somewhat new to custom shaders, I was hoping that someone might be able to help me out.

Current shader:

Shader "Custom/CelShadingForward"
{
    Properties {
        _Color ("Color", Color) = (1,1,1,1)
        _MainTex ("Albedo (RGB)", 2D) = "white" {}
    }
    SubShader {
        Tags { "RenderType"="Opaque" "Queue"="Transparent"}
        LOD 200
        CGPROGRAM#pragma surface surf CelShadingForward
        half4 LightingCelShadingForward(SurfaceOutput s, half3 lightDir, half atten)
        {
            half NdotL = dot(s.Normal, lightDir);
            NdotL = smoothstep(0,0.025f,NdotL);
            half4 c;
            c.rgb = s.Albedo * _LightColor0.rgb * (NdotL * atten * 2);
            c.a = s.Alpha;
            return c;
        }

        sampler2D _MainTex;
        fixed4 _Color;

        struct Input
        {
            float2 uv_MainTex;
        };

        void surf (Input IN, inout SurfaceOutput o)
        {
            // Albedo comes from a texture tinted by color
            fixed4 c = tex2D (_MainTex, IN.uv_MainTex) * _Color;
            o.Albedo = c.rgb;
            o.Alpha = c.a;
        }
        ENDCG
    }
    FallBack "Diffuse"
}

For cutout change your tags to
Tags { “RenderType”=“Opaque” }
It doesn’t actually use the transparency queue because pixels are either drawn or they are not.

You also need to change your pragma to something like:
#pragma surface surf CelShadingForward alphatest:_Cutoff addshadow
Full details on alpha modes here under optional parameters Unity - Manual: Writing Surface Shaders

alphatest:_Cutoff tells the shader to use the property called _Cutoff to define the cuttoff point so you have to declare a matching property in your properties block at the top. Something like this:
_Cutoff (“Alpha cutoff”, Range(0,1)) = 0.5
Though you can call it whatever you want as long as they match.

addshadow just makes sure that the shadow that gets drawn respects the cutout areas, you can leave it out if you don’t want that

It works! thanks for the tip.