com.unity.xr.interaction.toolkit 3.0.4
com.unity.xr.interaction.toolkit
Source docsNotes: processedReleased June 24, 2024
Unity Compatibility
Minimum Unity: 2021.3
Package Dependencies
- com.unity.inputsystem (1.8.1)
- com.unity.mathematics (1.2.6)
- com.unity.modules.audio (1.0.0)
- com.unity.modules.imgui (1.0.0)
- com.unity.modules.physics (1.0.0)
- com.unity.modules.xr (1.0.0)
- com.unity.ugui (1.0.0)
- com.unity.xr.core-utils (2.2.3)
✨ Features
- Added support for Hand Interaction Profile (OpenXR) to the XR Input Modality Manager component and added bindings to the `XRI Default Input Actions` asset in the Starter Assets sample.
- Added interaction layer configuration to `XRInteractorLineVisual` to allow specification of which interactables cause a straight line ray cast to bend to the attach transform on select.
📈 Improvements
- Changed logic in the XR Input Modality Manager component to accept `Position | Rotation` tracking state flags as sufficient conditions to enable the input modality to work around devices that do not set `isTracked`, such as some Windows Mixed Reality controllers.
- Changed `XR Origin Hands (XR Rig)` by updating both Near-Far Interactor GameObjects in the hands hierarchy to use different input actions for UI Press and Select inputs.
- - This was needed since the bindings are now different for those two input actions. The Value Derived Button Reader component was moved from the Near-Far Interactor GameObject to two child GameObjects for better readability to distinguish between Select Input and UI Press Input. It was also replaced with a new Release Threshold Button Reader component to also use the bool actions in the logic for being performed.
- Changed default value of Press Threshold in `ValueDerivedButtonReader` from 0.85 to 0.8.
- Changed the Pinch Point Follow component to use the Pinch Pose from the `XRHandSubsystem` (instead of computing the average of the index finger and thumb tip) when the pose is available from the subsystem. Requires XR Hands 1.5.0 or newer.
- XRPokeFollowAffordance script in Starter Assets sample now updates the poke follow transform to match clamping limits, and displays a yellow debug line to visualize limits.
- Changed `BaseTeleportationInteractable` and `ClimbInteractable` `Awake` logic to limit expensive `FindObjectOfType` search for `TeleportationProvider` and `ClimbProvider` to once per frame if those `LocomotionProviders` are left null in the inspector.
- Renamed a prefab asset in Starter Assets sample to reduce the total file path length.
🔧 Bug Fixes
- Fixed AABB errors caused by the Curve Visual Controller component with the Near-Far Interactor when the line length was near zero. The Line Renderer component will now be disabled when the length is under 0.01 to also avoid unstable line rendering.
- Fixed "Look rotation viewing vector is zero" errors caused by Pinch Point Follow component when the ray end point is at the same location as the pinch position.
- Fixed the Pinch Point Follow component to use the XR Origin's up instead of always using global up when computing the rotation.
- Fixed the Pinch Point Follow component to not write to the Transform rotation when the optional Target Rotation property is not set.
- Fixed rotation drift that would occur when doing two handed rotation with the `XRGeneralGrabTransformer`. New measures gradually counter drift as it starts to accumulate.
- Fixed poke behavior when starting a poke from behind and then moving it back forward to poke in the correct direction.
- Fixed poke filter not working with interactors that are not explicitly the XRPokeInteractor, despite implementing necessary interfaces.
- Fixed an issue where the Near-Far Interactor would not be properly blocked by non-interactive 3D obstructions during far interactions. (XRIT-154)
- Fixed deprecated messages to use the correct class names for `XRInputButtonReader` and `XRInputValueReader` (instead of `XRInputButtonProvider` and `XRInputValueProvider`).
- Fixed issue where screen-space UI was no longer being occluded via the `XRRayInteractor` which caused the delete button to no longer work in the `ARDemoScene`. Update the AR Starter Assets sample in your project or update XR Ray Interactor in your AR project to enable Block Interactions With Screen Space UI. (XRIT-152)
