Scripting Runtime Improvements in Unity 2018.2
We’ve been hard at work improving the updated scripting runtime since our last update. Unity 2018.2 ships with dozens of bug fixes related to the scripting runtime, thanks to all of the great feedback we have received since the .NET 4.x Equivalent scripting runtime became officially supported in Unity 2018.1. We’ve also added a number of features, available only with the .NET 4.x Equivalent scripting runtime, which make switching your project even easier.
Managed code debugging with IL2CPP
Unity 2018.2 brings managed code debugging to the IL2CPP scripting backend, with all of the same features as the Mono scripting backend. Just enable the Script Debugging option in the Build Settings for your IL2CPP builds, deploy the Unity player, and debug with great tools like Visual Studio (and all other debuggers which work with Unity).
The debugger attaches to the Unity player running on the device for IL2CPP just as it does for Mono. So remote debugging of a player running IL2CPP is available.
Debugging works with all IL2CPP platforms except Xbox One (don’t worry though, support for Xbox One debugging is coming in 2018.3).
Modern SSL/TLS support in .NET
The .NET 4.x Equivalent scripting runtime brings full TLS 1.2 support to all of the .NET class library APIs, on all Unity platforms with Mono and IL2CPP. Unity will now work properly with the operating system to access the local certificate store and make secure socket and HTTPS connections work as you would expect.
Optimizing build size
The API Compatibility Levels available with the .NET 4.x Equivalent scripting runtime bring lots of great .NET APIs Unity developers have wanted for some time. They also bring more code from the .NET class libraries, which can increase the build size. We’ve focused the 2018.2 and (upcoming) 2018.3 releases of Unity on making the build size as small as possible for the .NET 4.x Equivalent scripting runtime.
Our internal tests indicate that Unity 2018.2 ships with a build size increase of less than 2% for a number of real-world projects that switched from the old scripting runtime to the new scripting runtime. In 2018.3 we’ll be delivering more improvements, including new features to allow even more aggressive managed bytecode stripping options, so stay tuned.
The future of .NET is bright
These are a few of the improvements we’ve been able to make with the .NET 4.x Equivalent scripting runtime to make the lives of Unity developers just a little bit easier. The 2018.3 release of Unity will bring even more improvements, as we continue our mission to democratize game development.
Unity 2018.3 will make the .NET 4.x Equivalent scripting runtime the default option for new Unity projects and will deprecate the .NET 3.5 Equivalent scripting runtime. Look for the .NET 3.5 Equivalent scripting runtime to be removed from Unity in the 2019 release series.
If you haven’t tried your project with the new, .NET 4.x Equivalent scripting runtime, the new features in Unity 2018.2 are a great reason to switch.