Would love to see a move away from Mono and into .NET core to be honest. Unity seems like it was literally made for it. Though just thinking about the performance improvements over current runtime fare gives me real cause for joy.

Please, guys, for the love of god, if you give me this hope that you’re planning to move out of the 11 year old runtime we’ve been stuck with, please keep your promise, and don’t let this moment just fade into obscurity for 6 years. Having come to Unity from previously rolling my own stuff in modern runtimes, using the antiquated Mono 2.0 was a serious downer for me in Unity. It made me feel legitimately dirty.

The part i wouldn’t like about it if Unity moved away from Mono and into .Net Core is that actually lots of api in Unity still doesn’t work properly when attempting to deploy to Windows Store with Net Core setting or one of the IL2CPP deploy option combinations.
Due to that i would far prefer it if MS recently more open stance would actually allow to upgrade mono to latest Net C# spec and hence Unity be able to deploy that way with full api support, or alternatively MS opening up to allow more when Unity does IL2CPP deploy or alternatively the option MS also brought up at build where one should soon be able to deploy x86 desktop apps to the windows store via some kind of wrapper or container or similar (have to check that once available to see if works well).

Not trying to sound greedy but now that every major company is releasing its technology for free and making it open source, I think it is about time Unity Technologies release the dark skin to EVERYBODY.
The ugly looking Unity editor is long over due.

.NET 4.6 would be yuge, absolutely yuge. That SIMD perf, that cream. Hope it comes sooner than later. Also excited for the director/sequencer thing and what improvements for animation scripting you guys will come up with – I dabble in MMD (MikuMikuDance) videos in my spare time and wanna see what will be possible with Unity, that stuff would be huge in Japan if you could make it better

Hi
I seriously hope IL2CPP becomes replaced/merged with the Microsoft OT compiler to LLVM IR. LLIC and IL2CPP seem partially similar however I did not check completely the depth of the technical limitations of each.
What I know is that unity would like to controls this important part of their tech and probably MS or MS+Unity can create a much better AOT compiler to IR compared to Unity alone.

I say this based on facts and releae history of MS and UT and not senses.

Instead of IL2CPP i’m more curious about a current Mono or .Net Core runtime integration. As Mono itself is now under MIT-license are there any plans to upgrade Unity and ship it with a current Mono version?

Basically upgrading to a new Mono version would fix nearly all problems. Code is probably several magnitudes faster, and i don’t even believe that IL2CPP comes close to the speed of a current .Net Core or Mono runtime. A 4.0 runtime means we finally could use modules from nuget. Newest C# or F# language support. Anyway newest class libraries. And Mono anyway uses it’s own generational GC since Mono 3.0 that is better suited for games.

Both Mono and IL2CPP have their place within Unity. An upgraded Mono does bring many useful things, but it is not “several magnitudes faster” than today and generally IL2CPP runs as fast or faster than even a recent Mono in our tests.

Its true IL2CPP is about a 3rd faster then Mono but not .NET.
.NET Core (aka coreclr) is about a 3rd faster then older versions of .NET with my tests [.NET 3.5] (would have to check again) and the old versions of .NET were already faster then Mono and IL2CPP.

Now I know its a HUGE project to update anything to .NET over Mono as the embedded APIs are different. Also IL2CPP may be more portable then both .NET and Mono because of how it compiles out into C/C++ code… a method I personally agree with and wish .NET itself would implement over LLVM back-ends as it allows you to target VC++, GCC, CLANG, etc compilers…. much more practical.

Because of this I wish IL2CPP would contribute to the .NET foundation and not just consume it by open sourcing IL2CPP at some point. If anything porting over IL2CPP peaces over in some way that allows .NET to have a MSIL to C++ backend.

But i think LLILC was introduced after Unity announced IL2CPP. But converting IL to IR sound more reasonable to me as trying to convert IL to C++. The whole point of LLVM is to have a low-level IR language, not use C++. That is also how GCC works today. That’s in general possible why we have stuff like “emscripten”. As it just compiles IR to JavaScript.

But anyway, they turn it into C++ to convert it later with emscripten, so they already use the LLVM tool-chain to some extend.

I’m asking explicitly because as far as i remember the plan for Unity in the past was to drop the Mono runtime and replace it fully with IL2CPP. But sure the plan was to still use the mono class libraries. So currently that plan changed and the Mono runtime will still be used (except for WebGL)!?