版本:Unity 6 (6000.0)
语言:English
创建 XR 提供程序
子系统的运行时发现和激活

UnitySubsystemsManifest.json

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 之后包含显示记录的其他字段 - 子系统指定哪些参数有效。

创建 XR 提供程序
子系统的运行时发现和激活