docs.unity3d.com
    Show / Hide Table of Contents

    Class XRLoaderHelper

    XR Loader abstract subclass used as a base class for specific provider implementations. Class provides some helper logic that can be used to handle subsystem handling in a typesafe manner, reducing potential boilerplate code.

    Inheritance
    Object
    XRLoader
    XRLoaderHelper
    SampleLoader
    TestLoaderBase
    StandaloneLoader
    Inherited Members
    XRLoader.Initialize()
    XRLoader.Start()
    XRLoader.Stop()
    XRLoader.GetSupportedGraphicsDeviceTypes(Boolean)
    Namespace: UnityEngine.XR.Management
    Syntax
    public abstract class XRLoaderHelper : XRLoader

    Fields

    m_SubsystemInstanceMap

    Map of loaded susbsystems. Used so we don't always have to fo to XRSubsystemManger and do a manual search to find the instance we loaded.

    Declaration
    protected Dictionary<Type, ISubsystem> m_SubsystemInstanceMap
    Field Value
    Type Description
    Dictionary<Type, ISubsystem>

    Methods

    CreateIntegratedSubsystem<TDescriptor, TSubsystem>(List<TDescriptor>, String)

    Creates a native, integrated subsystem given a list of descriptors and a specific subsystem id. DEPRECATED: Please use the geenric CreateSubsystem method. This method is soley retained for backwards compatibility and will be removed in a future release.

    Declaration
    protected void CreateIntegratedSubsystem<TDescriptor, TSubsystem>(List<TDescriptor> descriptors, string id)
        where TDescriptor : IntegratedSubsystemDescriptor where TSubsystem : IntegratedSubsystem
    Parameters
    Type Name Description
    List<TDescriptor> descriptors

    List of TDescriptor instances to use for subsystem matching.

    String id

    The identifier key of the particualr subsystem implementation being requested.

    Type Parameters
    Name Description
    TDescriptor

    The descriptor type being passed in.

    TSubsystem

    The subsystem type being requested

    CreateStandaloneSubsystem<TDescriptor, TSubsystem>(List<TDescriptor>, String)

    Creates a managed, standalone subsystem given a list of descriptors and a specific subsystem id. DEPRECATED: Please use the geenric CreateSubsystem method. This method is soley retained for backwards compatibility and will be removed in a future release.

    Declaration
    protected void CreateStandaloneSubsystem<TDescriptor, TSubsystem>(List<TDescriptor> descriptors, string id)
        where TDescriptor : SubsystemDescriptor where TSubsystem : Subsystem
    Parameters
    Type Name Description
    List<TDescriptor> descriptors

    List of TDescriptor instances to use for subsystem matching.

    String id

    The identifier key of the particualr subsystem implementation being requested.

    Type Parameters
    Name Description
    TDescriptor

    The descriptor type being passed in.

    TSubsystem

    The subsystem type being requested

    CreateSubsystem<TDescriptor, TSubsystem>(List<TDescriptor>, String)

    Creates a subsystem given a list of descriptors and a specific subsystem id.

    You should make sure to destroy any subsystem that you created so that resources acquired by your subsystems are correctly cleaned up and released. This is especially important if you create them during initialization, but initialization fails. If that happens, you should clean up any subsystems created up to that point.

    Declaration
    protected void CreateSubsystem<TDescriptor, TSubsystem>(List<TDescriptor> descriptors, string id)
        where TDescriptor : ISubsystemDescriptor where TSubsystem : ISubsystem
    Parameters
    Type Name Description
    List<TDescriptor> descriptors

    List of TDescriptor instances to use for subsystem matching.

    String id

    The identifier key of the particualr subsystem implementation being requested.

    Type Parameters
    Name Description
    TDescriptor

    The descriptor type being passed in.

    TSubsystem

    The subsystem type being requested

    Deinitialize()

    Override of Deinitialize() to provide for clearing the instance map.true

    If you override this method in your subclass, you must call the base implementation to allow the instance map tp be cleaned up correctly.

    Declaration
    public override bool Deinitialize()
    Returns
    Type Description
    Boolean

    True if de-initialization was successful.

    Overrides
    XRLoader.Deinitialize()

    DestroySubsystem<T>()

    Destroy a subsystem instance of a given type. Subsystem assumed to already be loaded from a previous call to CreateSubsystem

    Declaration
    protected void DestroySubsystem<T>()
        where T : class, ISubsystem
    Type Parameters
    Name Description
    T

    A subclass of

    GetLoadedSubsystem<T>()

    Gets the loaded subsystem of the specified type. Implementation dependent as only implemetnations know what they have loaded and how best to get it..

    Declaration
    public override T GetLoadedSubsystem<T>()
        where T : class, ISubsystem
    Returns
    Type Description
    T

    The loaded subsystem or null if not found.

    Type Parameters
    Name Description
    T

    Type of the subsystem to get.

    Overrides
    XRLoader.GetLoadedSubsystem<T>()

    StartSubsystem<T>()

    Start a subsystem instance of a given type. Subsystem assumed to already be loaded from a previous call to CreateSubsystem

    Declaration
    protected void StartSubsystem<T>()
        where T : class, ISubsystem
    Type Parameters
    Name Description
    T

    A subclass of

    StopSubsystem<T>()

    Stop a subsystem instance of a given type. Subsystem assumed to already be loaded from a previous call to CreateSubsystem

    Declaration
    protected void StopSubsystem<T>()
        where T : class, ISubsystem
    Type Parameters
    Name Description
    T

    A subclass of

    In This Article
    • Fields
      • m_SubsystemInstanceMap
    • Methods
      • CreateIntegratedSubsystem<TDescriptor, TSubsystem>(List<TDescriptor>, String)
      • CreateStandaloneSubsystem<TDescriptor, TSubsystem>(List<TDescriptor>, String)
      • CreateSubsystem<TDescriptor, TSubsystem>(List<TDescriptor>, String)
      • Deinitialize()
      • DestroySubsystem<T>()
      • GetLoadedSubsystem<T>()
      • StartSubsystem<T>()
      • StopSubsystem<T>()
    Back to top
    Terms of use
    Copyright © 2023 Unity Technologies — Terms of use
    • Legal
    • Privacy Policy
    • Cookies
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)
    "Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
    Generated by DocFX on 18 October 2023