-As far as I can tell its a Unity 2.6 shader that now doesn't exist in Unity 3. Is that correct? If so, I'm wondering why the shaders still work correctly but dont appear anywhere in the project file.
asked Oct 19 '10 at 12:53 PM
No, it is not correct. A Legacy shader is not a shader that doesn't exist. In order for it to even be discussed, it would have to exist. Legacy shaders are shaders that rely on functionality that may no longer be supported within the current implementation of the shader system because that functionality has been deprecated or removed.
Legacy shaders by definition may or may not work in the current shader system, but they will still exist within the project folder for existing legacy projects opened in the current version of the editor. Upon importing these shaders, the editor will attempt to upgrade sections of the shader that it identifies as legacy and unsupported, but this will not generally catch everything and will break some shaders. For example some cg shader programs, etc. will be upgraded and a note will be added that they should be re-written into surface shaders, but the upgrade will not convert them into surface shaders for you. If the shader no longer compiles, it will generate errors in the log and anything using the shader will turn a bright pink.
Please see this link for some of the differences between Unity 2.x and 3.x shaders.
answered Oct 19 '10 at 04:22 PM