Using MonoDevelop in a useful manner?

Hi everyone,

the title says it all: Has anyone ever used MonoDevelop in a useful manner together with Unity?!?

I’m currently encountering several problems which make me tear my hairs out:

  1. It is NOT possible to run Unity, double click a cs file to open MonoDevelop and then Debug! Scratch it… not possible. Unity will rant about a second session started with the same project.

  2. Starting MonoDevelop and then hit debug to… well… debug, will start Unity. But then you might still have to hit Ctrl+R to reimport any changed file (which makes my Unity freeze). You’ll have to “restart” Unity this way any time you have altered a cs file.

  3. The two above mentioned problems lead to the fact that you lose a lot of precious time. Add those turn around times to the fact that Unity freezes when reimporting cs files (when started through the MonoDevelop Debugger) even when the “Play” button has not been hit!

I’m perhaps the exception, but I like to debug my code. When I do some more complicated stuff, I’d rather debug through the code than “hope” than “it runs because it compiles”. And no… stitching my code with debug output everywhere is not a good way to work…

So, if anyone has some useful hints about how to use MonoDevelop in a good manner, then please reply to this thread.

If anyone has some useful add-ins for MonoDevelop which facilitate the work (i.e. something like Visual Assist for VS), then post it please.

In the state it is now, working with MonoDevelop together with Unity is just a big PITA.

Have fun…

I agree, why aren’t the errors/warnings listed inside monodevs console?

I don’t mind having unity open as its normal in my workflow, but to have to check the console is a little obtuse when trying to cross-reference any bugs.

  1. For debugging, open MonoDevelop first, then choose Debug to launch Unity.
  2. You don’t have to manually reimport modified scripts - Unity will pick them up automatically.

You can get MonoDevelop to check your C# scripts for errors by enabling “Build project in MonoDevelop” in MonoDevelop’s Unity debugger settings.

Hi,

@1: I now that. But when I’m in Unity, working on my scene, then I double click a cs file to enter MonoDevelop, it’s not possible to just hit debug… I’ll have to close Unity first…

@2: True… but due to problems between Unity and MonoDevelop (and Unity and ie. Bitdefender), Unity freezes when ie. started from MonoDevelop (by hitting debug) and then re-importing altered files (doesn’t matter if they are re-imported manually or automatically). I can bypass the Unity<->Bitdefender problem by enabling game mode. But unfortunately, this doesn’t help with Unity<->MonoDevelop.

@“Build project”: My experience is that MonoDevelop doesn’t catch all the errors. From time to time an error slips by, popping up when the file is imported into Unity.

The overall experience with Unity and MonoDevelop (workflow; stability; etc) is a pita. This week-end I decided to scratch debugging with MonoDevelop as long as I don’t really need it. Currently for new stuff which doesn’t directly rely on Unity classes, I build prototypes with VS2010 to implement and test what is needed and finally I copy it over to my Unity project.

I’ve been in the game development industry for 14 years now… but gosh… I just feel like having time traveled back to 1998…

I tried MonoDevelop twice but it’s quite useless and a waste of time, due to the reasons mentionned above. Besides, when the program is launched from MonoDevelop and stops at a break point, Unity is frozen and you can’t use the scene view. In a nutshell, when you use MonoDevelop, you can no longer use the Unity editor.

I will return to “Debug.Log” and “Debug.DrawLine” debugging - it’s not ideal, but working with MonoDevelop is worse.

You’re exaggerating.
1998 was not that bad!

My cycle is :
open monodevelop, then open the project and debug in unity3d, rinse and repeat. I wish that, when i stop debugging, it does not close unity, instead it keep it open.

Also, apparently Monodevelop is still inferior in comparison with Visual Studio, at least it is not like VS2008/2010 that it detect when you want to use, for example, a wrong casting or a variable with a different type.

And (in mono developer) Run->Run With->Unity Debugger it freeze the program. :-?

it is not so bad, for example, in PHP i work with notepad++, i.e. no debug, no autosuggest, no nothing but colored text.

I use notepad for PHP, nothing but text. :sunglasses:

Totally agree with OP, plus today monodevelop stopped recognizing any variables - everything is an ‘unknown identifier’

There is a huge delay on unity syncing automatically with monodevelop and both freeze constantly.

I am a big fan of the eclipse IDE and i can at least work effectively with visual studio.

I am recommending to my team to move to openGL asap

Remember me to not ever buy anything programmed by you in PHP.

Humans make mistakes, not using a proper IDE not only makes your coding take longer (thus more expensive) but also, more buggy or exploitive, if you dont even know how to use IDEs, how are we suppose to trust any of the code you write?

Using notepad doesnt make you leet, last i checked, using Emacs and Vim made you leet.

Personally, I try to use any IDE that gives me more and more options, not only my code will come out much clearer, it will also come out much more safe and extendable. When you use a proper IDE, you will be much more inclined to use OOP effectively and less shortcuts in variable names and class names etc, also, your naming scheme will be much more understandable and easier to debug.

Id like to have Visual Studio in macosx not because of the ide itself, but because of the plugin called Resharper. You cant pretty much argue anything until you have tried and got adapter to using it. Theres a reason why there is so much hype around it.

PS: the last poster says he is going to recommend his team to move to openGL asap … i kinda fail to understand that because Unity uses openGL AFAIK

PS2: I totaly agree with the threat creator, even in 1998 we had better tools. Think Turbo Pascal, that thing is VERY old, it ran in DOS, and it was one of the best debugging tools i have ever used. Too bad it is for a dead language.

What I dont understand is why there aren’t more people discussing the problem. My artist colleague loves unity and I want to work with him, but i feel so unproductive in mono.

are there any IDE c++ coders out there? lend your voice

Resharper is a great tool. MonoDevelop does support a few refactoring functions similar to Resharper’s, and the MD team is adding more each day.

Similarly, we’re working to improve the debugging workflow, and to add stability and polish across the board.

I certainly miss having a good IDE with Unity (like Visual Studio). At least you can finally debug with MonoDevelop but the fact it is not integrated with Unity and the way you have to run it first to run Unity makes it look a little amateur.