Unity支持的C#版本

Unity 5.5的Mono编辑器支持c#4.0,但是unity5.5 运行框架是.net 2.0 的大部,加上.net 3.0和.net3.5的各一部分的集合,不支持.net4.0。

可以在unity5.5里写c#4.0的语言特性

但是引用的类和库,.net 2.0里面的随便用, .net3.0 和 .net3.5里面的新特性只能用一部分。.net 4.0以上的不能用。

unity 5.6 的发布说明中没有说更新语言。那么unity 5.6 也是同样。


  • Unity 5.5.4自带的Mono也可以支持C# 6,在mcs.rsp文件中添加一行:-langversion:6即可。

Unity的 .NET Runtime版本是2.0,支持的 .NET Profile是3.5,默认的C#语言版本是4.0。

Unity 5.4之前,使用基于Mono 2.x版本的Unity特制版。这个版本相当于 微软 .net framework 3.5版本里的C#

因此,Unity的C#脚本,有很多的特性是没有实现的。

Unity 5.5之后,官方开始更新它们的Mono引擎了,像async/await的语法特性,也逐渐被支持了。


Unity2017.1

试验性地支持新脚本运行时。This includes Mono 4.8 and IL2CPP with support for C# 6 and .NET 4.6


Unity 2018.1脚本运行时更新

Unity 2018.1现在加入了得到完全支持的全新.NET运行时。随着.NET生态系统不断的发展,Unity将致力于保持与最新版.NET的功能兼容性。

在Unity 2017.1中,我们发布了稳定的脚本运行时的第一个实验预览版。经过Unity 2017.2和Unity 2017.3的发布周期后,不少Unity用户已经使用这个实验性脚本运行时,并提供了宝贵的反馈。我们也和来自微软Mono团队和Visual Studio团队优秀开发者紧密合作。我们解决了各类问题,修正了多个错误,使得新版的脚本运行时变得越来越稳定。

随着Unity 2018.1的到来,我们认为是时候推动它的广泛使用了。如果你还没有尝试使用它,现在就进行尝试吧!

为什么使用

这个稳定的脚本运行时将为Unity带来了大量的新版C#和.NET的功能。这其中有:

C# 6

NET 4.7.1类库

支持在.NET Standard 2.0和1.x构建的程序集

IL2CPP中的托管代码调试功能(在Unity 2018.1中仍处于实验阶段,仅用于独立播放器,它将在之后的新版本中得到完全支持)

.NET配置文件的选择

稳定的脚本运行时中有二个全新的.NET配置文件。对.NET类库而言,.NET配置文件能定义代码所能使用的底层API。你可以通过修改Player Settings中的“Api Compatibility Level”选项为播放器构建选择.NET配置文件。Unity支持的二个.NET配置文件如下:

.NET Standard 2.0

.NET 4.x.

.NET Standard 2.0 配置文件能匹配.NET 基金会发布的同名配置文件。对于Unity新项目来说,这将是一个不错的选择。这个配置文件比.NET 4.x小,我们推荐在一些有大小限制的平台上使用它,例如:移动端平台。除此之外,我们还会确保这个版本在所有Unity支持的平台使用。

.NET 4.x 配置文件能够使用最新版的.NET 4 API。这包括所有在.NET Framework类库中可用的代码。它还支持所有的.NET Standard 2.0 配置文件,所以它能应用于面向.NET Standard 2.0构建的托管插件程序集。尽管它能够使用较大范围的API,但该API的某些部分不适用于所有平台。如果你的项目需要.NET Standard中没出现的功能,或是包含遗留代码的功能,这会是个不错的选择。

未来展望

如今新版的脚本运行时已得到Unity的完全支持,我们将在未来版本的Unity中对它进行维护。我们正在给所有平台加入TLS 1.2支持,通过新版脚本运行时来对构建大小和构建时间进行改进。

在Unity 2018.1中,旧版的脚本运行时仍将作为新建项目时的默认设置。在Unity 2018.x发布周期中,我们将会把新建项目的默认脚本运行时改为稳定的脚本运行时。尽管旧版脚本运行时完全支持已有项目,我们还是会逐渐弃用旧版脚本运行时。

我们会移除旧版脚本运行时,把稳定的脚本运行时作为唯一的选项。我们建议用户开始向稳定的脚本运行时迁移。由于我们的精力将转移到稳定的脚本运行时,所以对于旧版脚本运行时,我们仅会进行错误修复工作。关于弃用过程和移除日程的额外说明将在不久后发布。


Unity 2018.2.0f2 Release Notes  发布日期:10 Jul 2018

Universal Windows Platform: Updated Roslyn C# compiler used for script compilation on UWP and Xbox One to version 2.7, which supports C# 7.2. (1004854)

 

你可能感兴趣的:(Unity)