Hi all,
First post in setting up your Unity scripting zone.
Scripting IDE - IDE = Intregrated Development Environment
Do not underestimate the importance of this application or group of applications. The IDE if it is a good one will keep you sane in medium to larger projects, and even small ones. The IDEs like Xcode are the one-stop development environment for creating desktop applications on the Mac. But for Unity development an IDE is actually made up of two components; 1. Unity Editor itself is an IDE, it allows you to combine all the components that make up a game into a unified whole, then "compiles" it ready for turning into a "Player", which is basically just a application, for either Web, Desktop, iPhone or a Widget for Dashboard.
However Unity Editor is missing one very important component to this development process, that is 2. An integrated script editor. Now Unity Technologies did the smart move in my opinion it made that a separate application. Because that gives us - the end user - choice! Choice is great, because in the real world, what i find beatiful you will probably find ugly. So choice in software packages is good.
So what script editor should I use? Well that depends on what language you want to program in and closely related what platform you are developing on, OSX or Windows?
http://www.unifycommunity.com/wiki/index.php?title=Programming_IntroductionOK so why don't I just use the supplied script editor that comes wit Unity? Well you can and if you are happy with that then you don't need this thread, just keep on coding!

The Unity Wiki has a start of a list for platform specific script editors here:
http://www.unifycommunity.com/wiki/index.php?title=Script_EditorsThe important thing to consider when picking a third party script editor is how easy it is to customise, and more specifically how easy is it to create/customise the syntax for a particualr language?
What is this syntax thing?
Well the syntax is all those wonderful little (hopefully insightful) words that a programming language uses to get things done, they related to two main things in a programming language, the control/variables and Application Programming Interface (API). The control is things like "if", "for" etc, variables are things like "var", "private", "static", etc. APIs stuff is "Update", "Destroy", "GetComponent" etc.
Now to be able to edit this is very important in selecting a editor for your scripts. Because even though Unity uses Javascript, Boo and C# syntaxes which covers the control and variable syntaxes for you already, Unity uses a bucket load of API calls! Having these pop-up when you type and hi-light in a nice range of rainbow colours is VERY handy. 1. to help get less bugs in you code, and 2. allow you to code quicker. Believe me when I say that 90% of your bugs when coding are mistyped words, then having 95% of those words coloured when correct is immensely helpful!
OK lets get one thing out of the way. If you are on Windows then the two kings for script editors are:
C# = Visual Studio (it's intellisense is to die for!)
JS = FlashDevelop or more precisely UnityDevelop (
http://technology.blurst.com/unitydevelop-javascript-editor/)
Unfortunately on OSX the options are not as clear cut.
C#, Boo and JS = TextMate (my favourite)
JS = Espresso
This looks promising and I even started making a Unity syntax file for it... but I stopped as it had no project wide find and replace! What an oversight! Maybe in v1.1 they will fix that and I will complete my syntax file.C# = Monodevelop (buggy, but showing promise)
C#, Boo and JS = Subethaedit (use to use this before I discovered TextMate)
C#, Boo and JS = BBedit (why use this when you can use TextMate and save some money!)

If you pick TextMate on the Mac then grab my Syntax file for JS here:
http://www.unifycommunity.com/wiki/index.php?title=Script_EditorsLastly whatever script editor you pick then don't forget to set the preferences in Unity so that you can double click your script to open it in your chosen editor.

Cheers.