Alpha shader cutting out polys behind it

My character’s hair is not blending properly… as you can see from the picture, it’s cutting out polys behind it, that are part of the same mesh. The hair and body is all on one material (part of the problem?).

I can solve this by using alpha test, but that looks worse and is not great for iOS performance, apparently.

Shader "Custom/MobileUnlitAlphaDouble" 
{
	Properties
	{
    	_Color ("Color Tint", Color) = (1,1,1,1)
    	_MainTex ("SelfIllum Color (RGB) Alpha (A)", 2D) = "white"
    }
    Category 
    {
    	Lighting On
        ZWrite On
        Cull Off
        Blend SrcAlpha OneMinusSrcAlpha
        Tags {Queue=Transparent}
        SubShader 
        {
        	Material
        	{
            	Emission [_Color]
            }
            Pass
            {
            	SetTexture [_MainTex]
            	{
                	Combine Texture * Primary, Texture * Primary
				}
            }
        } 
    }
}

Any ideas? :stuck_out_tongue:

It’s the complete problem. Why were you under the impression that it would work?

More specifically, you are running into the classic issue of transparency sorting. Depending on your specific situation, render queues might be what you want. Note that that page was written before Material.renderQueue existed, which controls render queue on a per-material basis rather than requiring you to modify any shaders.