You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Added ability to control the order that interactables are processed (IXRInteractable.ProcessInteractable). See Processing interactables in the Interaction overview manual page for more information.
Added new methods to XRInteractionManager to set parent interactable dependencies which determine which interactables must be processed before another interactable. Use RegisterParentRelationship to register a parent interactable and GetParentRelationships to query the registered parent interactables.
Added Parent Interactable and Auto Find Parent Interactable properties to interactors and interactables to register the component's parent interactable dependency when the component is registered with the XR Interaction Manager. Custom components that do not derive from XRBaseInteractor and XRBaseInteractable can implement IXRParentInteractableLinker to enable this functionality.
Added Parent Interactable column to the XR Interaction Debugger window to show registered and inherited parent interactables.
Changed
Changed the publicSelectEnter, HoverEnter, and FocusEnter methods in XRInteractionManager to check conditions before allowing the state change and log a warning if it wasn't allowed. Added new public methods SelectEnterUnconditionally, HoverEnterUnconditionally, and FocusEnterUnconditionally that replicate the old functionality. (XRIT-261)
Conditions include whether the interactor and interactable are registered with that manager, whether the interaction layer masks are compatible, and whether filters allow the operation. See IsSelectPossible, IsHoverPossible, and IsFocusPossible for exact conditions.
This change means that XRBaseInteractor.StartManualInteraction and XRBaseInteractor.startingSelectedInteractable which use the publicXRInteractionManager.SelectEnter method can cause the select to be prevented.
Users that override those existing public virtual methods may need to override the new -Unconditionally methods in addition or instead since now only the new methods are invoked during the update loop of the manager.
Changed XR Socket Interactor to draw the interactable hover mesh during LateUpdate instead of Update to allow interactables to process first.
Changed the XR Interaction Debugger window to show the interactors and interactables in the order that they are processed instead of alphabetically.