Shader: _LightColor0 and _WorldSpaceLightPos0 are not updating

The problem occurs when there are no objects with unity shaders in sight.
An example of shader check:

Shader "SeAlKh/TestLight"{Properties{}SubShader{Pass{
#pragma vertex v 
#pragma fragment f
uniform float4 _LightColor0;
struct i{half4 v:POSITION;};
struct o{half4 p:SV_POSITION;};
o v(i v){o o;o.p=mul(UNITY_MATRIX_MVP,v.v);return o;}
fixed4 f(o i):COLOR{
fixed3 lightPos = (normalize(,1.0,1.0))/2;
return fixed4(, 1);

If I add an additional object with unity shader in sight, any change of light or color - changes an object color with a test shader. It basically works. However, if an additional object removed from a sight or deleted, then _WorldSpaceLightPos0 and _LightColor0 don’t react to angle or color change of Directional Light.
What do I need to change in my shader to make it always work?

I had the same issue. I believe it has to do with the tag in your pass. You’ve got a rogue “s” in your “LightMode” tag name. I didn’t have the tag included at all, and when I added it the variables worked as expected.