Search Unity

MonoDevelop-Unity 5.9 Preview Release

Discussion in 'Scripting' started by lukaszunity, Aug 25, 2015.

Thread Status:
Not open for further replies.
  1. Ferazel

    Ferazel

    Joined:
    Apr 18, 2010
    Posts:
    311
    Let me answer that for you. This is solely the MonoDevelop IDE upgrade and NOT a mono platform upgrade. A mono upgrade is something that is on the roadmap (www.unity3d.com/roadmap), but this is something separate. So all code is typed and debugged through the IDE, but on the backend Unity will still compile the code using the same Mono compiler/runtime that we've all grown to... love.
     
  2. lukaszunity

    lukaszunity

    Unity Technologies

    Joined:
    Jun 11, 2014
    Posts:
    408
    Based upon the feedback here, I will include more of the bundled add-ins in one of the upcoming releases, but disable them by default.
     
    seaders and Arx like this.
  3. lukaszunity

    lukaszunity

    Unity Technologies

    Joined:
    Jun 11, 2014
    Posts:
    408
    The runtime in Unity has not been updated, you you still need to use .NET 3.5.
     
  4. Arx

    Arx

    Joined:
    Jan 28, 2014
    Posts:
    22
    Thank you! Some kind of version control is surely used by many Unity developers out there.
     
  5. camilo.gonzalez

    camilo.gonzalez

    Joined:
    Jun 24, 2015
    Posts:
    7
    Hi team,

    Have been trying this version for a week, it's working great so far.

    One thing I noticed is that adding triple slash (///) isn't triggering the auto-generated documentation. It used to work in the previous version of Mono. I did a quick test and this also works in Xamarin Studio.

    Can you take a look into this? Maybe an AddIn that is missing?

    Thanks!
     
  6. lukaszunity

    lukaszunity

    Unity Technologies

    Joined:
    Jun 11, 2014
    Posts:
    408
    Thanks for reporting this. I will have a look.
     
    sanpats and camilo.gonzalez like this.
  7. Pharan

    Pharan

    Joined:
    Oct 28, 2013
    Posts:
    89
    I noticed the same thing about ///
    Forgot to report it. But yeah, it's not working. Just confirming.
     
  8. sanpats

    sanpats

    Joined:
    Aug 24, 2011
    Posts:
    343
    Sometime the highlights for identifiers and source analysis will not update (it will highlight the same position after even that part was deleted or changed). Need to close the file and reopen for it to work.

    And /// isn't triggering auto-gen document.
     
  9. ShadowM8

    ShadowM8

    Joined:
    Aug 21, 2012
    Posts:
    16
    This is great, thanks for the preview!

    One thing that always drove me nuts in 4.0 is the broken indentation for namespaces (as in you can't turn it off), it seems like it is still a problem in this version as well. Could this be fixed for 5.3?
     
  10. lukaszunity

    lukaszunity

    Unity Technologies

    Joined:
    Jun 11, 2014
    Posts:
    408
    Thanks for reporting this. I've also noticed this a few times when using Xamarin Studio. Not sure what the repro steps are though.

    I already have a bug report on this issue, so definitely something I will look into.
     
  11. sanpats

    sanpats

    Joined:
    Aug 24, 2011
    Posts:
    343
    I am not sure about repro steps either, but it seems to happen very often when open file from Unity, less likely when open from solution explorer in monodevelop itself.
     
  12. sanpats

    sanpats

    Joined:
    Aug 24, 2011
    Posts:
    343
    BTW, in the latest official release 5.2.0f3, the bug where both versions of MonoDevelop-Unity (built-in and this alpha) will open when click Assets/Open C# Project still exist.
     
  13. Jay-Pavlina

    Jay-Pavlina

    Joined:
    Feb 19, 2012
    Posts:
    188
    Every time I try to add a break point, I get the following error:
    This happens in both MonoDevelop and in the Xamarin Tools Add-in. I'm using a Mac.
     
  14. Pharan

    Pharan

    Joined:
    Oct 28, 2013
    Posts:
    89
    Re: Visibility of [Obsolete] items
    Unlike MonoDevelop 4, this version seems to show all the deprecated/obsolete items from the old Unity API in code completion, which may be helpful on rare occasions but not on a day-to-day basis. I'm not sure how to just hide them like MonoDevelop 4 did. This also annoyed me in Visual Studio.

    Another annoying thing with visible obsolete members is that all the deprecated properties also appear when you're trying to debug, so when you check Locals view it lists them all down but only tells you that they're deprecated. I'd like to just disable these from this view since they'll never be helpful. Is there a way to do that?

    nonsensefields.png

    (hey @Jay Pavlina. Great job on Super Mario Bros Crossover. Loved playing that.)
     
    Last edited: Sep 10, 2015
  15. lukaszunity

    lukaszunity

    Unity Technologies

    Joined:
    Jun 11, 2014
    Posts:
    408
    Thanks. We will have a look into this issue.
     
  16. lukaszunity

    lukaszunity

    Unity Technologies

    Joined:
    Jun 11, 2014
    Posts:
    408
    I've had one other report of this and so far been unable to reproduce it. Can you possible share a stack trace from your log file? (menu: Help -> Open Log Directory)
     
  17. lukaszunity

    lukaszunity

    Unity Technologies

    Joined:
    Jun 11, 2014
    Posts:
    408
    I have a look and see if it possible to disable these somehow and get back to you.
     
  18. liortal

    liortal

    Joined:
    Oct 17, 2012
    Posts:
    3,156
    Running into something really annoying - Find in files consistently hangs my MD (either while searching or when scrolling through the results)
     
  19. lukaszunity

    lukaszunity

    Unity Technologies

    Joined:
    Jun 11, 2014
    Posts:
    408
    OSX and/or Mac? Do you get the same behavior in Xamarin Studio?
     
  20. lukaszunity

    lukaszunity

    Unity Technologies

    Joined:
    Jun 11, 2014
    Posts:
    408
    Alpha 3 is now available for download.

    Release notes

    Alpha 3
    • Fixed "The requested item has been unloaded" when inspecting enums.
    • Fixed "The requested item has been unloaded" dialog when enabling/disabling breakpoints.
    • Fixed "Debugger operation failed. Argument cannot be null" error.
    • Included DocFood (/// documentation) and VersionControl add-ins.
     
  21. lukaszunity

    lukaszunity

    Unity Technologies

    Joined:
    Jun 11, 2014
    Posts:
    408
    The Xamarin specific add-ins are not included in the general MonoDevelop repository and therefor not included in our builds.

    What features are you using from these add-ins for making Unity based projects? I am just curious if there are features we should be implementing to improve the development experience.
     
  22. camilo.gonzalez

    camilo.gonzalez

    Joined:
    Jun 24, 2015
    Posts:
    7
    Thanks Lukasz. Just downloaded the new version and will give it a go - just tried the /// and it's working now.
     
  23. liortal

    liortal

    Joined:
    Oct 17, 2012
    Posts:
    3,156
    I am on OSX... Did not try the same in Xamarin...
     
  24. PlanetTimmy

    PlanetTimmy

    Joined:
    Mar 13, 2010
    Posts:
    117
    It'd be great if you were able to update the SVN support to support a SVN 1.8, although I realise that would probably be pretty low on your list of priorities.
     
  25. sanpats

    sanpats

    Joined:
    Aug 24, 2011
    Posts:
    343
    Git Add-in is nice. Will next alpha be 5.9.5?
     
  26. Pharan

    Pharan

    Joined:
    Oct 28, 2013
    Posts:
    89
    I love how it warns you by graying out unreachable code.

    I have a bug report, but it may be a Xamarin thing.
    When you pull up code completion for a += event subscription, it gives you some options like anonymous delegates or making a new method.

    I often use explicitly declared methods, but when I make it generate a new method, it has all the right parameters but the return type is incorrect. This was a problem in MonoDevelop 4 too.

    Here's a sample of what it generates:
    Code (CSharp):
    1.         public delegate Vector2 SomethingDelegate (int m);
    2.         public event SomethingDelegate OnSomething;
    3.  
    4.         void Start ()
    5.         {
    6.             OnSomething += MyClass_OnSomething;
    7.         }
    8.  
    9.         void MyClass_OnSomething (int m) // notice the wrong return type.
    10.         {
    11.        
    12.         }
    (obviously a theoretical example since you'd never subscribe to an event on the same object. Just imagine it's on some other object.)
     
    Last edited: Sep 14, 2015
  27. lukaszunity

    lukaszunity

    Unity Technologies

    Joined:
    Jun 11, 2014
    Posts:
    408
    We are not actively supporting the Version Control add-ins that shipped with MonoDevelop (which is why they were not included initially) and I find it unlikely that the SVN add-in will be updated, as most people are using DVCS these days :)

    The alpha will be 5.9.6.

    For issues like these I suggest filing a bug to Xamarin: https://bugzilla.xamarin.com/ . You could also file a bug report to Unity, but it would be a low priority issue for us.
     
  28. Pharan

    Pharan

    Joined:
    Oct 28, 2013
    Posts:
    89
    Alright. It's just that I'm not sure if the bug exists in Xamarin. I guess I'll try to download Xamarin and see.
     
  29. giovannicampo

    giovannicampo

    Joined:
    Sep 16, 2015
    Posts:
    5
    Hi, I'm using the Alpha 3 and I would like to create a preprocessed T4 template but it seems it's not available. It is possible to create a T4 file with earlier version of mono-develop for Unity (and Xamarin as well). Does anybody have more info about this regard?
     
  30. lukaszunity

    lukaszunity

    Unity Technologies

    Joined:
    Jun 11, 2014
    Posts:
    408
    Unity does not have direct support for T4 templates, so the add-in for creating these has been removed from these builds. In the upcoming MonoDevelop and Unity REST Integration there will be file-less synchronization between Unity and MonoDevelop, which means that project (.csproj) based add-ins such as the Text Templating (T4) add-in will no longer work. I suggest using Xamarin Studio with a separate C# solution (.sln) for such tasks.
     
  31. sanpats

    sanpats

    Joined:
    Aug 24, 2011
    Posts:
    343
    Does the "Automated Feedback/Report errors and usage information to help MonoDevelop-Unity improve my experience." setting in the preferences actually do anything? Or it is just a leftover from Xamarin Studio?
     
  32. lukaszunity

    lukaszunity

    Unity Technologies

    Joined:
    Jun 11, 2014
    Posts:
    408
    This is a leftover from Xamarin Studio.
     
  33. RickyAh

    RickyAh

    Joined:
    Dec 9, 2013
    Posts:
    2
    Is there any reason not to follow the vanilla Xamarin Studio + Unity Plugins approach?
    I mean, seems like a good idea that unity just work on its own plugins for unity (both for XS and VisualStudio) and leave the burden of IDE development to others (in the case of XS Unity can still contribute with patches)

    For users is also a better approach too, as we won't be locked up to a (really) old version of a tool because otherwise debugging won't work.
    Maybe it also help correcting bugs faster: Unity MonoDevelop debugger still can't properly show the contents of a List nor a Dictionary because the debugger throws an exception when it tries to peek inside it.
    It is a bug that has been there for ages in OSX, The worst offender is that it is just a simple fix: some guy actually fixed the code, recompiled MonoDevelop and shared the dlls you need to overwrite in order to be able to look up at the contents of a List in the debugger.
     
    Last edited: Sep 16, 2015
  34. lukaszunity

    lukaszunity

    Unity Technologies

    Joined:
    Jun 11, 2014
    Posts:
    408
    I answered this partly here: http://forum.unity3d.com/threads/monodevelop-unity-5-9-preview-release.350016/#post-2273849

    Regarding debugging, it may turn out in the end that the only way to get full debugging support is to use our builds. The reason for this is that the debugging client in MonoDevelop is tightly coupled with the debug server in the Mono runtime. Since we have an older version of Mono, some of the features in the newer debugging protocol are not implemented in our Mono runtime and we are forced to introduce some work-arounds into the MonoDevelop debugging client in order fix debugging issues.

    Xamarin are (understandably) not interested in getting our debugging work-arounds for an older Mono runtime into their MonoDevelop builds, as the real fix is to upgrade our Mono runtime and be compatible with the latest debugging protocol. Xamarin are doing their best to be backwards compatible with older versions of the Mono runtime (which is why the latest Xamarin Studio works for the most part), but for some features a newer version of the Mono runtime is a requirement.

    So until we are upgrade the Mono runtime (which is on our roadmap), it is highly likely that using our MonoDevelop builds with custom work-arounds for our Mono is required to get full debugging support going forward.
     
    liortal likes this.
  35. RickyAh

    RickyAh

    Joined:
    Dec 9, 2013
    Posts:
    2
    Thanks for the explanation @lucaszunity
     
  36. lukaszunity

    lukaszunity

    Unity Technologies

    Joined:
    Jun 11, 2014
    Posts:
    408
    Alpha 4 is now available for download.

    Release notes

    Alpha 4
    • Removed "Show Error Reference" and "API Documentation" menu items that launch the documentation browser, which we do not include nor support.
    • Updated MonoDevelop to 5.9.6
     
    sanpats likes this.
  37. ababab5

    ababab5

    Joined:
    Apr 15, 2014
    Posts:
    505
    Hi,
    I have a simple question : why Unity reload all my script after each script modification, even if I build the solution with Xamarin?

    Thanks !
     
  38. sanpats

    sanpats

    Joined:
    Aug 24, 2011
    Posts:
    343
    You have to enable code folding in Preferences.
     
  39. MaByteSolution

    MaByteSolution

    Joined:
    May 29, 2011
    Posts:
    18
  40. giovannicampo

    giovannicampo

    Joined:
    Sep 16, 2015
    Posts:
    5
    Thanks for your response.

    Do you mean to use an external solution (.sln) as per creating an external managed dll to include in my project?
     
  41. lukaszunity

    lukaszunity

    Unity Technologies

    Joined:
    Jun 11, 2014
    Posts:
    408
    Because Unity detects a modification to the script file and rebuilds the project independently of Xamarin Studio. In Prefences -> General you can disable "Auto Refresh" and Unity will then not automatically scan the assets folder for changes.

    Yes, either that or create a "dummy" solution that just includes the necessary files to create a T4 template to be used in your Unity project.
     
    Last edited: Sep 22, 2015
  42. ababab5

    ababab5

    Joined:
    Apr 15, 2014
    Posts:
    505

    Hi,

    Thanks for the answer.

    But the problem is the Unity refresh is slow for medium / big projects.

    For the moment I understand there is no other way ... but in the futur do you plan to let the script editor (tamarin or mlnodevelop ..) to have the hand on this ?

    Thanks !
     
  43. lukaszunity

    lukaszunity

    Unity Technologies

    Joined:
    Jun 11, 2014
    Posts:
    408
    Disabling auto-refresh does not fix your use case? Can you explain your use case?
     
  44. ababab5

    ababab5

    Joined:
    Apr 15, 2014
    Posts:
    505
    Hi,

    Thanks again for the answer.

    Yes, if I disable it, Unity doesn't compile my script. But it's when I refresh the scripts I have my issue : too long.

    Thanks.
     
  45. adamkapos

    adamkapos

    Joined:
    Sep 14, 2015
    Posts:
    2
    I just tried out Alpha 4 on Mac and it freezes Unity 5.1.3f1 around 5-10 seconds after connecting the debugger.

    The issue occurs no matter when I connect the debugger (before pressing play or after fiddling around in the game for a while).
    On the application output I see around 50 threads per second start and finish:
    Thread started: #5129
    Thread finished: #5129
    Even after disconnecting the debugger, unity does not unfreeze and I have to force quit it.
    Sometimes unity crashes instead of freezing.
    If I get lucky, everything works and Unity does not freeze (1 in 20).
     
  46. lukaszunity

    lukaszunity

    Unity Technologies

    Joined:
    Jun 11, 2014
    Posts:
    408
    The more scripts you have, the longer it just takes to compile. Once the MonoDevelop / Unity Rest Integration is released (scheduled for 5.4), we will always be be building using Unity.
     
  47. lukaszunity

    lukaszunity

    Unity Technologies

    Joined:
    Jun 11, 2014
    Posts:
    408
    This sounds like an issue that is specific to your project, could you open a bug report with your project attached and post the case number here? Then I can have a look at this issue. Thanks.
     
  48. seaders

    seaders

    Joined:
    Oct 28, 2014
    Posts:
    29
    The Xamarin.Android package, and all the tools that come with that (Android Device Monitor, SDK Manager...), mainly.
     
  49. darthbator

    darthbator

    Joined:
    Jan 21, 2012
    Posts:
    144
    On a whim I decided to update my home windows machine to windows 10 earlier today and now this version of monodevelop will no longer open for me. Where would this dump startup logs that might indicate why this is happening?
     
  50. lukaszunity

    lukaszunity

    Unity Technologies

    Joined:
    Jun 11, 2014
    Posts:
    408
    Did you install GTK# on Windows 10? From menus you can select "Help" -> "Open Log Directory" to see the log files.
     
Thread Status:
Not open for further replies.