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)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章