Skip to content

Releases: needle-mirror/com.unity.xr.interaction.toolkit

3.5.0

22 Apr 22:19

Choose a tag to compare

[3.5.0] - 2026-04-21

Added

  • Added Unparent Transform On Grab property to XR Grab Interactable to allow for disabling the default behavior which sets the interactable to a top-level GameObject in the hierarchy when grabbed. Disable that property to keep it as a child GameObject of its parent when grabbed.

Changed

  • Changed SimulatedHandExpression editor to hide irrelevant properties depending on the sequence type that is set.
  • Changed DontDestroyOnLoadSample component in the assembly used to generate code samples for documentation to no longer be public.

Fixed

  • Fix an issue where XR Interaction Manager was triggering a UI Toolkit update tick even when UI Toolkit support was not enabled for XRI, causing errors to be thrown in some versions of UI Toolkit. Also changed behavior so it is only updated once per frame at the dynamic Update phase.
  • Fixed the simulator prefab not instantiating automatically after the first run when using fast-enter play mode settings. (UUM-139247)
  • Fixed a race condition in the LazyFollow component where the associated Transform position and rotation can get zeroed out when Position Follow Mode or Rotation Follow Mode are set to None.

3.4.1

03 Apr 22:18

Choose a tag to compare

[3.4.1] - 2026-04-02

Changed

  • Changed some components to no longer sort found components by instance ID when finding a component due to FindObjectsSortMode.InstanceID being deprecated in Unity 6.4. This may cause a different component instance to be used for unassigned references in Unity 6.4 or newer. (Backport from 3.5.0-pre.2)

Fixed

  • Fixed Editor Assembly Definition to include Unity.InputSystem.Editor in the references to fix script compilation on some versions of Input System (com.unity.inputsystem). (Backport from 3.5.0-pre.1)
  • Fixed warnings caused by APIs that were deprecated in Unity 6.4. (Backport from 3.5.0-pre.2)
  • Fixed an issue caused when the XRDeviceSimulatorHandsProvider attempts to register more than once with the SubsystemDescriptorStore. This caused a warning when using fast-enter play mode. UUM-135026 (Backport from 3.5.0-pre.2)

3.5.0-pre.2

28 Mar 22:14

Choose a tag to compare

[3.5.0-pre.2] - 2026-03-26

Changed

  • Changed some components to no longer sort found components by instance ID when finding a component due to FindObjectsSortMode.InstanceID being deprecated in Unity 6.4. This may cause a different component instance to be used for unassigned references in Unity 6.4 or newer.

Fixed

  • Fixed warnings caused by APIs that were deprecated in Unity 6.4.
  • Fixed an issue caused when the XRDeviceSimulatorHandsProvider attempts to register more than once with the SubsystemDescriptorStore. This caused a warning when using fast-enter play mode. UUM-135026

3.5.0-pre.1

17 Mar 22:17

Choose a tag to compare

[3.5.0-pre.1] - 2026-03-16

Added

  • Added an example prefab for hand-based teleportation to the Hands Interaction Demo.
  • Added prioritizeDistanceSorting to the UIInputModule to ensure closer objects are prioritized for UI interactions.
  • Added new methods and events to XRUIInputModule related to registration changes, including getting a list of registered UI interactors and for adding to a waitlist that an input module can consume to register UI interactors automatically or through scripting.
  • Added a new IUIInteractorRegistrationHandler interface that is a IUIInteractor but allows for the UI interactor to be notified of registration changes to an XR UI Input Module component. The built-in interactor components that support UI interaction now implement this new interface.
  • Added motion continuity validation to XRPokeInteractor that detects frame gaps, teleport-like discontinuities, and first-frame conditions to ensure swept sphere queries only trace physically meaningful inter-frame paths.
  • Added a Snap Volume Interaction collision setting to XRPokeInteractor.
  • Added support for sending UIHoverEnterEvent and UIHoverExitEvent events from the world-space support for UI Toolkit. Additional properties were added to the UIHoverEventArgs passed to each to allow users to distinguish between UI Toolkit or uGUI (Unity UI) and access values specific to each.
  • Added ability to use input from UI Scroll Input on both XR Ray Interactor and Near-Far Interactor to allow scrolling on UI Toolkit scroll views.
  • Added point-and-click functionality to the simulated controllers in XRInteractionSimulator. This allows you to interact with objects in controller mode via mouse point and click.
  • Added hand interactivity to the XRInteractionSimulator. Originally, hands in the simulator were only visual. Now hand interaction is simulated and passed to a hand subsystem allowing users to interact with their scene using simulated hands.
  • Added a new XR Mouse Interaction Demo sample with support for the XR_ANDROID_mouse_interaction OpenXR extension.

Changed

  • Changed the Hands Interaction Demo base environment to include teleport anchors to utilize hand-based teleportation.
  • Changed package sample textures and sprites to conform to power of two standards.
  • Changed max Cone Cast Angle from 180 degrees to 20 degrees in the XR Ray Interactor Inspector window.
  • Changed Cone Cast Angle to a slider with range 0 to 20 degrees in the Curve Interaction Caster Inspector window.
  • Changed the XRUIInputModule on the EventSystem that is automatically created at runtime by a UI interactor to be marked as DontDestroyOnLoad. The default input module will only be automatically created once all scenes finish loading.
  • Changed the XR UI Input Module component so it unregisters all UI interactors when that component is destroyed. The components that were registered with the destroyed input module will automatically be re-registered with another input module, either an active and enabled one in the scene or the next one to be enabled. This updates the behavior of the XR UI Input Module and UI interactors to match the functionality of interactors with the XR Interaction Manager.
  • XRInteractionSimulator now keeps track of both left and right controller inputs/hand expressions.
  • XRUIInputModule now gates touchscreen and mouse related input actions with enableTouchInput or enableMouseInput.

