UnitySubsystemsManifest.json 包含有关您的提供程序的元数据,可在加载您的插件在 Unity 外部创建的一组代码,用于在 Unity 中创建功能。您可以在 Unity 中使用两种类型的插件:托管插件(使用 Visual Studio 等工具创建的托管 .NET 程序集)和原生插件(平台特定的原生代码库)。更多信息
参见 术语表之前查询这些元数据。此字典中的值用于填充 C# 中 SubsystemDescriptors 的特定实例。例如,displays 列表中的信息用于填充XRDisplaySubsystemDescriptors。
为了让 Unity 找到 UnitySubsystemsManifest.json 文件引用的原生库,该库必须不超过 UnitySubsystemsManifest.json 文件两层子文件夹。
示例 .json 文件
{
    "name": "PluginName",
    "version": "1.0.0",
    "libraryName": "UnityXRDisplayExample",
    "displays": [
        {
            "id": "Display0",
            "supportedMirrorBlitReservedModes" : ["leftEye","rightEye", "sideBySide"]
        }
    ],
    "inputs:": [
        {
            "id": "MockHMD Head Tracking Stationary"
        },
        {
            "id": "MockHMD Head Tracking Simulated"
        }
    ]
}
| 元数据 | 描述 | 
|---|---|
| name | 您的提供程序的名称。必须与您的原生插件在 Unity 外部创建的平台特定的原生代码库,用于在 Unity 中使用。允许您访问诸如操作系统调用和第三方代码库之类的功能,否则这些功能将无法用于 Unity。更多信息 参见 术语表的 RegisterLifecycleHandler调用的第一个参数匹配。 | 
| version | 目前未使用。 | 
| libraryName | 必须与您的提供程序的原生插件二进制文件的名称(不带扩展名)匹配。 | 
| displays | 显示子系统提供程序的集合。 | 
| id | 此显示插件配置的标识符。 id必须与您为该子系统传递到原生插件的RegisterLifecycleHandler调用的字符串匹配。您可以拥有多个display,只要您的原生插件为每个子系统调用RegisterLifecycleHandler即可。 | 
| inputs | 输入子系统提供程序的集合。 | 
您的清单文件可以在 id 之后包含显示记录的其他字段 - 子系统指定哪些参数有效。