Unity: Oh MonoDevelop...


Over the past few weeks, I've noticed a surge in people wondering if MonoDevelop is the best that it gets as a Unity IDE.

Having co-developed the current Unity3D package for Sublime Text 2 (and trying others many like it!) I've found that theres no best solution on OSX. There are however on Windows.

Just before we get started, if theres something I've missed here, tweet at me!

Visual Studio is objectively as good as it gets in terms of .NET development, especially with plugins such as Resharper which are enabling a layer of refactoring that can't be matched by any other .NET IDE. Visual Studio also now benefits from free Unity Debugging on account of Microsoft acquiring SyntaxTree in early 2014.

Visual Studio is far from free though, with professional editions costing thousands. Fortunately theres an express version and you can easily integrate that with Unity.

If you're a lucky student however, you might also be eligible for DreamSpark which will allow you access to the Ultimate version of VS for free.

OSX

If you're on OSX however, you're not as lucky with your options dwindling down to Xamarin Studio, Sublime Text or Unity Embedded Text Editors.

Xamarin Studio benefits from a rich release cycle (over 10+ versions ahead of UT's MonoDevelop), and an extended editor which features such as floating text editors and columns, although falls flat acting sluggish after long coding sessions and prone to memory leaks as with previous versions of MonoDevelop.

Sublime Text 3 is extremely powerful as a text editor, although isn't an IDE. You'll find it doesn't support the features that make Xamarin Studio worth paying attention to, such as IntelliSense and refactoring. However, with packages it does support syntax highlighting, autocomplete, building, and local refactoring advantages. You'll find that everything but autocomplete is a simple setup.

Autocomplete with Sublime Text is currently achievable with CompleteSharp by creating a ST project file, and setting up the correct paths.

You can use this as a base, which'll allow you to get started quickly!

{
    "folders":
    [
        {
            "follow_symlinks": true,
            "path": "Unity/Assets"
        }
    ],
    "settings":
    {
        "completesharp_assemblies": [
            "/Applications/Unity/Unity.app/Contents/Frameworks/Managed/UnityEngine.dll",
            "/Applications/Unity/Unity.app/Contents/Frameworks/Managed/UnityEditor.dll",
            "/Applications/Unity/Unity.app/Contents/Frameworks/Managed/nunit.framework.dll",
            "/Applications/Unity/Unity.app/Contents/Frameworks/Mono/lib/mono/unity/UnityScript.dll",
            "/Applications/Unity/Unity.app/Contents/Frameworks/Mono/lib/mono/unity/System.Core.dll",
            "/Applications/Unity/Unity.app/Contents/Frameworks/Mono/lib/mono/unity/System.dll",
            "/Users/sean/Projects/Unity/Library/ScriptAssemblies/Assembly-CSharp.dll",
            "/Users/sean/Projects/Unity/Library/ScriptAssemblies/Assembly-CSharp-Editor.dll",
            "/Users/sean/Projects/Unity/Library/ScriptAssemblies/Assembly-UnityScript-Editor.dll",
            "/Users/sean/Projects/Unity/Library/ScriptAssemblies/Assembly-CSharp-firstpass.dll"
        ],

        "completesharp_filterregex": "^(get_|set_|op_|add_|remove_|<)",

        "completesharp_mono_path" : "/Applications/Unity/MonoDevelop.app/Contents/Frameworks/Mono.framework/Versions/2.10.11/bin/mono",

        "completioncommon_inhibit_sublime_completions": true,

        "completioncommon_shorten_names": true
    }
}

There are also text editors on the asset store such as UnIDE and Script Inspector that might be better for the people looking not to leave Unity, although I cannot personally vouch for them. Github's Atom is also usable although doesn't benefit from the same community as Sublime Text.

Maybe you've weighted the options and it doesn't seem worth switching from MonoDevelop? Maybe a fresh coat of paint may help ease the pain! I personally use Fira by Mozilla and Base16 Ocean Dark.

Goodluck!