Releases: needle-mirror/com.unity.xr.interaction.toolkit
Releases · needle-mirror/com.unity.xr.interaction.toolkit
3.5.0
[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
SimulatedHandExpressioneditor to hide irrelevant properties depending on the sequence type that is set. - Changed
DontDestroyOnLoadSamplecomponent in the assembly used to generate code samples for documentation to no longer bepublic.
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
Updatephase. - 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
LazyFollowcomponent where the associated Transform position and rotation can get zeroed out when Position Follow Mode or Rotation Follow Mode are set toNone.
3.4.1
[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.InstanceIDbeing 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.Editorin 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
XRDeviceSimulatorHandsProviderattempts to register more than once with theSubsystemDescriptorStore. This caused a warning when using fast-enter play mode. UUM-135026 (Backport from 3.5.0-pre.2)
3.5.0-pre.2
[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.InstanceIDbeing 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
XRDeviceSimulatorHandsProviderattempts to register more than once with theSubsystemDescriptorStore. This caused a warning when using fast-enter play mode. UUM-135026
3.5.0-pre.1
[3.5.0-pre.1] - 2026-03-16
Added
- Added an example prefab for hand-based teleportation to the Hands Interaction Demo.
- Added
prioritizeDistanceSortingto theUIInputModuleto ensure closer objects are prioritized for UI interactions. - Added new methods and events to
XRUIInputModulerelated 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
IUIInteractorRegistrationHandlerinterface that is aIUIInteractorbut 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
XRPokeInteractorthat 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
UIHoverEnterEventandUIHoverExitEventevents from the world-space support for UI Toolkit. Additional properties were added to theUIHoverEventArgspassed 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
XRUIInputModuleon theEventSystemthat is automatically created at runtime by a UI interactor to be marked asDontDestroyOnLoad. 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.
XRInteractionSimulatornow keeps track of both left and right controller inputs/hand expressions.XRUIInputModulenow gates touchscreen and mouse related input actions withenableTouchInputorenableMouseInput.
Deprecated
- Deprecated
XRDeviceSimulatoras it will be replaced with theXRInteractionSimulator. - Deprecated
SimulatedHandExpressionManageras it will be replaced with theSimulatedHandPlaybackManager.
Fixed
- Fixed
LazyFollowsnap on enable not snapping rotation correctly. - Fixed an issue where the
CurveVisualControllerwould not display hover visuals when hovering anXRInteractableSnapVolume. - 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.Editorin the references to fix script compilation on some versions of Input System (com.unity.inputsystem). - Fixed
XRPokeInteractorproducing 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
XRPokeInteractorfailing 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. AdjustedXRPokeInteractorsweep 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
activeInstanceIDin unity 6000.3. - Fixed
MaterialPipelineHandlersample script causing error "Calls to AssetDatabase.SaveAssets are restricted during asset importing." upon initial import.
3.3.1
[3.3.1] - 2025-12-16
Fixed
- Fixed an issue with the
JumpProvidercontinually being stuck in theLocomotionState.Movingstate and never entering theLocomotionState.Endedstate. (Backport from 3.4.0-pre.1) - Fixed an issue in which the
HandMenuappears 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
[3.0.10] - 2025-12-09
Added
- Added configurable functionality to
ARContactSpawnTriggerin the AR Starter Assets sample to block spawning of objects on AR Planes when the active interactor in the associatedXRInteractionGroupis either hovering or selecting an interactable object. (Backport from 3.2)
Fixed
- Fixed an issue with
TryGetCurveEndPointin theNearFarInteractor, 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
NearFarInteractorwhere it would ignore thecanProcessproperty on anIXRTargetFilter, allowing it to always process the filter. (Backport from 3.2.1) - Fixed an issue in which the
HandMenuappears 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
[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
ReleaseThresholdButtonReadersample 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 Demosample that were based on the hand models from the XR HandsHandVisualizersample. 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
JumpProvidercontinually being stuck in theLocomotionState.Movingstate and never entering theLocomotionState.Endedstate. (Backport from 3.4.0-pre.1)
3.1.3
[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
NullReferenceExceptionin 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
[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
[3.4.0-pre.2] - 2025-10-22
Fixed
- Fixed an issue causing UI unit tests to fail on some macOS devices.