Deprecated

  • Deprecated XRDeviceSimulator as it will be replaced with the XRInteractionSimulator.
  • Deprecated SimulatedHandExpressionManager as it will be replaced with the SimulatedHandPlaybackManager.

Fixed

  • Fixed LazyFollow snap on enable not snapping rotation correctly.
  • Fixed an issue where the CurveVisualController would not display hover visuals when hovering an XRInteractableSnapVolume.
  • Fixed the icon used for the additional Input Reader properties that may appear based on the input source selected. It is now an information bubble icon, whereas previously a help icon was used. This lead to confusion with the standard clickable help icons used for linking to manual pages.
  • Fixed Editor Assembly Definition to include Unity.InputSystem.Editor in the references to fix script compilation on some versions of Input System (com.unity.inputsystem).
  • Fixed XRPokeInteractor producing ghost hover events after interactor re-enable or XR rig teleport due to stale previous-frame position being used as the sweep origin without validity checks.
  • Fixed XRPokeInteractor failing to detect thin colliders (1–5mm) during normal-speed poke interactions due to sweep threshold being too high for the swept sphere query to activate. Adjusted XRPokeInteractor sweep threshold from 31.6mm to 5mm, allowing moderate-speed pokes to use swept sphere queries for more reliable detection of thin UI surfaces.
  • Fixed obsolete warnings when accessing activeInstanceID in unity 6000.3.
  • Fixed MaterialPipelineHandler sample script causing error "Calls to AssetDatabase.SaveAssets are restricted during asset importing." upon initial import.

3.3.1

23 Dec 07:36

Choose a tag to compare

[3.3.1] - 2025-12-16

Fixed

  • Fixed an issue with the JumpProvider continually being stuck in the LocomotionState.Moving state and never entering the LocomotionState.Ended state. (Backport from 3.4.0-pre.1)
  • Fixed an issue in which the HandMenu appears unstable or flickers between showing and hiding when it is displayed while the pose of the anchor transform remains near the angle/range in which it was initially triggered to be shown. In order to solve the issue, the controller displaying the menu now has a separate wider range for hiding the menu than the allowable range that triggers the initial display of the menu. (Backport from 3.4.0-pre.1)

3.0.10

13 Dec 08:38

Choose a tag to compare

[3.0.10] - 2025-12-09

Added

  • Added configurable functionality to ARContactSpawnTrigger in the AR Starter Assets sample to block spawning of objects on AR Planes when the active interactor in the associated XRInteractionGroup is either hovering or selecting an interactable object. (Backport from 3.2)

Fixed

  • Fixed an issue with TryGetCurveEndPoint in the NearFarInteractor, where Snap Volumes are not checked against the list of valid targets, which may be different when using Target Filters. (Backport from 3.2.1)
  • Fixed an issue with NearFarInteractor where it would ignore the canProcess property on an IXRTargetFilter, allowing it to always process the filter. (Backport from 3.2.1)
  • Fixed an issue in which the HandMenu appears unstable or flickers between showing and hiding when it is displayed while the pose of the anchor transform remains near the angle/range in which it was initially triggered to be shown. In order to solve the issue, the controller displaying the menu now has a separate wider range for hiding the menu than the allowable range that triggers the initial display of the menu. (Backport from 3.4.0)

3.2.2

11 Nov 03:50

Choose a tag to compare

[3.2.2] - 2025-11-05

Fixed

  • Fixed an issue where pinching with the Hand Interaction Profile caused the Interactables to stick to the thumb longer than desired, moving the object after a pinch was released. The ReleaseThresholdButtonReader sample component was updated with new default values to ensure tighter press and release when pinching. (XRIT-334) (Backport from 3.3.0)
  • Fixed hand prefabs in the Hands Interaction Demo sample that were based on the hand models from the XR Hands HandVisualizer sample. The new prefabs are built as a prefab variant, allowing smoother upgrade when the underlying models are updated. (Backport from 3.4.0-pre.1)
  • Fixed an issue with the JumpProvider continually being stuck in the LocomotionState.Moving state and never entering the LocomotionState.Ended state. (Backport from 3.4.0-pre.1)

3.1.3

07 Nov 03:00

Choose a tag to compare

[3.1.3] - 2025-11-03

Fixed

  • Fixed a version handling routine in the Project Validation Utility for sample version caching. Other Unity sample packages sometimes use non-version strings, which was throwing an exception. (XRIT-263) (Backport from 3.2.0-pre.1)
  • Fixed NullReferenceException in internal analytics code when getting the package version after opening the Profiler (Standalone Process) window. (XRIT-267) (Backport from 3.2.0-pre.2)

3.0.9

04 Nov 02:08

Choose a tag to compare

[3.0.9] - 2025-11-03

Fixed

  • Fixed a version handling routine in the Project Validation Utility for sample version caching. Other Unity sample packages sometimes use non-version strings, which was throwing an exception. (XRIT-263) (Backport from 3.2.0-pre.1)
  • Fixed "Screen position out of view frustum" error spam when using the XR UI Input Module component together with UI Toolkit with some Panel Input Configuration settings. (XRIT-280) (Backport from 3.2.0)

3.4.0-pre.2

25 Oct 08:33

Choose a tag to compare

[3.4.0-pre.2] - 2025-10-22

Fixed

  • Fixed an issue causing UI unit tests to fail on some macOS devices.