Specular property isn't working in ShaderLab

I'm working through the Unity Shader presentation, but I'm running into a problem. With the following code I only get a diffuse output, when I should be getting a specular one:

Shader "Tutorial/Ambient Diffuse Specular" {
Properties {
     _Color ("Main Color", Color) = (1,1,1,1)
     _SpecColor ("Spec Color", Color) = (1,1,1,0)
     _Shininess ("Shininess", Range (0.1, 1)) = 0.7
}

SubShader {
     Pass {
          Material {
               Diffuse [_Color]
               Ambient [_Color]
               Shininess [_Shininess]
               Specular [_SpecColor]
          }
          Lighting On
     }
}
}

I'm pretty sure this code is right, and I'm running a Nvida 9000 series card so I don't think the shader ability of the card is to blame. Is there some setting I'm not thinking about that wouldn't allow for specular output to be rendered?

Thanks!

Hey, you're right. I never noticed. wtf?

I just ran some tests - lots of them. It appears that like yourself, in my copy of Unity 2.6 Pro on Windows at the time of this writing, none of the ShaderLab-based-shaders seem to do specular without a SetTexture call multiplying the primary. This should be corrected. I have confirmed that all of the built-in VertexLit shaders have such a SetTexture call, which is why they all work.

If you're looking to do it without the need for a texture in the shader, I looked at the built-in "Specular" shader and without the texture stuff, it looks like:

SubShader {
    Pass {
        Tags {"LightMode" = "Vertex"}
        Lighting On
        Material {
            Ambient [_Color]
            Diffuse [_Color]
            Specular [_SpecColor]
            Shininess [_Shininess]
        }
        SeparateSpecular On

CGPROGRAM
#pragma fragment frag
#pragma fragmentoption ARB_fog_exp2
#pragma fragmentoption ARB_precision_hint_fastest

#include "UnityCG.cginc"

uniform sampler2D _MainTex;

half4 frag (v2f_vertex_lit i) : COLOR {
    return VertexLight( i, _MainTex );
} 
ENDCG
    }

    //Pixel Lights...

So, to answer your question(?), ShaderLab does not seem to be applying the specular component without a texture anymore. If you don't want a texture in your shader, you seem to need the above CGShader to perform the vertex lighting calculations. This was not how it used to be as per the Unite08 course you seem to have gotten your shader from and given Aras' above answer, it doesn't seem like it was intended to be this way.

Without getting in and testing it myself, the first thing that pops out to me is that your alpha value for the _SpecColor property is set to 0. This could possibly be masking out the entire specular effect.

Does adding "SeparateSpecular On" help?