Replacing MonoDevelop-Unity with Visual Studio Community starting in Unity 2018.1

Starting from Unity 2018.1 we will be shipping Visual Studio for Mac instead of MonoDevelop-Unity on macOS. On Windows will continue to ship Visual Studio 2017 Community and no longer ship MonoDevelop-Unity.

With the (currently experimental) .NET 4.6 scripting runtime upgrade in Unity we are moving towards supporting many of the new exciting C# features available in C# 6.0 and beyond. It’s very important for us at Unity that we also provide a great C# IDE experience to accompany the new C# features.

On Windows, we ship Visual Studio 2017 Community with Unity and it already supports the latest C# features and C# debugging on the new .NET 4.6 scripting runtime. MonoDevelop-Unity 5.9.6 will be removed from the Unity 2018.1 Windows installer, as it does not support these features.

To support the latest C# features and C# debugging on the new .NET 4.6 scripting runtime on macOS, we are replacing MonoDevelop-Unity 5.9.6 with Visual Studio for Mac.

To summarize, we are making the following changes.

Removing MonoDevelop-Unity 5.9.6 from the Unity 2018.1 installer on macOS and Windows and no longer supporting it for Unity development starting from Unity 2018.1.

C# IDE Alternatives

Unity supports opening scripts in Visual Studio Code when selected as an external script editor in the preferences. See Unity Development with VS Code for details. The following also have to be installed for C# code editing and Unity C# debugging support.

Unity supports opening scripts in JetBrains Rider when selected as an external script editor in the preferences.

Rider is built-in on top of ReSharper and includes most of its features. It also supports all the latest C# 6.0 features as well C# debugging on the .NET 4.6 scripting runtime in Unity. See Rider. Cross-platform IDE for Unity for details.

Honestly, I am ok if you are supporting Visual studio for Mac but why you made Monodevelop a worse experience for current release? I am on 2017.3.0 and unable to open my project. I am forced to use Rider which is a paid program or vscode.

This…makes me a little worried. I have personally have had issues installing VS, even on fresh installs of Windows. (I.e. times where the installer hangs permanently, whether run as part of the Unity installer or using the standalone installer.) I had to reinstall Windows to get it unstuck.

VSC isn’t an IDE and Jetbrains isn’t free. So now those of us who want an IDE have no other options.

Coming from Monodevelop/Xamarin — VS2017 is so intimidating. It seems very advanced in comparison. But mere weeks of practice made me reconsider my opinion. It’s very undewhelming. Increasingly frustrating. Slow. Unresposive. Productivity in VS is just abysmal. Great way to sabotage your project (there is whole small industry based on patching holes in this program for god sake).

This is why Visual Studio Code + few C# extensions is such an amazing RELIEF. I advertise giving it a try (with intellisense enabled) and hope Unity reconsider switching to VSCode, support it (maybe even replace Monodevelop with) and ditch Visual Studio misunderstanding before it will harm newcomers to Unity platform. I say this because Monodevelop was easy to start coding in. VS2017 is definately not and I have hard time imagining this won’t deal any blow to future Unity user growth as consequence.

But I hope you can nudge Xamarin to do work with Microsoft to improve Visual Studio in the following areas made MD do the right things for Unity programming:
— Sort Intellisense suggestions by inheritance instead of everything alphabetically. (Helpful since our scripts often inherits too many members from MonoBehaviour and Component and UnityEngine.Object.)
— Not show deprecated/obsolete members in Intellisense suggestions (UnityEngine has a LOT of these).
— intellisense according to PascalCase initials. («ueng» for «UnityEngine» and «ued» for «UnityEditor»)

I think it had more to do with how buggy VS code has gotten. They started out amazing, but things have fallen apart in the last year. It’s a shame, I liked VS Code a lot, but have started using Visual Studio for stability.

I’ve using sharp develop for years deving as it is very lightweight & really great ( although i can’t debug with it ), but i think vsCode is also very light & support debugging ( the point is, you can use the IDE of your choice )

