Shader turns pure white, sometimes, on device

I’ve made a shader and it works perfectly in the editor, and ‘most of the time’ on the device. When you get quite close to the shader, the entire surface will turn pure white.

Any help or performance suggestions are welcomed :slight_smile: I’ve pasted the area of code I suspect to be the problem…

#pragma surface surf MobileBlinnPhong addshadow exclude_path:prepass nolightmap noforwardadd halfasview approxview 

inline fixed4 LightingMobileBlinnPhong (SurfaceOutput s, fixed3 lightDir, fixed3 halfDir, fixed atten)
{ 	
	// calculate diffuse (clamp it to 1 )
	fixed diff = saturate(dot (s.Normal, lightDir) + s.Gloss);

	//calculate specular
	
	// OPTIMISEME - replace with ramp texture ( move to the vertex shader ?? )
	fixed nh = max (0, dot (s.Normal, halfDir));
	fixed spec = pow (nh, s.Specular*256)*2; // metallic style highlight
	
	fixed4 c;
	c.rgb = (s.Albedo * diff + (spec * s.Alpha)) * _LightColor0.rgb * 2; // multiply spec aten by 2 to make it stronger
	c.a = 1.0;
	
	return c;
}

Turns out it wasn’t even shader related, it was direction lighting.