Search Unity

Monodevelop vs Visual studio

Discussion in 'Scripting' started by mushey, Nov 20, 2016.

  1. mushey

    mushey

    Joined:
    Nov 13, 2016
    Posts:
    39
    hi im new to unity, whats the difference between monodevelop and visual studio,im currently using visual studio...
     
  2. makeshiftwings

    makeshiftwings

    Joined:
    May 28, 2011
    Posts:
    3,350
    Visual Studio is awesome, and MonoDevelop sucks. Those are the main differences. ;)

    If you already know how to use Visual Studio, you should stick with it. The main thing MonoDevelop has going for it is that it's free, but if you've already got a copy of VS that may not matter. There is also Visual Studio Code, which is the free version. VS Code is a little more complicated to set up with Unity than the full version of VS but still better than MonoDevelop in my opinion.
     
  3. DroidifyDevs

    DroidifyDevs

    Joined:
    Jun 24, 2015
    Posts:
    1,724
    If you're new, here's pretty much everything summed up in 1 line:

    Monodevelop is bad, Visual Studio is good.

    In all honesty, I've only used VS's debugger once or twice. I just like the overall workflow, the customizable UI, the super smart code prediction and handy keyboard shortcuts that Monodevelop doesn't have. Oh and Visual Studio starts 99% of the time, while Monodevelop crashes more often than it doesn't. Since I wrote my very first line of code in Visual Studio, I've used it since.
     
    mushey likes this.
  4. absolute_disgrace

    absolute_disgrace

    Joined:
    Aug 28, 2016
    Posts:
    253
    +1 Visual Studio

    I haven't tried MonoDevelop but i'll root for the VS team because I've used it and its pretty great. I've used a few coding editors in my time and there are a tonne of features I've fallen in love with in this editor.
     
    mushey likes this.
  5. Timelog

    Timelog

    Joined:
    Nov 22, 2014
    Posts:
    528
    Visual Studio Community 2015 is free (limited to non enterprise commercial use), and basically the complete toolset of what used to be Visual Studio Pro pre 2015 versions, so there is 0.0 reasons to use MonoDevelop in my opinion.
     
    makeshiftwings and DroidifyDevs like this.
  6. Baste

    Baste

    Joined:
    Jan 24, 2013
    Posts:
    6,338

    Unless you're on a mac wait whoops.
     
  7. Scabbage

    Scabbage

    Joined:
    Dec 11, 2014
    Posts:
    268
    I've used both extensively, and I absolutely love VS over MD.
    The only time I use Mono is on my mac, and that's just so I can code windows stuff in C#.

    @Baste Also VS has a Linux Version too ;)
     
  8. Timelog

    Timelog

    Joined:
    Nov 22, 2014
    Posts:
    528
    Well that more Visual Studio Light Light. VS Code does not have the features the full IDE has, and that is exactly what has been announced for mac, a full featured VS IDE.
     
  9. romatallinn

    romatallinn

    Joined:
    Dec 26, 2015
    Posts:
    161
    VS +1. Although I use free MonoDevelop, because there is no free VS for OS X... :(
     
  10. Timelog

    Timelog

    Joined:
    Nov 22, 2014
    Posts:
    528
    Like @Baste pointed out, there is: https://www.visualstudio.com/vs/visual-studio-mac/ It's a preview version, so not sure how good it works atm, but I'd say, gogo test it :D
     
  11. passerbycmc

    passerbycmc

    Joined:
    Feb 12, 2015
    Posts:
    1,741
    The Mac version has nothing to do with the windows version, and is just rebranded xamarian
     
  12. Timelog

    Timelog

    Joined:
    Nov 22, 2014
    Posts:
    528
    It's true that it's base is Xamarin, but the goals of VS for Mac is that it'll have the exact same feature set as the Windows version, as opposed to Visual Studio Code which is meant as a lightweight IDE, and the feature set is the main reason you'd want to use it.
     
  13. passerbycmc

    passerbycmc

    Joined:
    Feb 12, 2015
    Posts:
    1,741
    It still is no where near that yet. Still missing the majority of vs proper features and has no vsix support.
     
  14. makeshiftwings

    makeshiftwings

    Joined:
    May 28, 2011
    Posts:
    3,350
    Ah I didn't realize Community was free for small companies. That's awesome.
     
  15. Zaflis

    Zaflis

    Joined:
    May 26, 2014
    Posts:
    438
    Overthinking it? When i installed Unity it installed Visual Studio too. I haven't even paid attention to what version it is, just made free account and it was happy. But i've never manually gone and installed any VS.

    Now that i checked in Unity it is the Community 2015.
     
    mushey likes this.
  16. Art_and_Strategy

    Art_and_Strategy

    Joined:
    May 27, 2016
    Posts:
    1
    Visual Studio is huge like S***. It's slow and contains millions unneeded features. Mono is small, fast and does exactly what is needed.
     
  17. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,190
    Use a solid state drive. You'll find the performance is completely different. Seconds to load at most.
     
  18. Invertex

    Invertex

    Joined:
    Nov 7, 2013
    Posts:
    1,550
    I have a high performance NVMe SSD as my system drive and Unity/VS drive. VS is still fairly slow to load, and it takes a good 20-30 seconds to reload the code for my project which is pretty annoying as it has to do it any time I add/move/remove a file in Unity. I really hope Unity and MS get the incremental building stuff working soon and MS pushes out the fixes for proper assembly definition handling (right now assembly definitions contain tons of empty folder trees in VS making them difficult to work with through the VS explorer, and trying to move files to different assemblies from within VS can cause some serious issues.

    Monodev is really perfect for just straight forward programming with Unity that is fast and simple. I'd probably still use it right now if it weren't for the 6+ year old severe level garbled copy/paste bug they've still not fixed.
     
  19. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,190
    Weird. I don't have that problem now on my fairly new system (Ryzen 5 1600X, 16GB DDR4-2666, Samsung 850 EVO) and I didn't have that problem with my previous system either (Phenom II X4 965, 16GB DDR3-1333, Samsung 850 EVO). Both systems had Windows 10 and I was using Visual Studio 2017.
     
  20. Invertex

    Invertex

    Joined:
    Nov 7, 2013
    Posts:
    1,550
    5820k @4.3ghz (a 30% OC) with DDR4-3000 in quad-channel configuration, so decently faster performance. And ADATA SX8000 SSD, which is rated around 2500MB/s Read, and 1100MB/s write. Samsung 850 EVO is only around 520MB/s read/write :p


    It depends on how much code you have in your project haha, we have... a lot. But VS wants to reload every assembly even if the change that happened doesn't affect later compile time assemblies (like adding an editor script and it reloading all Plugin assemblies). Monodev doesn't seem to care as much and opening it doesn't require it to rebuild the project itself, but for some reason VS needs to.

    There's a known issue with VS and Assembly Definitions too which Unity said they submitted a fix to MS for, but has yet to materialize in VS.
     
  21. zoran404

    zoran404

    Joined:
    Jan 11, 2015
    Posts:
    520
    VS and VS Code have nothing in common, expect for the name.
    VS Code (like many newer text editors) is a simple web app, that installs Chromium alongside itself.
    It used to be an online web app, but people don't like uploadng their files and then syncing all the time.
     
  22. zoran404

    zoran404

    Joined:
    Jan 11, 2015
    Posts:
    520
    If you install VS 2017 then the installation is fairly small.
    Also I haven't had any problems with it ever since I got an SSD, so your problem is probably with your PC or your system.
     
  23. Brathnann

    Brathnann

    Joined:
    Aug 12, 2014
    Posts:
    7,188
    Very odd. VS 2017 is fast for me. I have a 960 evo and it's almost instant. Mono has always been super slow for me and would crash on me, so I hadn't touched it in ages.

    VS 2017 also has the newer feature where you can just install stuff related to Unity (for example you don't have to install the stuff for asp.net if you don't need it)
     
  24. Joe-Censored

    Joe-Censored

    Joined:
    Mar 26, 2013
    Posts:
    11,847
    Now that this is necro'd, the biggest difference today is MonoDevelop is not supported in Unity 2018, while VS is supported. Unless you plan on sticking with Unity 2017 forever, its getting close to switch time.

    Thank goodness too, because its also finally the end of all the odd MonoDevelop behavior threads.
     
  25. BlackPete

    BlackPete

    Joined:
    Nov 16, 2016
    Posts:
    970
    I have nothing but bad memories of MonoDevelop. Every time I needed to use the debugger, I felt like it was a gamble whether it'd work or not. Or make Unity crash.

    VS2017 loads up damn near instantly for me. Sorry, but if it's taking 20-30 secs to load for you, something's wrong with your machine.
     
  26. Invertex

    Invertex

    Joined:
    Nov 7, 2013
    Posts:
    1,550
    I didn't say VS itself takes 20-30 seconds to load... I said our project code takes 20-30 seconds to fully recompile, and VS wants to do a full recompile any time a new file is made, deleted or moved.
     
  27. BlackPete

    BlackPete

    Joined:
    Nov 16, 2016
    Posts:
    970
    That's not VS. That's Unity. If you want to disable that, go to Edit->Preferences->Auto refresh and uncheck that.

    Of course, it then gets annoying because you then have to manually trigger a build after making code changes. It's largely a user preference, though.
     
  28. Invertex

    Invertex

    Joined:
    Nov 7, 2013
    Posts:
    1,550
    I'm not talking about Unity's auto-refresh. VS does it own reload of all code which takes a while. I can hit cancel to not do a reload when the alert pops up, but then the solution explorer gets pretty messed up at times and only listing a couple assemblies.

    Monodev never needed to do this, which made it really nice. VS has a ways to go to improve its integration with Unity and there is currently a confirmed bug with handling assembly definitions that has not had its fixed pushed out by MS.
     
  29. zoran404

    zoran404

    Joined:
    Jan 11, 2015
    Posts:
    520
    When you make a new file unity will rewrite the vs project files (so it lists newly added file), this causes VS to reload the project.

    A workaround for this is to create the new file in Vs, so it can modify the project files itself, thus avoiding a reload.

    Although even reloading shouldn't take too long on a decent PC.
     
  30. Invertex

    Invertex

    Joined:
    Nov 7, 2013
    Posts:
    1,550
    That's part of the problem though because currently VS doesn't handle the definition files properly and lists all manner of unrelated, empty folders in the solution explorer, making it an extreme pain to be adding files there. And moving files through VS while using assembly definition can result in whole files becoming wiped clean.

    I have a quite high performing PC, so that is not the issue at all. This is a very large open world project we're talking about with many complex plugins and hundreds of our own scripts all having to be recompiled each time.

    https://forum.unity.com/threads/issues-with-visual-studio-unity.514304/#post-3399642

    Hopefully 15.6 will fully fix the issue.