In Unity you can write your own custom shaders, but it's no secret that writing them is hard, especially when you need shaders that interact with per-pixel lights & shadows. In Unity 3, that would be even harder because in addition to all the old stuff, your shaders would have to support the new Deferred Lighting renderer. We decided it's time to make shaders somewhat easier to write.
Warning: a technical post ahead with almost no pictures!
Over a year ago I had a thought that "Shaders must die" (part 1, part 2, part 3). And what do you know - turns out we're doing this in Unity 3. We call this Surface Shaders cause I've a suspicion "shaders must die" as a feature name wouldn't have flied very far.