The Future of Scripting in Unity

“The Future of Scripting in Unity” promises a lot of wonderful things, we were so long waiting for. “.NET Upgrade”, they said. “Feature development and bug fixing proceed much faster”, “will keep on leveraging the wonderful Mono Project”, they said.

Today is precisely two years since this article was posted: May 20, 2014.

2 Likes

The biggest issue I have with il2cpp is that the editor is using Mono. So now, when I deploy to iOS and use il2cpp, I get bugs I never encountered in the editor.

Uhh yeah…that year of introducing 64bit support through il2cpp was a lost year… =O

1 Like

The biggest issue I have with il2cpp is that it prevents “.net profile upgrade”. So we cannot use up-to-date class libraries, compiler, runtime, and language syntax.

You can actually update the compiler to use C# 6 features, but the CLR is still 2.0 so you will not get async/await type features. This also apparently fixes the foreach memory leak. https://bitbucket.org/alexzzzz/unity-c-5.0-and-6.0-integration/src

I want to reiterate that I think it’s silly that we don’t have an updated runtime. I hope it actually happens now that the license restriction on Mono has been removed.

Not gonna happen: “So the whole topic is irrelevant to Unity: Xamarin is free now but this won’t affect Unity in any way because they’re making their own CLR replacement.”
http://forum.unity3d.com/threads/update-for-language-runtime-libraries-any-eta.398740/
http://forum.unity3d.com/threads/xamarin-now-free-and-supposedly-open-source.395040/page-4

1 Like

We are actively working on integrating an updated Mono runtime. We can’t say yet when it will be available, but it is in development now.

I know it has been a long time coming (trust me, we want to use C# 6 and .NET 4.5 features in managed code running in Unity as well!), due to factor both within and outside of our control. But it will happen, thanks four your patience!

4 Likes

I believe you, Josh!

Any news?

@Qbit86

Yes, actually! The updated C# compiler has just landed internally, and should be in the next 5.5 alpha build (which is currently available to a closed alpha group).

We’re going full speed ahead on the Mono runtime upgrade, both with Mono and IL2CPP. We don’t have anything to release there yet, but things are starting to work internally.

2 Likes

I just noticed this. A little slip that indicates the REAL timeline? :wink:

Hah! No, just one of my normal typos.

Wait, so there’s a chance we won’t have to work around bugs that were fixed in 2009 this year?

Woo hoo, I guess?

@Baste

I can’t make any promises about a timeline, as we’re still working on this internally, but yeah, hopefully soon.

Well, now in updated roadmap for 5.5: “Upgrade Mono C# compiler against our current .Net 2.0 and 2.0 Subset profiles. Note that this is an upgrade of the C# compiler only, not the full Mono runtime”

What about async/await and it’s library support (Task and other classes from TPL)?

We’re not planning to expose any C# features yet. Although the new compiler does support them, some other parts of the ecosystem (e.g. script updater, debugger) are not ready for C# 6 yet. We’re working on updating those other tools now, but so far the plan is to ship Unity 5.5 with the existing C# 4 language support. but C# 6 and .NET 4 support is still in the works.

If you are interested in trying the new compiler in a test build of Unity 5.3, check out this section of the forums: http://forum.unity3d.com/forums/experimental-scripting-previews.107/

Any ETA for 5.5? At least new compiler is still better than nothing, even if no upgrade for language/libraries/runtime. Looks like these new features will not be available this year :frowning:

No we don’t have an ETA for 5.5 yet. I suspect it will be out by the end of 2016, but that is just my guess, and I have no control over when it is ready.

“Give us your feedback!”, says amazing video clip in recent exciting blog post.

Unfortunately, my English vocabulary is very poor, not enough to express my emotions, when you are waiting for upgrade to modern C#/.NET for years, and official blog after all EXCITED TO ANNOUNCE NEW UBER FEATURE MEGA COOL SPLASH SCREEN!

Totally agree. Unity shouldn’t be fixing bugs or developing new features until they are completely done with [some particular feature I want]. I have been waiting for [amount of hours/months/years] for [some particular feature I want]! I refuse to believe that some features requires more development time than others or that the priorities of other developers are different from mine!

Also, considering that Unity only employs one programmer and can therefore only work on one thing at a time, I can’t believe they are wasting time not working on [some particular feature I want]!

4 Likes