TexGen'ed UVs - how to access in surface shader?

Hi,

If I have a shader with property say:

 _MainTex ("Main Tex", 2D) = "gray" { TexGen ObjectLinear }

And I have a surface shader:

struct Input {
    float2 uv_MainTex : TEXCOORD0;
};
 
sampler2D _MainTex;
 
void surf (Input IN, inout SurfaceOutput o) {
    fixed3 col;
    o.Albedo = tex2D(_MainTex,float4(IN.uv_MainTex).rgb;
    o.Alpha = 0.0;
}

Will IN.uv_MainTex have the TexGen’ed UV coordinates? Because for me it seems that it is not the case or I’m doing something wrong. Any help would be very much appreciated!

Okay so TexGen is fixed function.

For what it’s worth, it should be easy to produce object-linear UV coordinates in a custom vertex function.