Search Unity

Unity 5 and Mono Runtime

Discussion in 'General Discussion' started by Deleted User, Mar 19, 2014.

  1. Dantus

    Dantus

    Joined:
    Oct 21, 2009
    Posts:
    5,667
    Xamarin's Mono doesn't seem to be an option at the moment. Maybe that changes, but there are no signs right now. If it was an option, we would already have it. The alternatives are a Unity solution that stays compatible with the existing code or something that breaks our code. I personally highly prefer a solution that allows us to keep our code.

    Yes, there are lots of areas in Unity that are not optimal. We don't have to discuss the Shuriken API, I am not even sure if this can be called an API. But that's not the topic! As a professional level programmer you probably understand that the people who are working on Mono are not the ones that are responsible for the Shuriken API, the terrain engine, ... .
     
  2. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,141
    No, but it's a good indicator of Unity's lacklustre support for their own engine. It's become obvious that their priorities have become the most marketable bullet points (mechanim, new lighting system, 2D support, others) instead of fixing the fundamental problems in their engine (mechanim again, mono, terrain, others) and that's a huge problem when it comes to trusting Unity to "fix something themselves" when they've said themselves that they've been looking into it forever now. These are things that need to be addressed and have needed to be for years now.
     
  3. minionnz

    minionnz

    Joined:
    Jan 29, 2013
    Posts:
    391
    Time to go open source!
     
  4. TheOtherMonarch

    TheOtherMonarch

    Joined:
    Jul 28, 2012
    Posts:
    866
    Are you just playing devil’s advocate or do you actually believe this? This solution will not be faster or more feature rich than the current mono. This is going to be a broken toy.
     
  5. tatoforever

    tatoforever

    Joined:
    Apr 16, 2009
    Posts:
    4,368
    I didn't say to drop mono support, In my previous comment I've said that it's good to become mono independent by providing an other way of coding (C++ API, or whatever that solution is).
     
  6. Dantus

    Dantus

    Joined:
    Oct 21, 2009
    Posts:
    5,667
    This is almost what they are doing with asm.js at the moment. Otherwise it would be unbelievable, I agree.
    It doesn't need to be more feature rich. If it supports everything that works now, it would already be a big step forward. It is a little more restricted as it is based on AOT compilation.
    I don't think that the people at Unity who worked for the last two years on WebGL worked on a broken toy.
     
  7. Dantus

    Dantus

    Joined:
    Oct 21, 2009
    Posts:
    5,667
    I missed that. I totally agree.
     
  8. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,141
    Not a broken toy like... flash support? Not a broken toy like mechanim until it finally got updated? Not a broken toy like shuriken? Unity is full of broken toys. It's kinda Unity's thing.
     
  9. makeshiftwings

    makeshiftwings

    Joined:
    May 28, 2011
    Posts:
    3,350
    There are ways to "not break code" (ie, allow you to use .NET languages) aside from implementing a homemade IL to C++ converter with a weird C++ VM. Like I said, they need to figure out how to put a layer in between the .NET side and the engine side that allows plugging in your own runtime. They should be letting us leverage either MS .NET or Mono; they shouldn't be trying to make a third option that is completely untested and unknown to us.
     
  10. Dantus

    Dantus

    Joined:
    Oct 21, 2009
    Posts:
    5,667
    Flash support was heavily improving. Of course, it was not really in a usable state. But this isn't anymore about IL to ActionScript. It is IL to C++, which is technically a lot easier.
     
  11. Dantus

    Dantus

    Joined:
    Oct 21, 2009
    Posts:
    5,667
    Choosing between MS .Net and Mono can hardly be achieved on all the supported platforms. What choices would we have on mobiles? This would likely lead to compatibility problems, if I understand you correctly.
    The third option may be LLVM, which is not a weird C++ VM, but a pretty solid one. We don't know how it works yet. I assume they they are using the same technology for the conversion that as they used for the translation to flash, but this time with a usable target language.
     
  12. jonas-echterhoff

    jonas-echterhoff

    Unity Technologies

    Joined:
    Aug 18, 2005
    Posts:
    1,666
    No, the technology we have built for WebGL is unrelated to what we have had for Flash, and has been written from scratch. Compared to what we've had for Flash, it works at the IL level, and will give you much better compatibility then we've had for Flash at this point already.
     
  13. Dantus

    Dantus

    Joined:
    Oct 21, 2009
    Posts:
    5,667
    Better compatibility sounds great :)
     
  14. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,141
    Jesus christ, I give up. You're seriously just on the "defend Unity whenever they do anything" train even when some of these things are pretty egregious.
     
  15. Dantus

    Dantus

    Joined:
    Oct 21, 2009
    Posts:
    5,667
    You are open to believe that.

    Unity needs to get alternatives to Mono and that's what they seem to be working on. Critiquing something before you even know what it is about and how it works makes no sense in my opinion. What I say is, that this can work and if it does, it is a serious alternative. There aren't too many options.
     
  16. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,141
    It makes sense to critique it because they've had a history of announcing "alternatives" that were overpromised and severely underdelivered.
     
  17. Dantus

    Dantus

    Joined:
    Oct 21, 2009
    Posts:
    5,667
    They haven't even announced this as an alternative!
     
  18. polytropoi

    polytropoi

    Joined:
    Aug 16, 2006
    Posts:
    681
    You've severely underdelivered on your promise, indeed egregiously broken it, announcing you would give up, but failing, utterly, to complete this relatively simple task.
     
    ippdev likes this.
  19. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,141
    You mean like when I cited examples of when they've done just this? Or when I pointed out that they've licensed all sorts of other tech like Mechanim but still haven't gotten around to fixing the "mono licensing problem?" Or when I pointed out how their own internal tools go ages without getting significant updates?

    No, I've delivered exactly this. People like you and Dantus are just really intent on toeing the party line.
     
  20. Dantus

    Dantus

    Joined:
    Oct 21, 2009
    Posts:
    5,667
    You still don't understand what I would like to say. What I say is that IL to C++ is a chance, not more, not less. Critiquing a chance that you have never tried doesn't make sense. And certainly, it would be stupid to say that this is the best thing Unity ever did as it is not even announced and something we couldn't partially test through the upcoming WebGL.
     
  21. Dabeh

    Dabeh

    Joined:
    Oct 26, 2011
    Posts:
    1,614
    Sure sounds like you think it is one though.


    Anyway, I love Unity. I've had my fair share of issues but I work around them, it can be a pain sometimes though.
     
    Last edited: Mar 24, 2014
  22. makeshiftwings

    makeshiftwings

    Joined:
    May 28, 2011
    Posts:
    3,350
    On a platform that supports MS.NET you could choose it, on Android and Linux you could choose the real Mono, and on iPhone you would have to choose Unity Mono for legal reasons. Anyone who wants to focus on cross-platform compatibility would choose Mono, but those who are targeting a PC release could choose MS.NET, and if they later decide to port to Android and find out they've used some Microsoft library that isn't allowed, then that's their fault, not Unity's.
     
  23. makeshiftwings

    makeshiftwings

    Joined:
    May 28, 2011
    Posts:
    3,350
    Anyway, like you said they haven't yet announced that converting to C++ is the official solution to the Mono problem, so it's speculation. But, I just wanted to make clear that I am firmly in the camp of "this is not a solution at all". I don't want something that will help me transition to C++ and away from .NET. One of the main reasons I chose Unity was because it supported .NET. I want an actual .NET implementation that runs actual .NET libraries and remains within a century or so of the latest version.
     
  24. techmage

    techmage

    Joined:
    Oct 31, 2009
    Posts:
    2,133
    Maybe I'm wrong here.

    But I got the impression that the Mono in Unity will never be updated to current Xamarin Mono. That Unity Mono is now it's own separate thing. They will implement there own fixes, and maintain new features, completely separate from Xamarin.
     
  25. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    I haven't seen any real negatives to current Mono - at least not for our games. It performs as well as it needs to, and the only real showstopper for us is the poor garbage collection. Sometimes, garbage cannot in fact be avoided, so it would be nice to improve that thing's performance first and foremost above all other concerns in my view (if not switching from current mono).
     
  26. Dantus

    Dantus

    Joined:
    Oct 21, 2009
    Posts:
    5,667
    I am not interested at all in C++. Indeed I hope they won't support it, because it would even cause more trouble. It would be a nightmare to get questions like: Your package from the Asset Store doesn't work with my C++ code. I have to stop, it is too frightening.
    And I don't think Unity could move away from .Net without loosing many customers. I don't care what the intermediate steps in the compilation process are as long as it works.
     
    ippdev likes this.
  27. HavocX

    HavocX

    Joined:
    Jan 5, 2014
    Posts:
    40
    Dropping Mono for C++ would make the case for Unity vs Unreal Engine a lot weaker, something UT do not need at all.

    I hope Microsoft buys Xamarin which would hopefully mean a license agreement could be reached.
     
  28. cynic

    cynic

    Joined:
    May 21, 2013
    Posts:
    142
    I also don't think that C++ converter is a solution to the current Mono situation. Neither is offering a direct C++ API in my opinion.
    However, I'm also strongly against implementing Microsoft's .NET, because this would cause a clusterfuck of fragmentation to the platform. Especially considering that .NET actually runs on the minority of target platforms. You'd get a different environment for Windows systems, a different one for most other systems and again a different set for iOS. Portability would become hell. Buying assets would become hell. Sharing code would become hell as well. And it would be super annoying having to watch out and ensure that every single library one is using is compatible across the three various runtimes. To be honest, that would actually make a case for UE4 or others, which might have C++ API's however can be coded consistently against all supported platforms.

    At the same time I also don't think Unity maintaining it's own version of Mono is a good idea. As we can all see, they don't seem the fastest in upgrading, improving or adding new features and in the meanwhile the whole runtime would just keep on ageing more and more. Nope, I think a deal with Xamarin has to be reached, one way or another, even if that meant the end of Unity Free. That's the technological choice that was once made. There is no alternative now, except totally replacing it, which would upset a lot of people.
     
  29. tatoforever

    tatoforever

    Joined:
    Apr 16, 2009
    Posts:
    4,368
    No offense but 90% of Unity customers doesn't give a darn about .Net. They just want an easy to work multiplatform engine. Anyone willing to develop top quality clean engineering software better look elsewhere cause the gaming industry will always remain late in that process. Sure I love .net and C# is what got me hocked with Unity but unfortunately is coming to an end on Unity.
    Here are my assumptions: The fact that Unity won't get any license from Xamarin at this point makes me believe they are trying to implement some alternate solution (whatever that solution is support to C++0, C++11, CLI, LUA, etc) while keeping the current mono version for backwards compatibility. And lets not forget that Xamarin already knows how big Unity is, they want lot of money, they are not stupid.
     
  30. tatoforever

    tatoforever

    Joined:
    Apr 16, 2009
    Posts:
    4,368

    Agree with your first part, my previous post reflected that same opinion (in a different way). However don't keep any hopes about new mono licenses on Unity, It wasn't announced for Unity5 and will probably remain as it.
    Dunno why but I just don't like Microsoft working with Xamarin (buyout or not), nothing good will come out of it.
     
    Last edited: Mar 25, 2014
  31. FuzzyQuills

    FuzzyQuills

    Joined:
    Jun 8, 2013
    Posts:
    2,871
    @tatoforever: Agreed on first post! the whole reason why i switched to Unity from Gamemaker. And Microsoft isn't all bad food, but certain aspects - Windows Vista and 8, we are staring at you - haven't helped Microsoft's reputation. if only Microsoft would release somethign decent to get their old reputation back... (Windows XP, anyone? Also not saying WIndows 8 was a bad egg, i found it great to use!)

    Anyway, back on topic: I wouldn't mind a second Programming language to use, like Java or something. (C# looks like a mess, and Boo scripts didn't really work out for me...) Just saying, since Mono hasn't really been a problem for me.
     
  32. tatoforever

    tatoforever

    Joined:
    Apr 16, 2009
    Posts:
    4,368
    I really like .net and C# to be honest but don't hold your breath for new mono versions on Unity, it was already stated they don't fulfill mono license terms and it won't happen. I still have hopes Unity will open their API to support C++. But that's just my personal preference, I barely write high level code in our games, most of the time I spend are shaders, tools and low level systems anyway so I don't really mind if it's C++ or C#. UE4 is doing something pretty nice with their C++ support, providing their own interfaces, reflection and GCs it's ultra awesome. I hope to see something like this on Unity someday.
    PS: To any mod reading this post, the provided UE4 reference is not a comparison or Unity bash, it's just for the sake of reference. So please, don't delete my post. :rolleyes:
     
  33. Astfgl

    Astfgl

    Joined:
    Jan 19, 2014
    Posts:
    86
    I may be the only person on earth who let out a small cheer when it became clear that Unity 5 will not upgrade to a newer Mono. Not because I think the current Mono version is great, but because I'm currently working on something to make the ancient Mono run-time a little more bearable. Had Unity finally done an upgrade, then the usefulness of that work would've been greatly diminished. Now it will be all the more relevant.
     
    illustir likes this.
  34. cynic

    cynic

    Joined:
    May 21, 2013
    Posts:
    142
    Which is certainly great for you and I'm actually curious to see what comes out of this. However, I believe it is only fair for people to ask for an up to date first party solution to this issue. Let's not kid ourselves, long term, C#'s future within Unity depends on this.
     
  35. Astfgl

    Astfgl

    Joined:
    Jan 19, 2014
    Posts:
    86
    Don't get me wrong. I'd much rather have Unity just sort out the issues with Xamarin and upgrade to the latest version of Mono. Once you've used C# 5.0, the Task Parallel Library and the async/await keywords, it's hard to go back 5 years in time to the C# 3.5-equivalent that Unity provides. Not to mention knowing the improvements that a generational garbage collector could bring. But since the situation is as it is, might as well make the best of it and get something positive out of it.
     
    Last edited: Apr 1, 2014
  36. z00n

    z00n

    Joined:
    Nov 24, 2009
    Posts:
    44
    Hm...
    http://gyazo.com/ecdf4d7e732ec876b4de9ddf95fdedca
     
  37. ArmsFrost

    ArmsFrost

    Joined:
    Jul 26, 2012
    Posts:
    35
  38. Dantus

    Dantus

    Joined:
    Oct 21, 2009
    Posts:
    5,667
  39. Marionette

    Marionette

    Joined:
    Feb 3, 2013
    Posts:
    349
    shrug.

    here's how i see it in a nutshell:

    i want the latest mono. from xamarin/MS whomever. do i want my 3d engine providers to be in the business of language development? no. i want them in the business of 3d engine development, focusing on fixes, features and performance.

    either get the deal done, wait until MS buys them and get the deal done, or give us a way to be able to license mono ourselves and plug it in.
     
    vidjo likes this.
  40. makeshiftwings

    makeshiftwings

    Joined:
    May 28, 2011
    Posts:
    3,350
    I really doubt MS is going to buy Xamarin. That rumor has been going around since Mono first came into existence and it still hasn't happened. Microsoft helped start up Mono, they give them money and support, and several of the higher-ups working on Mono are ex-Microsoft employees. They have a cozy relationship, but that should also show that Microsoft isn't really interested in buying them out. I think they're smart enough to know that part of Mono's success is based just on the religious Microsoft hate. Microsoft always insulates themselves with in-between corporations that can present themselves as "open source" and "not mainstream" when they do anything relating to Linux or the open source community.
     
  41. Smooth-P

    Smooth-P

    Joined:
    Sep 15, 2012
    Posts:
    214
    This.
     
  42. charmandermon

    charmandermon

    Joined:
    Dec 4, 2011
    Posts:
    352
    I don't usually fall into troll bait like this, but I would like to just really point out that everything in your response is just wrong. Go home troll.
     
  43. makeshiftwings

    makeshiftwings

    Joined:
    May 28, 2011
    Posts:
    3,350
    What? How is that trolling? I can't even figure out who I'm allegedly offending. People who placed bets that MS is going to buy Xamarin?
     
  44. minionnz

    minionnz

    Joined:
    Jan 29, 2013
    Posts:
    391
    Not entirely sure whether this is Mono or MonoDevelop (conversation suggests it's MonoDevelop), but fingers crossed....

    $unitycapture.PNG
     
  45. minionnz

    minionnz

    Joined:
    Jan 29, 2013
    Posts:
    391
    Not sure what it was that you fell into, but I definitely don't think it was troll bait...
     
  46. makeshiftwings

    makeshiftwings

    Joined:
    May 28, 2011
    Posts:
    3,350
    Yeah it sounds like he's saying he'd patch Xamarin Studio to work with Unity's old version of Mono, which isn't really going to solve any of the big problems. I do like that he called Unity's Mono "a historic bag of quick hacks" though. :|
     
  47. npsf3000

    npsf3000

    Joined:
    Sep 19, 2010
    Posts:
    3,830
    You just got trolled.
     
  48. makeshiftwings

    makeshiftwings

    Joined:
    May 28, 2011
    Posts:
    3,350
    Aaaaarrrrgh... stupid april fools!!! :p
     
  49. Dantus

    Dantus

    Joined:
    Oct 21, 2009
    Posts:
    5,667
    That's wrong. Not Unity's Mono, but Unity's MonoDevelop is "a historic bag of quick hacks" according to the conversation. And anyone who uses MonoDevelop with Unity knows that this is very likely true due to the amount of issues appearing even minor updates.
     
  50. SevenBits

    SevenBits

    Joined:
    Dec 26, 2011
    Posts:
    1,953
    +1. MonoDevelop suuuuuccccccckkkkkkksssssss (letters added to show emphasis).