Cannot select gameobjects in editor in 2D view using custom sprite shader

Hi, I have a weird issue where I cannot select a set of sprites that have a custom sprite diffuse shader on them by clicking on the in the editor. If I select them in the inspector or drag select a box over them I can select them, just not using a single click.

It seems to be though that if I swap to 3D mode and click on the back of them, I can select them fine, I just cant select them in 2D mode (it rotates the view to face the front).

If I change back to the standard diffuse sprite shader, I can select them fine.

Any ideas why a shader prevents selecting an object in the editor?

Here is the shader code for a bumped, diffuse sprite with shadows:

Shader "Sprites/Bumped Diffuse both sides with Shadows"
{
     Properties
     {
         [PerRendererData] _MainTex("Sprite Texture", 2D) = "white" {}
     _BumpMap("Normalmap", 2D) = "bump" {}
     _Color("Tint", Color) = (1,1,1,1)
         [MaterialToggle] PixelSnap("Pixel snap", Float) = 0
         _Cutoff("Alpha Cutoff", Range(0,1)) = 0.5
     }
         SubShader
     {
         Tags
     {
         "Queue" = "Transparent"
         "IgnoreProjector" = "True"
         "RenderType" = "TransparentCutOut"
         "PreviewType" = "Plane"
         "CanUseSpriteAtlas" = "True"
     }
         LOD 300
         // Render back faces first
         Cull Front
         Lighting On
         ZWrite Off
         Fog{ Mode Off }
         CGPROGRAM
#pragma surface surf Lambert alpha vertex:vert addshadow alphatest:_Cutoff
#pragma multi_compile DUMMY PIXELSNAP_ON
         sampler2D _MainTex;
     sampler2D _BumpMap;
     fixed4 _Color;
     float _ScaleX;
     struct Input
     {
         float2 uv_MainTex;
         float2 uv_BumpMap;
         fixed4 color : COLOR;
     };
     void vert(inout appdata_full v, out Input o)
     {
#if defined(PIXELSNAP_ON) && !defined(SHADER_API_FLASH)
         v.vertex = UnityPixelSnap(v.vertex);
#endif
         float3 normal = v.normal;
         v.normal = float3(0,0,-1);
         v.tangent = float4(1, 0, 0, 1);
         UNITY_INITIALIZE_OUTPUT(Input, o);
         o.color += _Color;
     }
     void surf(Input IN, inout SurfaceOutput o)
     {
         fixed4 c = tex2D(_MainTex, IN.uv_MainTex) * IN.color;
         o.Albedo = c.rgb;
         o.Alpha = c.a;
         o.Normal = UnpackNormal(tex2D(_BumpMap, IN.uv_BumpMap));
     }
     ENDCG
         // Now render front faces first
         Cull Back
         Lighting On
         ZWrite Off
         Fog{ Mode Off }
         CGPROGRAM
#pragma surface surf Lambert alpha vertex:vert addshadow alphatest:_Cutoff
#pragma multi_compile DUMMY PIXELSNAP_ON
         sampler2D _MainTex;
     sampler2D _BumpMap;
     fixed4 _Color;
     float _ScaleX;
     struct Input
     {
         float2 uv_MainTex;
         float2 uv_BumpMap;
         fixed4 color : COLOR;
     };
     void vert(inout appdata_full v, out Input o)
     {
#if defined(PIXELSNAP_ON) && !defined(SHADER_API_FLASH)
         v.vertex = UnityPixelSnap(v.vertex);
#endif
         float3 normal = v.normal;
         v.normal = float3(0,0,1);
         v.tangent = float4(1, 0, 0, 1);
         UNITY_INITIALIZE_OUTPUT(Input, o);
         o.color += _Color;
     }
     void surf(Input IN, inout SurfaceOutput o)
     {
         fixed4 c = tex2D(_MainTex, IN.uv_MainTex) * IN.color;
         o.Albedo = c.rgb;
         o.Alpha = c.a;
         o.Normal = UnpackNormal(tex2D(_BumpMap, IN.uv_BumpMap));
         o.Normal.z *= -1;
     }
     ENDCG
     }
         Fallback "Transparent/Cutout/Diffuse"
}

No one have any ideas on this?

Did you ever find a solution to this? I’ve had the exact same problem for the last few months and just realized that it’s my shader causing it.

Hi, I’m sorry but I never did find any solution to this, and it was on a prototype that I ditched a few weeks later so I never put the time into resolving it :frowning:

No worries, thanks for responding! You’re the only other person that I can find who’s run into this issue.