That’s actually great. I’ve been using Rider for half a year now and I don’t want to go back to MonoDevelop by any means, so it’s good that you’re discontinuing your support to an old and feature-obsolete IDE, that way you will be able to focus on more important areas.

I know, that can be a bummer for most. But since my studio can afford licensing Rider, for me it’s an absolutelly straight-forward decission. And man, did everything improve in my workflow when I finally jumped into it.

EVERYBODY CALM DOWN. We all can still use latest Monodevelop with Unity; its just it isnt going to be a custom version of Monodevelop. I dont understand Unity here; if thy problem be new tech support why thee chose to bundle older Mono???
Anyways; people like myself we all can go and use mainline Monodevelop…. just like nothing ever happend!

This thread is flooded with opinions so I’m floating the one useful info by Andrej:
«VSCode has very little intellisense by design. It’s supposed to be improved by extensions. I’m using “C#”, “C# Extensions”, “C# Fix format” and “C# XML Documentation Comments”. With these extensions it’s even better than Visual Studio Community.
So far my experience has been: opening a file is even faster than monodev, autocomplete is as aggressive, debug works.
If UT can package this with the extensions that Andrej listed, I think we’re in good shape.

Didn’t like VS Code, even when I added the extensions I needed. But then, I’m happy with VS community 2017. With the changes to how you can set it to only install what you need, it boots up fast, so I’m pretty happy with it.

I’m just glad Unity is supporting many different IDE vs when I first started monodevelop seemed to be the only choice (at least the only easily setup choice). Now it feels like users can pick what they feel the most comfortable using.

Does the Visual Studio Community bundled with Unity have an exception to the contract clauses which make it impossible to use when doing contract work for large corporations? Otherwise, unless VS Code really has everything I need in an IDE (I haven’t tried it) this all sounds like terrible news for myself and my coworkers, in that we’re pretty much going to be forced into buying VS Pro now.

I’m using MAcOS 10.10 which isn’t compatible with Visual Studio for Mac. Will i still be able to download and use MonoDevelop with Unity 2018?

Also, will I be able to edit UnityScript in VIsual Studio for Mac when I eventfully upgrade my MacOS? I know you are deprecating UnityScrip, but Nimian Legends BrightRidge is going to take a while to convert all my UnityScripts, and right now i am focusing on game updates.

Finally the only upgrade option for me is High Sierra. Is it safe to Run Unity 5.6+ in High Sierra now?

Unity, I am so proud of you lately. The deprecation of UnityScript, the Job system, the data-oriented ECS, the SRPs, the upgrade to .Net Standard 2.0, and now this…. They’re all steps in the right direction. Keep getting rid of all the superfluous stuff and focusing on turning Unity into a serious, capable engine. You are rapidly getting there

Isn’t VSCode technically just a source code editor? I guess it’s extensible enough to be configured as an IDE. It’s definitely served me well thus far with intelligent completion and the debugger, but anything’s an upgrade over MonoDevelop in my eyes.

That’s a pretty dumb comment in and of itself there David. Unity set out clear reasons to remove Mono-Develop i.e. it doesn’t support the latest c# features or versions. Removing it and allowing everyone to simply use their preferred ide is the sensible way to go. I myself use VSCode on both PC and Mac but, you can use whatever works for you. You can even grab Mono again and try to use that if you really want to!

There is a large number of “real” game developers who think unity devs are not “real” game devs. And then you will find systems programmers who think our “real” game dev friends are not “real” programmers. Then there will be a world class Theortical computer Scientist who would think system programming is not “real” computer science.. and that same professor would probably have a rival in the pure math department who thinks computer science is not “real” mathematics… you see where I’m going? Homo sapiens probably thought Neanderthals are not “real” humans and maybe that’s why they are extinct.

