com.unity.xr.interaction.toolkit 3.3.0-pre.1

com.unity.xr.interaction.toolkit

Source docs
Notes: processedReleased August 13, 2025

Browse versions

PreviousNext

Unity Compatibility

Minimum Unity: 2021.3

Package Dependencies

Features

  • Added ability to control the order that interactables are processed (`IXRInteractable.ProcessInteractable`). See [Processing interactables](xref:xri-architecture#processing-interactables) in the Interaction overview manual page for more information.
  • - Added new methods to [`XRInteractionManager`](xref:UnityEngine.XR.Interaction.Toolkit.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`](xref:UnityEngine.XR.Interaction.Toolkit.Interactors.XRBaseInteractor) and [`XRBaseInteractable`](xref:UnityEngine.XR.Interaction.Toolkit.Interactables.XRBaseInteractable) can implement [`IXRParentInteractableLinker`](xref:UnityEngine.XR.Interaction.Toolkit.IXRParentInteractableLinker) to enable this functionality.
  • - Added Parent Interactable column to the XR Interaction Debugger window to show registered and inherited parent interactables.

📈 Improvements

  • Changed the `public` `SelectEnter`, `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 `public` `XRInteractionManager.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.