Camera forward vector in shader

Is there an easy way to get the camera’s forward vector in a surface shader (the near clip plane’s normal)? Perhaps a built-in shader constant or input struct variable? I want something like the viewDir variable from here:

but just the forward vector, not a ray per-pixel.

I’m trying to do some calculations off pixel distances projected onto the near clipping plane’s normal instead of the distance from the camera position.

I know it’s 5 years later on from the original question, but the solution mentioned in the comments above worked for me too.
I put this in my frag function and it works perfectly:

float3 viewDir = UNITY_MATRIX_IT_MV[2].xyz;

For those of you still attempting to use moosefetcher’s answer, I tried this in my vertex shader and it messed with my lighting for some reason.

In the end I used float3 forward = mul((float3x3)unity_CameraToWorld, float3(0,0,1)); which worked fine.

If you want to get an analogue of IsFacing in the vertex shader use:

half3 normal    = UnityObjectToWorldNormal(v.normal);
half3 worldVert = mul(unity_ObjectToWorld, v.vertex);
half3 viewDir   = _WorldSpaceCameraPos - worldVert;
normal *= lerp(-1, 1, dot(normal, viewDir) > 0);