Unity 支持两种 .NET 配置文件:.NET Standard 和 .NET Framework。每种配置文件都提供一组不同的 API,可实现 C# 代码与 .NET 类库的交互。Api Compatibility Level 属性有两种设置:
默认情况下,Api Compatibility Level 设置为 .NET Standard 2.1。要更改 .NET 配置文件,请选择编辑 (Edit) > 项目设置 (Project Settings) > 播放器 (Player) > 其他设置 (Other settings)。在配置 (Configuration) 标题下,将 Api Compatibility Level 设置为所需设置。
如果需要广泛的跨平台兼容性,请将 Api Compatibility Level 设置为 .NET Standard 2.1。在可能的情况下,Unity 将在所有平台上支持 .NET Standard 2.1 配置文件中的 API。尽管部分平台不完全支持 .NET Standard 2.1 配置文件,但 .NET Framework 配置文件在跨平台兼容性方面不太适用。.NET Framework 配置文件包含 .NET Standard 2.1 配置文件中的所有 API 和其他 API,其中一些可能适用平台较少,或没有适用平台。
托管插件是在 Unity 外部托管并编译到动态链接库 (DLL) 中的 .NET 程序集。用户可在 Unity 中使用托管插件以及 .NET Standard 2.1 配置文件或 .NET Framework 配置文件。Unity 项目的 .NET 配置文件决定了为不同 .NET 版本编译的托管插件的支持程度。下表显示了 Unity 支持的配置:
| 托管插件编译目标 | API Compatibility Level: | |
|---|---|---|
| .NET Standard 2.1 | .NET Framework 4.x | |
| .NET Standard(任何版本) | 受支持 | 受支持 |
| .NET Framework(任何版本) | 有限支持 | 受支持 |
| .NET Core(任何版本) | 不受支持 | 不受支持 |
在 Unity 中使用 .NET Standard 2.1 配置文件时,对于为 .NET Framework 编译的托管插件,其提供的支持有限。支持 .NET Standard 中同样存在的任何 .NET Framework API。但是,.NET Framework API 包含 .NET Standard 2.1 配置文件中不可用的类型和方法。
UnityWebRequest API 和所有 .NET Framework Web API 在除 Web 之外的所有平台上完全支持 TLS 1.2。Web 平台使用的是应用程序运行所在的浏览器以及 Web 服务器的安全设置。平台专用的本地证书存储区会自动验证 TLS 证书(如果可用)。如果无法访问证书存储区,Unity 将使用嵌入式根证书存储区。