UnitySubsystemsManifest.json
contains metadata about your provider that can be queried before your plug-inA set of code created outside of Unity that creates functionality in Unity. There are two kinds of plug-ins you can use in Unity: Managed plug-ins (managed .NET assemblies created with tools like Visual Studio) and Native plug-ins (platform-specific native code libraries). More info
See in Glossary is loaded. The values in this dictionary are used to populate specific instances of SubsystemDescriptors in C#. For example, information within the displays
list is used to populate XRDisplaySubsystemDescriptors.
For Unity to find the a native library referenced by the UnitySubsystemsManifest.json
file, the library must be no more than two subfolders deeper than the UnitySubsystemsManifest.json
file.
Example .json file:
{
"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"
}
]
}
Metadata | Description |
---|---|
name |
The name of your provider. Must match the first parameter of your native plug-inA platform-specific native code library that is created outside of Unity for use in Unity. Allows you can access features like OS calls and third-party code libraries that would otherwise not be available to Unity. More info See in Glossary’s RegisterLifecycleHandler call. |
version |
Unused currently. |
libraryName |
Must match the name of your provider’s native plug-in binary without the extension. |
displays |
Collection of Display subsystem providers. |
id |
Identifier for this display plug-in configuration. The id must match the string you pass into your native plug-in’s RegisterLifecycleHandler call for that subsystem. You can have more than one display , as long as your native plug-in calls RegisterLifecycleHandler for each. |
inputs |
Collection of Input subsystem providers. |
Your manifest file can include additional fields for a display record after id
- subsystems specify which parameters are valid.