Unity 支持多种平台,并且可能根据平台使用不同的脚本后端。在某些情况下,.NET 系统库需要特定于平台的实现才能正常工作。虽然 Unity 尽最大努力支持尽可能多的 .NET 生态系统,但 Unity 明确不支持 .NET 系统库的某些部分。
Unity 对于跨 Unity 版本的 .NET 系统库不提供性能或分配保证。通常,Unity 不会修复 .NET 系统库中的任何性能回归。
Unity 不支持System.Drawing 库,并且不能保证在所有平台上都能正常工作。
Mono 脚本后端为 Unity 中的脚本编写提供支持的框架。根据目标平台,Unity 支持三种不同的脚本后端:Mono、.NET 和 IL2CPP。但是,通用 Windows 平台仅支持两种:.NET 和 IL2CPP。更多信息
请参见词汇表 使用的 JIT 编译允许您在应用程序运行时发出动态 C#/.NET 中间语言 (IL) 代码生成。AOT 编译提前 (AOT) 编译是除 iOS 外的所有平台使用的优化方法,用于优化构建播放器的尺寸。更多信息
请参见词汇表IL2CPPUnity 开发的脚本后端,在为某些平台构建项目时,您可以将其用作 Mono 的替代方案。更多信息
请参见词汇表 脚本后端使用的 不支持动态代码生成。
在使用第三方库时,这一点非常重要,因为它们可能对即时 (JIT) 和提前 (AOT) 具有不同的代码路径,或者它们可能使用依赖于动态生成代码的代码路径。有关如何在运行时生成代码的更多信息,请参阅 Microsoft 的ModuleBuilder 文档。
尽管 Unity 支持多个 .NET API 配置文件,但出于以下原因,您应该对所有新项目使用 .NET Standard API 兼容性级别
例如,如果您需要为旧版现有应用程序提供支持,则其他配置文件可能很有用。要更改API 兼容性级别设置,请转到编辑>项目设置>播放器。在其他设置标题下,将API 兼容性级别设置为所需的设置。