Hi, We have been using an unlit light map shader for ages. Now with the new Unity 5 global illumination only Surface shaders are use correctly for calculating light bounces. Because of that we have made an Unlit light map shader write in Surface Shaders: Code (CSharp): Shader "Reborn/Unlit/Unlit Surface Shaders (Lightmap)" { Properties { _MainTex ("Base (RGB) Skin Mask (A)", 2D) = "white" {} } SubShader { Tags { "RenderType"="Opaque" "Queue" = "Geometry"} CGPROGRAM #pragma surface surf NoLighting fullforwardshadows sampler2D _MainTex; struct Input { half2 uv_MainTex; }; fixed4 LightingNoLighting(SurfaceOutput s, fixed3 lightDir, fixed atten) { fixed4 c; c.rgb = s.Albedo; c.a = s.Alpha; return c; } void surf (Input IN, inout SurfaceOutput o) { o.Albedo = tex2D(_MainTex, IN.uv_MainTex); } ENDCG } Fallback "Mobile/VertexLit" } This work great when there is no lightmap in the scene. As soon as you have the lightmap working, this shader IS affected by lights marked as Realtime. It seems related to the bounce intensity. So if an object is marked as static and the lightmap is processed, realtime lights with bounce value higher than 0 DO affect the object. If the object is not marked as static the shader is 100% unlit. Is there a way to make a true Unlity surface shader?