using UnityEngine.XR.Interaction.Toolkit.AR.Inputs; using UnityEngine.XR.Interaction.Toolkit.Gaze; using UnityEngine.XR.Interaction.Toolkit.Inputs; using UnityEngine.XR.Interaction.Toolkit.Inputs.Readers; using UnityEngine.XR.Interaction.Toolkit.Inputs.Simulation; using UnityEngine.XR.Interaction.Toolkit.Interactables; using UnityEngine.XR.Interaction.Toolkit.Interactors; using UnityEngine.XR.Interaction.Toolkit.Interactors.Visuals; using UnityEngine.XR.Interaction.Toolkit.Locomotion; using UnityEngine.XR.Interaction.Toolkit.Locomotion.Gravity; using UnityEngine.XR.Interaction.Toolkit.Locomotion.Movement; using UnityEngine.XR.Interaction.Toolkit.UI; namespace UnityEngine.XR.Interaction.Toolkit { /// /// The update order for types in XR Interaction Toolkit. /// /// /// This is primarily used to control initialization order as the update of interactors / interaction manager / interactables is handled by the /// Interaction managers themselves. /// public static class XRInteractionUpdateOrder { /// /// Order when instances of type are updated. /// public const int k_XRInputDeviceButtonReader = -31000; /// /// Order when instances of type are updated. /// public const int k_ScreenSpaceRayPoseDriver = -31000; /// /// Order when instances of type are updated. /// public const int k_ScreenSpaceSelectInput = -30050; /// /// Order when instances of type are updated. /// public const int k_ControllerRecorder = -30000; /// /// Order when instances of type are updated. /// public const int k_SimulatedDeviceLifecycleManager = -29995; // Before XRDeviceSimulator /// /// Order when instances of type are updated. /// public const int k_SimulatedHandExpressionManager = -29994; // Before XRDeviceSimulator /// /// Order when instances of type are updated. /// public const int k_InteractionSimulator = -29991; // Before XRBaseController /// /// Order when instances of type are updated. /// public const int k_DeviceSimulator = -29991; // Before XRBaseController /// /// Order when instances of type are updated. /// public const int k_Controllers = -29990; // After XRControllerRecorder /// /// Order when instances of type are updated. /// public const int k_TransformStabilizer = -29985; // After Controllers apply pose to Transforms /// /// Order when instances of type are updated. /// public const int k_GazeAssistance = -29980; // After input pose stabilization /// /// Order when instances of type are updated. /// public const int k_LocomotionProviders = -210; // Before UIInputModule /// /// Order when instances of type are updated. /// public const int k_TwoHandedGrabMoveProviders = -209; // After GrabMoveProvider /// /// Order when instances of type are updated. /// public const int k_GravityProvider = -207; // Between LocomotionProviders and XRBodyTransformer /// /// Order when instances of type are updated. /// public const int k_XRBodyTransformer = -205; // After LocomotionProviders /// /// Order when instances of type are updated. /// public const int k_UIInputModule = -200; /// /// Order when is updated. /// public const int k_InteractionManager = -105; /// /// Order when instances of type are updated. /// public const int k_InteractionGroups = -100; // After XRInteractionManager /// /// Order when instances of type are updated. /// public const int k_Interactors = -99; // After XRInteractionGroup /// /// Order when instances of type are updated. /// /// /// Executes before interactables to ensure colliders have been found and set to trigger colliders /// so they are filtered out in the . /// public const int k_InteractableSnapVolume = -99; // Before XRBaseInteractable /// /// Order when instances of type are updated. /// public const int k_Interactables = -98; // After XRBaseInteractor /// /// Order when instances of type are updated. /// public const int k_LineVisual = 100; /// /// Order when is called. /// public const int k_BeforeRenderGazeAssistance = 95; /// /// Order when is called. /// public const int k_BeforeRenderOrder = 100; /// /// Order when is called. /// public const int k_BeforeRenderLineVisual = 101; // After XRInteractionManager.OnBeforeRender /// /// The phase in which updates happen. /// /// /// public enum UpdatePhase { /// /// Frame-rate independent. Corresponds with the MonoBehaviour.FixedUpdate method. /// Fixed, /// /// Called every frame. Corresponds with the MonoBehaviour.Update method. /// Dynamic, /// /// Called at the end of every frame. Corresponds with the MonoBehaviour.LateUpdate method. /// Late, /// /// Called just before render. Corresponds with the callback. /// OnBeforeRender, } } }