UnityEngine.SubsystemsModule An IntegratedSubsystem is initialized from an IntegratedSubsystemDescriptor for a given Subsystem (Example, Input, Environment, Display, etc.) and provides an interface to interact with that given IntegratedSubsystem until it is Destroyed. After an IntegratedSubsystem is created it can be Started or Stopped to turn on and off functionality (and preserve performance). The base type for IntegratedSubsystem only exposes this functionality; this class is designed to be a base class for derived classes that expose more functionality specific to a given IntegratedSubsystem. Note: initializing a second IntegratedSubsystem from the same IntegratedSubsystemDescriptor will return a reference to the existing IntegratedSubsystem as only one IntegratedSubsystem is currently allowed for a single IntegratedSubsystem provider. Whether or not the subsystem is running. Destroys this instance of a subsystem. Starts an instance of a subsystem. Stops an instance of a subsystem. Information about a subsystem that can be queried before creating a subsystem instance. A unique string that identifies the subsystem that this Descriptor can create. Interface implemented by both Subsystem and IntegratedSubsystem which provides control over the state of either. Will be true if asking the subsytem to start was successful. False in the case that the subsystem has stopped, was asked to stop or has not been started yet. Destroys this instance of a subsystem. Starts an instance of a subsystem. Stops an instance of a subsystem. A subsystem descriptor is metadata about a subsystem which can be inspected before loading / initializing a subsystem. A unique string that identifies the subsystem that this Descriptor can create. Creates an ISubsystem from this descriptor. An instance of ISubsystem. A Subsystem is initialized from a SubsystemDescriptorWithProvider for a given Subsystem (Example, Input, Display, etc.) and provides an interface to interact with that given Subsystem until it is Destroyed. After a Subsystem is created it can be Started or Stopped to turn on and off functionality (and improve performance). The base type for subsystems only exposes this functionality; this class is designed to be a base class for derived classes that expose more functionality specific to a given Subsystem. Note: initializing a second Subsystem from the same SubsystemDescriptor will return a reference to the existing Subsystem as only one Subsystem is currently allowed for a single Subsystem provider. This subsystem base-class is deprecated. If you are creating a new subsystem type, derive from SubsystemWithProvider instead. Whether or not the subsystem is running. Destroys this instance of a subsystem. Starts an instance of a subsystem. Stops an instance of a subsystem. Information about a subsystem that can be queried before creating a subsystem instance. This subsystem descriptor base-class is deprecated. If you are creating a new subsystem type, derive from SubsystemDecriptorWithProvider instead. A unique string that identifies the subsystem that this Descriptor can create. The System.Type of the subsystem implementation associated with this descriptor. Gives access to subsystems which provide additional functionality through plugins. Called from SubsystemManager when it has completed reloading all XR SDK Provider packaged subsystems. Called from SubsystemManager before reloading all XR SDK Provider packaged subsystems. Called from SubsystemManager when it has completed reloading all XR SDK Provider packaged subsystems. Called from SubsystemManager before reloading all XR SDK Provider packaged subsystems. Gets all of the currently known subsystem descriptors regardless of specific subsystem type. Subsystem descriptors. Returns active Subsystems of a specific instance type. *Note:* This method is deprecated, use GetSubsystems instead. Active instances. Returns a list of SubsystemDescriptors which describe additional functionality that can be enabled. Subsystem specific descriptors. Returns active Subsystems of a specific instance type. Active subsystems. Registration entry point for subsystems to register their descriptor. Information about a SubsystemWithProvider that can be queried before creating a subsystem instance. A unique string that identifies the SubsystemWithProvider that this descriptor can create. A provider that supplies data to a subsystem, generally for platform-specific implementations. A subsystem is initialized from a SubsystemDescriptorWithProvider for a given subsystem (Session, Plane, Face, etc.) and provides an interface to interact with that given subsystem until it is Destroyed. After a subsystem is created, it can be Started or Stopped to turn on and off functionality and preserve performance. The base type for the subsystem only exposes this functionality; this class is designed to be a base class for derived classes that expose more functionality specific to a given subsystem. *Note:* Initializing a second subsystem from the same subsystem descriptor will return a reference to the existing subsystem, because only one subsystem is currently allowed for a single subsystem provider. Whether or not the subsystem is running. This returns true after Start has been called on the subsystem, and false after Stop is called. Destroys this instance of a subsystem. Also unloads all resources acquired during the initialization step. Call this when you no longer need this instance of a subsystem. Note: Once a subsystem is Destroyed, script can still hold a reference but calling a method on it will result in a NullArgumentException. Starts an instance of a subsystem. Once the instance is started, the subsystem representing this instance is active and can be interacted with. Stops an instance of a subsystem. Once the instance is stopped, the subsystem representing this instance is no longer active and should not consume CPU resources. The Subsystem module contains the definitions and runtime support for general subsystems in Unity.