It’s natural to think you’re the elite among those who are too similar to you, yet different. I’m not save from this, and I don’t think anybody is.. but it’s important to keep it to yourself, since it may distract others, annoy them, make them feel bad about themselves, or worse, mislead the non-experienced learner into thinking that you’re opinion is a fact.. so think about that when you find yourself inclined to disparage those who are similar but not identical to you.
Maybe you were joking and I took it too far, I apologize if that was the case.

It is unfortunate that MonoDevelop is getting phased out for users that got used to working in it. I personally use VS but if for whatever reason I would need a backup IDE (there were stretches where VS tools for Unity wouldn’t work no matter what and I had to wait for a patch, it has historically been a very buggy extension) then my best choice would be MonoDevelop. MD could be supported, if there was enough will from Microsoft (influenced by Unity) to push changes from VS4Mac back into MD. Consider this statement:
«Visual Studio for Mac is built as a series of components on top of the open source MonoDevelop. When we touch the core, it goes open source, and some of the extensions like Android and iOS development are closed source.»
So, why can’t we have Unity support open sourced back into vanilla MonoDevelop?
Visual Studio and Rider and very expensive, professional products. VS community is free for 5 people studios, but what about if you get 6th person onboard? You’re getting into licencing issues, with prohibitive costs of the full product.
VS Code is OK IDE for web development. It is nowhere near VS level feature-wise, even with «community extensions» which don’t work right half the time. It is arguable if VS Code is an adequate replacement for MonoDevelop.

At first I was going to be dismissive of your post — $250 for a perpetual Rider license isn’t a ton of money, but if you’re a 6 person studio without a cash base and individuals have other day-time jobs, dropping MonoDevelop really is killing a critical tool.

And, I agree, VS Code isn’t there yet. Yes, it’s pretty good, but for it to be a reliable drop-in-replacement with feature parity to MonoDevelop, Unity would need to invest in making and maintaining an official plugin.

FWIW, Rider is fantastic. If your individual team members are up for it, they can buy a perpetual license that THEY own for ~$140. But your company cannot reimburse them for it, unfortunately.

I agree. Unity 2018.1 will be out in, what, a few months max? This is not a lot of warning time for developers with established pipelines and set development environments. I understand you want to progress, but snap announcements like this leave little time for flexibility on our part.

You do realize that you don’t need to upgrade to the latest Unity version if you don’t want to right? Everything before 2018.1 can still be downloaded at Unity’s download archive and you can still use Monodevelop in those versions. It’s sudden but they aren’t forcing you to to upgrade… I don’t understand why so many people are complaining, they even did the same thing when they announced that they were deprecating UnityScript. I say good on Unity for at least actually removing Monodevelop instead of just deprecating it and having it as baggage for the next year or so…

What kind of setup do you have that requires MonoDevelop? Our C# IDE integration essentially only happens through generation of the C# solution/project files, which both MonoDevelop and Visual Studio support. Visual Studio for Mac is a fork of MonoDevelop and the current latest version of Visual Studio for Mac is versioned as MonoDevelop 7.x internally in it’s source code.

While I can respect the decision, I am beginning to get disappointed at Unity’s removal of support for many of the platforms I use for development. It first started with the removal of Unity Player’s support for Windows Vista (I’m a broke student, it’s all I can afford :) ) and was quickly followed by the removal of 32-Bit Support for the Editor with the 2017 series. MonoDevelop has always been my choice of IDE for C#, and I really wish that instead of removing support for all of these features, you guys would try and take the time to allow developers to choose what they want supported by their editor. I can respect that you guys may not have enough people to carry on support for all of these things, but I would really like to see it happen. Just my two cents :).

I have to disagree with you. VSCode has very little intellisense by design. It’s supposed to be improved by extensions. I’m using «C#», «C# Extensions», «C# Fix format» and «C# XML Documentation Comments». With these extensions it’s even better than Visual Studio Community.

