脚本化导入器 (Scripted Importer)
旧版主题

Scripting Runtime

The default Scripting Runtime Version is .NET 4.6. (.NET 3.5 is marked as deprecated.) This option is a per-Project setting that you specify in the Unity Editor Player settings (Edit > Project Settings, then select the Player category), in the Configuration section:

The equivalent scripting API is the PlayerSettings.scriptingRuntimeVersion property.

Important: Changing this property requires an Editor restart because it affects the Editor as well as Players.

By default nothing should change about how Unity behaves or what .NET functionality is available. Once you use .NET 4.6 for a project, you will be able to use C# 6, .NET 4.6 class libraries, and new runtime features in user scripts and precompiled assemblies.

Note The .Net 3.5 scripting runtime is deprecated, but it will be available for Unity 2018.3 and 2018.4 LTS. Please migrate or start new Projects with the .NET 4.x runtime.

常见问题解答

这会影响哪些平台?

所有平台,但影响方式不同:

  • 启用此选项后,Editor 和 Standalone(独立平台)使用新版本的 Mono。

  • 所有游戏主机平台仅在面向新的 .NET 版本时才能使用 IL2CPP。

  • iOS 和 WebGL 将继续仅支持 IL2CPP。

  • Android 将继续同时支持 Mono 和 IL2CPP。

  • 其他平台仍在进行相关工作以便支持新的 Mono 或 IL2CPP

IL2CPP 如何?

IL2CPP 全面支持新的 .NET 4.6 API 和功能。

更新后的 Mono/IL2CPP 的稳定性如何?

新的 Mono/IL2CPP 已通过 Unity 的内部自动化测试。当然,我们预计您仍可能遇到问题。如果遇到任何问题,请提交错误报告。

此预览版是否包含新的 GC?

不包含。这是对类库和运行时的升级,但我们仍在使用 Boehm GC。我们正计划推出与 IL2CPP 结合使用的新版 Boehm(因此 IL2CPP 和 Mono 将具有完全相同的 GC)。

等等,为什么我们没有新的 GC?

较新的 Mono 垃圾回收器 (SGen) 要求在 Unity 中进行额外的工作,一旦新的运行时和类库稳定后就会跟进。

我可以用这个新的 Mono 来调试托管的代码吗?

新的 Mono 需要 VSTU 3.1。请安装此必要版本以便在 Windows 上使用新的 Mono 运行时。

使用新的 .NET 版本时,为什么我的编译包更大?

.NET 4.6 类库比我们当前的 .NET 3.5 类库大得多。我们正在积极致力于改进托管链接器以便进一步减小大小。

Additionally, we are working on a new Unity specific class library API profile (like our current unity profile) that will:

a) 专门用于在 AOT 平台上工作

b) 具有更小的外围应用 (surface area),并在内部采用可剥离/可链接的设计

c) 支持 netstandard 2.0(尚待正式发布)

我在试用这个新选项时,发现一些问题。我该怎么办?

请提交错误报告。我们将迅速修复问题!


  • 2018–08–02 Page published with no editorial review

  • 从 2018.1 开始,MonoDevelop 由 Visual Studio 取代

  • .Net 3.5 scripting runtime deprecated in Unity 2018.3 NewIn20183

脚本化导入器 (Scripted Importer)
旧版主题