I'm almost comepletely newbie to Unity. So I wanted to make a new shader that would draw pure black backface of 2D sprites. This is what I have now: Code (CSharp): Shader "Custom/NewSpriteShader" { Properties { [PerRendererData] _MainTex ("Sprite Texture", 2D) = "white" {} _Color ("Tint", Color) = (1,1,1,1) [MaterialToggle] PixelSnap ("Pixel snap", Float) = 0 [HideInInspector] _RendererColor ("RendererColor", Color) = (1,1,1,1) [HideInInspector] _Flip ("Flip", Vector) = (1,1,1,1) [PerRendererData] _AlphaTex ("External Alpha", 2D) = "white" {} [PerRendererData] _EnableExternalAlpha ("Enable External Alpha", Float) = 0 } SubShader { Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Opaque" "PerformanceChecks"="False" "PreviewType"="Plane" "CanUseSpriteAtlas"="True" } Lighting Off ZWrite Off Blend SrcAlpha OneMinusSrcAlpha Pass { Cull Front Color (0,0,0,1) } Pass { CGPROGRAM #pragma vertex SpriteVert #pragma fragment SpriteFrag #pragma target 2.0 #pragma multi_compile_instancing #pragma multi_compile_local _ PIXELSNAP_ON #pragma multi_compile _ ETC1_EXTERNAL_ALPHA #include "UnitySprites.cginc" ENDCG } } } Basically, it's a default sprite shader with Cull Front feature. However, it doesn't work brilliant and it draws backfaces very roughly, like a chunk of polygons. How can I make backface use alpha correctly?