using System; using System.Collections.Generic; using System.IO; using System.Linq; using UnityEngine; using UnityEditor.PackageManager; using UnityEditor.PackageManager.Requests; using UnityEngine.XR.Management; namespace UnityEditor.XR.Management.Metadata { /// /// Provides an interface for describing specific loader metadata. Package authors should implement /// this interface for each loader they provide in their package. /// public interface IXRLoaderMetadata { /// /// The user facing name for this loader. Will be used to populate the /// list in the XR Plug-in Management UI. /// string loaderName { get; } /// /// The full type name for this loader. This is used to allow management to find and /// create instances of supported loaders for your package. /// /// When your package is first installed, the XR Plug-in Management system will /// use this information to create instances of your loaders in Assets/XR/Loaders. /// string loaderType { get; } /// /// The full list of supported buildtargets for this loader. This allows the UI to only show the /// loaders appropriate for a specific build target. /// /// Returning an empty list or a list containing just BuildTargetGroup.Unknown. will make this /// loader invisible in the ui. /// List supportedBuildTargets { get; } } /// /// Top level package metadata interface. Create an instance oif this interface to /// provide metadata information for your package. /// public interface IXRPackageMetadata { /// /// User facing package name. Should be the same as the value for the /// displayName keyword in the package.json file. /// string packageName { get; } /// /// The package id used to track and install the package. Must be the same value /// as the name keyword in the package.json file, otherwise installation will /// not be possible. /// string packageId { get; } /// /// This is the full type name for the settings type for your package. /// /// When your package is first installed, the XR Plug-in Management system will /// use this information to create an instance of your settings in Assets/XR/Settings. /// string settingsType { get; } /// /// List of instances describing the data about the loaders /// your package supports. /// List loaderMetadata { get; } } }