remove the x ray
Shader "Zoba/Reflective" {
Properties {
[Header(Background)] [KeywordEnum(TEXTURE, COLOR)]
_Background ("Background Mode", Float) = 0


    [ShowIfDefined(_BACKGROUND_TEXTURE)]
    _MainTex ("Texture", 2D) = "white" {}

    [ShowIfDefined(_BACKGROUND_COLOR)]
    _ConstantColor ("Color", Color) = (1, 1, 1, 1)

    [Header(Screen Space Specular)] 
    [Toggle(SCREEN_SPACE_SPECULAR_ON)]
    _Specular ("Enable Specular", Float) = 0

    [ShowIfDefined(SCREEN_SPACE_SPECULAR_ON)]
    _SpecularTex ("Specular Texture", 2D) = "white" { }

    [Header(Shadows)] 
    _ShadowColor ("Shadow Color", Color) = (0, 0, 0, 1)
    _ZOffset ("Z Offset", Float) = 0

    [Header(Stencil)] 
    [EnumFlags(ZobaStencil)]
    _StencilRef ("Reference Value", Float) = 0

    [Enum(UnityEngine.Rendering.CompareFunction)]
    _StencilComp ("Comparison", Float) = 0

    [Enum(UnityEngine.Rendering.StencilOp)]
    _StencilPass ("Pass", Float) = 0

    [Enum(UnityEngine.Rendering.StencilOp)]
    _StencilFail ("Fail", Float) = 0

    [Enum(UnityEngine.Rendering.StencilOp)]
    _StencilZFail ("Z-Fail", Float) = 0

    _XRayItemStencilRef ("XRayItemStencilRef", Float) = 8
}

SubShader {
    Tags { "RenderType" = "Opaque" }

    Pass {
        Tags { "RenderType" = "Opaque" }
        Stencil {
            ReadMask 0
            WriteMask 0
            Comp Always
            Pass Replace
            Fail Keep
            ZFail Keep
        }

        CGPROGRAM
        #pragma vertex vert
        #pragma fragment frag
        #include "UnityCG.cginc"

        struct appdata {
            float4 vertex : POSITION;
            float2 uv : TEXCOORD0;
            float3 normal : NORMAL;
        };

        struct v2f {
            float2 uv : TEXCOORD0;
            float4 pos : SV_POSITION; // Clip space position
            float3 worldPos : TEXCOORD1; // World position for reflections
        };

        // Uniforms
        uniform float4 _CustomProjectionParams; // Renamed to avoid conflict
        uniform float4 hlslcc_mtx4x4unity_ObjectToWorld[4];
        uniform float4 hlslcc_mtx4x4unity_MatrixVP[4];
        uniform float4 _MainTex_ST;

        sampler2D _MainTex;
        sampler2D _ReflectionMetal;
        uniform float _ReflectionRow;

        // Vertex Shader
        v2f vert(appdata v) {
            v2f o;

            // Object to World transformation
            float4 worldPosition = mul(hlslcc_mtx4x4unity_ObjectToWorld[0], v.vertex);
            worldPosition += v.vertex.y * hlslcc_mtx4x4unity_ObjectToWorld[1]; // Y position adjustment
            worldPosition += v.vertex.z * hlslcc_mtx4x4unity_ObjectToWorld[2]; // Z position adjustment

            // Transform position to clip space
            o.pos = mul(hlslcc_mtx4x4unity_MatrixVP[0], worldPosition);

            // UV transformation
            o.uv = v.uv * _MainTex_ST.xy + _MainTex_ST.zw;

            // Save the world position
            o.worldPos = worldPosition.xyz;

            return o;
        }

        // Fragment Shader
        half4 frag(v2f i) : SV_Target {
            // Sample the main texture
            float4 mainColor = tex2D(_MainTex, i.uv);
            
            // Compute reflection
            float4 reflectionColor = tex2D(_ReflectionMetal, i.uv * _ReflectionRow);

            // Combine colors based on reflection intensity
            half4 finalColor = (mainColor * (1.0 - reflectionColor.w)) + (reflectionColor * reflectionColor.w);

            return finalColor;
        }
        ENDCG
    }
}
}