I read today on this website, that you intend to ship Unity 4 with Mono 2.6. This makes me curious, because I think that’s a really bad idea. Can you provide an explanation on why you’re aiming for 2.6, when 2.8 includes the entirity of C# 4.0 and more importantly, a new and improved garbage collector?
There are quite a few of us out here who’re dying to get a garbage collector that is not only generational, but compacts the heap properly after cleanup, so we can get rid of the memory issues that arise when allocation heap becomes fragmented over time. The garbage collector prior to 2.8 has been bothering me for well over a year. I thought you were going to upgrade to Mono 2.8 with the next major release of Unity, and was really looking forward to this. I guess my question is two-fold:
Is it a stability thing? That is, are you waiting for Mono to declare 2.8 a stable release?
If Mono 2.8 reaches total stability before you start thinking about Unity 5, can we expect a Mono upgrade before the next major release of Unity?
The reason is more that Unity has a custom mono version and needs to port their fixes and changes over without breaking too much (as mono 2.6 to mono 2.10 is codebase wise a breaking update due to the GC and memory changes).
They have been experimenting with mono 2.10 for quite a while already (there is a bleeding edge framework in the install), though I don’t think that any platform that really runs mono is using it at the time (potentially editor and flash target are using it, but none of the others)
At Unite the topic came up as well and from what I got the idea is to get the Mono 2.10 upgrade into the 4.x cycle, just not 4.0.
If we are lucky another reason for the delay is that they upgrade monodevelop to the proper version (unitys modified MD 2.8 is several broken and shows bugs the original version didn’t have since 2.4 anymore. Especially intellisense is broken to a degree thats worrysome) and enhance other forms of interaction between native and managed.
Thats are at least my hopes
Thanks a lot for the reply, and for the report directly from Unite.
That’s really comforting to know! That they intend to upgrade it sometime during the 4.x cycle, that is. That’s okay by me, I was just getting a little disheartened with the prospect of waiting another full release cycle.
I’m not that worried about mono develop, since I use Visual Studio and consider that a wildly superior editor in all respects, especially since the advent of http://unityvs.com/ which seems to be able to attach the Unity process to Visual Studio’s debugger.
At Unity Japan 2013 I heard that because of licensing problems, they do not plan to update mono in the 4.x cycle… So basically we need to find workarounds for all those mono bugs by ourselves and survive with Boehm GC…
WTF … the whole point in mono is that its open source surely that means licensing is the least of their worries?
I hate it when really cool products are bottle necked over crap like politics!!
I too want to see features like concurrent collections, tasks, proper GC, but also EF so I can code up my servers with a bit of ease.
I came across this thread, which answers some Mono questions. Apparently, it’s less about licensing and more about lack of benefits vs consequences of breaking backwards compatibility.