Currently vscode is broken when .NET 4.6 support is enabled. There are many issues posted in vscode debugger repository. I hope you will fix it when 2018.1 will hit beta channel. Also vscode is superior compared to vs community. It’s lightweight, cross-platform, has a lot of extensions, great support (major update every month) and it’s way faster than anything I used in the past.

i wish a better support for Visual Studio Code…
it’s lightweight and not so bloated than VS -> = 1 GB installation space… vs. VSC = 200mb install size
VSC is much faster and has !!! THEMES !!!!
VSC has a extension in Asset Store that the UNity3d people always forget!!!! WHY????
VSCode is the name and is a helper for Unity3d…

can not understand the low information from the writer here… is he from Unity3d???

also what is up with the forums… long time now… so many unanswered questions… nobody from Unity3d there to help anymore???

to me & i’m a long time User since version 1.5…
Unity3d is grown to fast to big and doesn’t know whats up everywhere… no support etc…
i know that problem from Macromedia (creator of Flash etc) … here it looks like the same now…
maybe too many Macromedia people working @ Unity3d…
to me it looks more like the beginn of the end…

not happy @ all with Unity3d and the famous Asset Store where you don’t can give non working Assets back…

Monodevelop coming with Unity was pretty useful for the assembly browsing not being total utter shit like Microsofts Visual Studio version which is just well… useless garbage adding to already bloated IDE. Visual studio solution explorer is kinda rubbish like with half a dozen tree expands for .Plugins, .Editor…to me is completely pointless as they are already in further Plugin/Editor folder expands already…. but whatever VScode debugging is just bad, and well after the longer startup of VS its good still. At least the scrollmap is better than all the other ide implementations.. how VScode has a worse scrollmap than VS even though its MS product is just weird. I always thought the Monodev ide would get better support and improvements with Unity promoting it, instead it got ditched. oh well whatevs roll out 2018.1 maybe 2019 is the year Unity gets a better full source editor without trailing with some useless that requires launching some third party ide.

VS Code/Mac seems to generally be pretty good and MonoDevelop has been buggy for the past while for sure.
However, one point about VS Code/Mac is that unless you are developing software under the OpenSource Initiative you need to start paying $45/month/seat once you have 6 VS Code or qualify as an «enterprise» (have more than 250 pcs or $1 million in revenue/year). Which may lead a lot of indie developers to inadvertently break the licence agreement on VS Code/Mac and run the risk of being sued for not having purchased software that was installed automatically on their computer whether they wanted it or not.

I’m kinda sad about this. I really enjoyed the aggressive autocomplete, the keyboard shortcuts, the color layout of MonoDevelop. I feel like people really just like to hate on it even though it was a decent IDE. I actively dislike Visual Studios since it’s bloated, takes too long to load, and the color schemes are gross to me. I guess I’ll just have to grab the official MonoDevelop, but again I enjoyed that it just came with Unity without any additional setup.

I much prefer monodev to VS because its autocomplete is more aggressive, less laggy and synching a project is much faster in monodev.
so because VS << monodev in these aspects, I'd like to see support continued until VS is on par. (and yes I know VS is superior in other aspects but I don't use them)

Good to see Unity actually removing old things from their platform instead of just deprecating them! Especially since programs like Rider and VS Code were miles ahead of Monodevelop-Unity. Another thing you guys should remove entirely is the old component references in Monobehaviours, its really annoying when intellisense tells you that there is already a field named rigidbody2D or renderer… Hopefully 2018.1 will see a lot of old and deprecated things removed! :D *Cough, cough* UnityScript *Cough*

Latest MonoDevelop and other C# compatible IDEs/code editor will likely work with C# code editing. However, Unity C# script debugging in latest MonoDevelop will not work, as it requires a custom add-on. This will also be true for other C# IDEs that do not have explicit support for Unity C# debugging.

Monodev was really a mess, but i used it a lot rather than visual studio because i hate visual studio as well. Do i have more options than this too? Also, visual studio code is now my prefered option, it’s clean, less polluted version of the main visual studio