I have been a bit bored after work for the past few weeks and my Unity3 beta arrived so I decided to make a shader editor.
I approached the task initially to see just how extensible the Editor API's were and to see if it could be done (fully featured and at a commercial standard). And after an evening or two I was knee deep in the unity3 codebase!
There were a few things I wanted to do when making this editor:
*High quality standard
*Rich feedback to the user
*Realtime previews of the current shader
*Loading / saving of graphs
*Shader export
*Complete support for the unity3 materials system (That aras and co have done an amazing job of!)
*Fits into the unity design principles. Easy to use / simple / 'just works' - this was very important to me!