Confusion in visualizing normal.

I am new to writing shaders in unity and I wanted to just visualize the normal in a standard surface shader but why am I always getting red color?


Which Unity version do you use ?
Can you insert all shader code, maybe something else is broken.
It seems like a bug.

For test, I checked this simple normal visualiser, and it works OK with built-in Sphere gameobject:

Shader "Show Normals"
{
    Subshader
    {
        Tags { "RenderType" = "Opaque" }
        CGPROGRAM
        #pragma surface SurfaceShader Standard vertex:VertexShaderFunction

        struct Input
        {
            float3 color;
        };
       
        void VertexShaderFunction (inout appdata_full v, out Input o)
        {
            o.color = UnityObjectToWorldDir(v.normal);
        }

        void SurfaceShader (Input IN, inout SurfaceOutputStandard o)
        {
            o.Albedo = IN.color;
        }

        ENDCG
    }
}

6650806--759760--upload_2020-12-22_21-10-31.png