Unity 引擎開始從 Mono 遷移到 .NET CoreCLR
Unity 引擎開發(fā)團隊宣布,他們已開始將 Unity 引擎運行時從 Mono 遷移到 .NET CoreCLR。此外,他們還會提供融合 JIT 和 AOT 的解決方案 —— 即集成 IL2CPP 和 Burst,從而實現(xiàn)編譯時間效率和代碼生成質(zhì)量之間的最佳平衡。
目前,Unity 遷移到 .NET CoreCLR 運行時所涉及的工作已經(jīng)開始。團隊表示這是一個非常具有挑戰(zhàn)性的旅程,為了能夠成功完成遷移,他們會逐步解決這個問題,并確保能夠以保持現(xiàn)有 Unity 項目穩(wěn)定性的方式漸進發(fā)布更新。
因此,開發(fā)團隊會分多個階段完成此次遷移:
首先,為桌面平臺的獨立 player 提供對 .NET CoreCLR 的支持?;诖?,開發(fā)者可以在 player 設(shè)置中選擇此運行時以及現(xiàn)有的 Mono 和 IL2CPP 后端。
團隊認為,此階段可以幫助他們遷移 Unity 引擎的核心部分(比編輯器部分小得多),并有望解決此遷移所涉及的大部分技術(shù)挑戰(zhàn)。開發(fā)者在這個階段仍將通過 .NET Standard 2.1 API 訪問 .NET 運行時,他們的目標(biāo)是在 2023 年發(fā)布新的運行時。
然后在第二階段,團隊會把 Unity 編輯器移植到 .NET CoreCLR,同時取消對 .NET Mono 運行時的支持。第二階段的挑戰(zhàn)是,如何在不使用 AppDomain 的情況下在編輯器中重新加載腳本,并完成向 .NET CoreCLR 的切換。它還將涉及升級 IL2CPP 以支持來自 dotnet/runtime 倉庫的基類庫。開發(fā)者最終可以訪問完整的 .NET 7.x 或 8.0 API。Unity 團隊計劃在 2024 年發(fā)布新編輯器。
對外,Unity 正在與 Microsoft 和 JetBrains 等行業(yè)合作伙伴合作,加大對開源社區(qū)的參與力度,以確保 Unity 創(chuàng)作者能使用最新的 .NET 技術(shù)。
本文轉(zhuǎn)自O(shè)SCHINA
本文標(biāo)題:Unity 引擎開始從 Mono 遷移到 .NET CoreCLR
本文地址:https://www.oschina.net/news/197082/unity-and-net-whats-next