Non-additive passes of shader

This is sort of a repost of a reply to my own post previously, sorry if that is bad practice.

I would just really like to know, is there a way to write each pass by myself, like frag and vert programs like in “the good ol days” without getting it commented out?

Like this? http://docs.unity3d.com/Documentation/Manual/ShaderTut2.html

Yes! Exactly like that! And that was how I originally learned shader programming some years ago.
But now it seems like Unity comments out such shaders if you try to actually do anything with lights in it :frowning:

The problem is that I would like to make a vertex-lit shader, so I can work with several lights in one pass, but the compiler seems boobietrapped with triggers for this “You should do SURFACE shaders!”-thing :frowning:

Strange… I never got that kind of error and I even made my own api for lighting, so I don’t use surface shaders at all… mind posting the exact thing?

I’m don’t know the exact triggers, but I am fairly certain that they include deprecated tags and other things that aren’t supported any more. Vertex/fragment shaders are fully supported, though. Can you post a shader that gets commented out when you save it?

Surprised by hearing your replies, I installed Unity4 here at home and tried to open up the shader that gave me problems.
I worked in Unity3 at home, and unity4 at school, and it was while working with unity4 that I got the problem.

So seems to be because I misused some tags and putting LIGHTING_COORDS wrong.

So yea, I got it working now, but I don’t have any shadows or light attenuation :frowning: