UnityEngine.XRModule An Subsystem is initialized from an SubsystemDescriptor for a given Subsystem (Example, Input, Environment, Display, etc.) and provides an interface to interact with that given Subsystem until it is Destroyed. After an Subsystem is created it can be Started or Stopped to turn on and off functionality (and preserve performance). The base type for 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 SubsystemDescriptor will return a reference to the existing Subsystem as only one Subsystem is currently allowed for a single Subsystem provider. 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. Creates an Subsystem from this descriptor. Instance of subsystem. Gives access to subsystems which provide additional functionality through plugins. Returns active Subsystems of a specific instance type. Active instances. Returns a list of SubsystemDescriptors which describe additional functionality that can be enabled. Subsystem specific descriptors. Structure describing a bounded plane representing a real-world surface. The alignment of the plane, e.g., horizontal or vertical. Center point of the plane in device space. Outputs four points, in device space, representing the four corners of the plane. The corners are in clockwise order. The vertex of the first corner. The vertex of the second corner. The vertex of the third corner. The vertex of the fourth corner. Current height of the plane. A session-unique identifier for the plane. Normal vector of the plane in device space. Returns the infinite Plane associated with this BoundedPlane. Pose of the plane in device space. Current size of the plane. A session-unique identifier for the BoundedPlane that subsumed this plane. Try to retrieve a list of positions in device space describing current plane boundary. A list of vertices representing the boundary. True if the plane exists (i.e., is still being tracked), otherwise false. Current width of the plane. Structure containing data passed during Frame Received Event. Reference to the XRCameraSubsystem associated with this event. Contains data supplied to a XRPlaneSubsystem.PlaneAdded event. The BoundedPlane that was added. A reference to the PlaneSubsystem object from which the event originated. Describes current plane alignment in mixed reality space. Plane has horizontal alignment. Plane is not alligned along cardinal (X, Y or Z) axis. Plane has vertical alignment. Contains data supplied to a XRPlaneSubsystem.PlaneRemoved event. The BoundedPlane that was removed. A reference to the XRPlaneSubsystem object from which the event originated. Contains data supplied to a XRPlaneSubsystem.PlaneUpdated event. The BoundedPlane that was updated. A reference to the XRPlaneSubsystem object from which the event originated. Contains data supplied to a XRDepth.PointCloudUpdated event. A reference to the XRDepthSubsystem object from which the event originated. Describes the transform data of a real-world point. ID for the reference point that is unique across the session. The pose (position and rotation) of the reference point. Respond to changes in this pose to correct for changes in the device's understanding of where this point is in the real world. The TrackingState of the reference point. Data to be passed to the user when the device corrects its understanding of the world enough that the ReferencePoint's position or rotation has changed. The previous Pose of the ReferencePoint, prior to this event. The previous TrackingState of the ReferencePoint, prior to this event. The reference point that has the value of its position, rotation, or both changed enough through the device correcting its understanding of where this point should be located in device space. Structure defining Tracking State Changed event arguments passed when tracking state changes. New Tracking State. Reference to the XRSessionSubsystem object associated with the event. A session-unique identifier for trackables in the environment, e.g., planes and feature points. Represents an invalid id. Generates a nicely formatted version of the id. A string unique to this id A trackable is feature in the physical environment that a device is able to track, such as a plane. All trackables (planes and point cloud) A feature point. No trackable. An estimated plane. Any of the plane types. Within the BoundedPlane.Size of a BoundedPlane The infinite plane of a BoundedPlane The boundary of a BoundedPlane Current tracking state of the device. Tracking is currently working. Tracking is not available. Tracking state is unknown. Provides access to a device's camera. Set current Camera component within the app to be used by this XRCameraInstance. Event raised when a new camera frame is received. Fills the provided texturesOut with the texture(s) associated with the XRCameraSubsystem. A List of Texture2D to be filled. Passing null will throw an ArgumentNullException. The frame during which the camera subsystem was last successfully updated. True if the XRCameraSubsystem should try to provide light estimation. Set current Material to be used while rendering to the render target. Provides brightness for the whole image as an average of all pixels' brightness. An estimated average brightness for the environment. Returns true if average brigthness was provided. Provides color temperature for the whole image as an average of all pixels' color temperature. An estimated color temperature. Return true if succesful. Provides display matrix defining how texture is being rendered on the screen. Provides projection matrix used by camera subsystem. Provides shader name used by Camera subsystem to render texture. Provides timestamp. Class providing information about XRCameraSubsystem registration. Specifies if current subsystem is allowed to provide average brightness. Specifies if current subsystem is allowed to provide average camera temperature. Specifies if current subsystem is allowed to provide display matrix. Specifies if current subsystem is allowed to provide projection matrix. Specifies if current subsystem is allowed to provide timestamp. Provides access to depth data of the physical environment, such as a point cloud. Retrieves the confidence values for each point in the point cloud. A list of floats containing all confidence values for the point cloud. Retrieves the point cloud points. A list of Vector3s containing all points in the point cloud. The frame during which the point cloud was last updated. Raised once during each frame in which the point cloud is updated. Class providing information about XRDepthSubsystem registration. When true, XRDepthSubsystem will provide list of feature points detected so far. XRInputSubsystem Instance is used to enable and disable the inputs coming from a specific plugin. Information about an Input subsystem. When true, will suppress legacy support for Daydream, Oculus, OpenVR, and Windows MR built directly into the Unity runtime from generating input. This is useful when adding an XRInputSubsystem that supports these devices. Provides methods, events, and properties that provides information about planes detected in the environment. Get all the BoundedPlanes currently tracked by the system. A list of BoundedPlanes containing all planes currently tracked by the system. The frame during which the planes were last updated. Raised for each BoundedPlane that has been added in the current frame. Raised for each BoundedPlane that has been removed in the current frame. Raised for each plane that has been updated in the current frame. Get a BoundedPlane by TrackableId The session-unique TrackableId of the plane to get. The BoundedPlane with the supplied planeId True if the BoundedPlane with planeId exists, false otherwise. Try to retrieve a list of positions in device space describing the current plane boundary. The session-unique TrackableId of the plane. A list of vertices representing the plane's boundary. True if the plane exists (i.e., is still being tracked), otherwise false. Class providing information about XRPlaneSubsystem registration. Structure describing the result of a XRRaycastSubsystem.Raycast hit. The distance, in meters, from the screen to the hit's XRRaycastSubsystemHit.Position. The TrackableType(s) that were hit. The position and rotation of the hit result in device space where the ray hit the trackable. The TrackableId of the trackable that was hit by the raycast. Provides methods and properties that allow for querying portions of the physical environment that are near a provided specified ray. These trackables include planes and depth data. Casts a ray from a screen point against selected trackables (e.g., planes and feature points). The screen point from which to cast. The resulting list of XRRaycastHit. An optional mask of TrackableType to raycast against. Casts a ray using ray against selected trackables (e.g., planes and feature points). The Ray to use. The XRDepthSubsystem to raycast against. May be null. The XRPlaneSubsystem to raycast against. May be null. The resulting list of XRRaycastHit. An optional mask of TrackableType to raycast against. When raycasting against feature points, cast a cone with this angle. Class providing information about XRRaycastSubsystem registration. Provides methods and properties that allow for querying, creating, and removing of reference points. These reference points are cues to the XRSessionSubsystem that indicate areas of interest in the environment which helps assure that tracking of these points remains accurate. Retrieves all ReferencePoints added by calls to XRReferencePointSubsystem.TryAddReferencePoint. A list of ReferencePoints containing all reference points. The frame during which the reference points were last updated. Raised each frame for each ReferencePoint that had the values of its position, rotation, or both changed enough by the device correcting its understanding of where the point should be located in Unity space. Attempt to add a ReferencePoint that gets tracked by the device. Current position, in device space, of a point you want the device to track. Current rotation, in device space, of a point you want the device to track. If this method returns true, this is filled out with the ID (unique to the session) of the point. If the ReferencePoint was added successfully, this method returns true. Otherwise, it returns false. Attempt to add a ReferencePoint that gets tracked by the device. Current pose, in device space, of a point you want the device to track. If this method returns true, this is filled out with the ID (unique to the session) of the point. If the ReferencePoint was added successfully, this method returns true. Otherwise, it returns false. Attempt to retrieve a ReferencePoint. The ID of the ReferencePoint that TryAddReferencePoint filled out when you added this point. The ReferencePoint to be filled out that matches the ID passed in. If the ReferencePoint was found and filled out successfully, this method returns true. Otherwise, it return false. Attempt to remove a ReferencePoint getting tracked by the device. ID of the ReferencePoint you wish to remove so the device no longer tries to track it. If the ReferencePoint was removed successfully, this method returns true. Otherwise, it returns false. Class providing information about XRReferencePointSubsystem registration. A collection of methods and properties used to interact with and configure an XR session. The frame during which the tracking state was last updated. Get current tracking status of the device. Raised when the TrackingState changes. Class providing information about XRSessionSubsystem registration. The XR module contains the VR and AR related platform support functionality. A collection of methods and properties for interacting with the XR tracking system. Disables positional tracking in XR. This takes effect the next time the head pose is sampled. If set to true the camera only tracks headset rotation state. Called when a tracked node is added to the underlying XR system. Describes the node that has been added. Called when a tracked node is removed from the underlying XR system. Describes the node that has been removed. Called when a tracked node begins reporting tracking information. Describes the node that has begun being tracked. Called when a tracked node stops reporting tracking information. Describes the node that has lost tracking. Gets the position of a specific node. Specifies which node's position should be returned. The position of the node in its local tracking space. Gets the rotation of a specific node. Specifies which node's rotation should be returned. The rotation of the node in its local tracking space. Accepts the unique identifier for a tracked node and returns a friendly name for it. The unique identifier for the Node index. The name of the tracked node if the given 64-bit identifier maps to a currently tracked node. Empty string otherwise. Describes all currently connected XRNodes and provides available tracking states for each. A list that is populated with XR.XRNodeState objects. Center tracking to the current position and orientation of the HMD. Enumeration of tracked XR nodes which can be updated by XR input. Node representing a point between the left and right eyes. Represents a tracked game Controller not associated with a specific hand. Represents a physical device that provides tracking data for objects to which it is attached. Node representing the user's head. Node representing the left eye. Node representing the left hand. Node representing the right eye. Node representing the right hand. Represents a stationary physical device that can be used as a point of reference in the tracked area. Sets the vector representing the current acceleration of the tracked node. Sets the vector representing the current angular acceleration of the tracked node. Sets the vector representing the current angular velocity of the tracked node. The type of the tracked node as specified in XR.XRNode. Sets the vector representing the current position of the tracked node. Sets the quaternion representing the current rotation of the tracked node. Set to true if the node is presently being tracked by the underlying XR system, and false if the node is not presently being tracked by the underlying XR system. The unique identifier of the tracked node. Sets the vector representing the current velocity of the tracked node. Attempt to retrieve a vector representing the current acceleration of the tracked node. True if the acceleration was set in the output parameter. False if the acceleration is not available due to limitations of the underlying platform or if the node is not presently tracked. Attempt to retrieve a Vector3 representing the current angular acceleration of the tracked node. True if the angular acceleration was set in the output parameter. False if the angular acceleration is not available due to limitations of the underlying platform or if the node is not presently tracked. Attempt to retrieve a Vector3 representing the current angular velocity of the tracked node. True if the angular velocity was set in the output parameter. False if the angular velocity is not available due to limitations of the underlying platform or if the node is not presently tracked. Attempt to retrieve a vector representing the current position of the tracked node. True if the position was set in the output parameter. False if the position is not available due to limitations of the underlying platform or if the node is not presently tracked. Attempt to retrieve a quaternion representing the current rotation of the tracked node. True if the rotation was set in the output parameter. False if the rotation is not available due to limitations of the underlying platform or if the node is not presently tracked. Attempt to retrieve a vector representing the current velocity of the tracked node. True if the velocity was set in the output parameter. False if the velocity is not available due to limitations of the underlying platform or if the node is not presently tracked.