I am quite new to making custom shaders, really appreciate any help. I have a vertex shader that does not render lighting correctly on the back face -- the front face and back face shows different lighting. I would like the back face to have the same lighting effect as the front. I understand that a possible method making use of VFACE or passing Cull Back and Cull Front instead of Cull Off. For VFACE, I am getting errors when I try to put "o.facing = v.facing;" into my vert function. My shader seems to be slightly different from other examples and I just can't seem to get it to work. Also, using two passes does not produce the desired effect as well. Is there something that I am doing wrongly? Code (CSharp): Shader "Custom/Vertex Transparent Specular" { Properties { _Color("Main Color", Color) = (1,1,1,1) _Shininess("Shininess", Range(0, 1)) = 0.078125 _Detail("Detail (RGB) Gloss (A)", 2D) = "gray" {} } SubShader { Tags { "RenderType" = "Transparent" } Blend SrcAlpha OneMinusSrcAlpha LOD 200 Pass{ Cull Back } CGPROGRAM #pragma surface surf BlinnPhong vertex:vert alpha:fade sampler2D _Detail; float4 _Color; float _Shininess; struct Input { float2 uv_Detail; float4 vertColors; }; void vert(inout appdata_full v, out Input o) { o.vertColors = v.color; o.uv_Detail = v.texcoord; } void surf(Input IN, inout SurfaceOutput o) { half4 c = IN.vertColors.rgba * _Color.rgba; c.rgb *= tex2D(_Detail,IN.uv_Detail).rgb * 2; o.Albedo = c.rgb; o.Gloss = tex2D(_Detail,IN.uv_Detail).a; o.Alpha = c.a * _Color.a; o.Specular = _Shininess; } ENDCG } Fallback "Specular" }