com.unity.xr.interaction.toolkit 3.0.0
com.unity.xr.interaction.toolkit
Source docsNotes: processedReleased March 19, 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 many improvements to the samples, mainly focusing on the material usage and better interaction feedback.
- - Added `MaterialPipelineHandler` scriptable object to Starter Assets sample which allows the materials used in the sample to automatically adjust for the Built-in Render Pipeline or the Universal Render Pipeline (URP).
- - Added `ControllerAnimator` script to Starter Assets sample to animate the thumbstick, trigger, and grip of the controller model.
- - Added Far Grab Interactable Objects station to `DemoScene` in Starter Assets sample to demonstrate use of Far Attach Mode and Attach Transform setups.
📈 Improvements
- Changed `IXRInputButtonReader` introduced in version 3.0.0-pre.1 to add a new `ReadWasCompletedThisFrame` method. This allows callers to determine if the button was released that frame without needing to track the status of input every frame.
- - Changed `XRInputButtonReader` introduced in version 3.0.0-pre.1 by changing the method signature of `QueueManualState` to add a `bool` parameter for whether it should queue as completed.
- - Updated `ValueDerivedButtonReader` script in the Hands Interaction Demo sample for the new signature.
- Changed `com.unity.inputsystem` dependency from 1.7.0 to 1.8.1.
- Changed namespace of interaction attachment classes and interfaces:
- - `UnityEngine.XR.Interaction.Toolkit.Interaction` moved to `UnityEngine.XR.Interaction.Toolkit.Attachment`:
- - `AttachPointVelocityTracker`, `IAttachPointVelocityProvider`, `AttachPointVelocityProviderExtensions`, `IAttachPointVelocityTracker`
- Changed namespace of various interactable classes, enums, structs, and interfaces:
- - `UnityEngine.XR.Interaction.Toolkit` moved to `UnityEngine.XR.Interaction.Toolkit.Interactables`:
- - `DistanceInfo`, `IXRActivateInteractable`, `IXRFocusInteractable`, `XRFocusInteractableExtensions`, `InteractableFocusMode`, `IXRHoverInteractable`, `XRHoverInteractableExtensions`, `IXRInteractable`, `IXRInteractionStrengthInteractable`, `IXRSelectInteractable`, `XRSelectInteractableExtensions`, `InteractableSelectMode`, `XRBaseInteractable`, `XRGrabInteractable`, `XRInteractableSnapVolume`, `XRSimpleInteractable`
- - `UnityEngine.XR.Interaction.Toolkit` moved to `UnityEngine.XR.Interaction.Toolkit.Interactables.Visuals`:
- - `IXRInteractableCustomReticle`, `XRTintInteractableVisual`
- - `UnityEditor.XR.Interaction.Toolkit` moved to `UnityEditor.XR.Interaction.Toolkit.Interactables`:
- - `XRBaseInteractableEditor`, `GrabTransformersReorderableList`, `XRGrabInteractableEditor`, `XRInteractableSnapVolumeEditor`
- - `UnityEngine.XR.Interaction.Toolkit` moved to `UnityEngine.XR.Interaction.Toolkit.Filtering`:
- - `IXRFilterList`, `IMultiPokeStateDataProvider`, `IPokeStateDataProvider`
- Changed namespace of various interactor classes, enums, structs, and interfaces:
- - `UnityEngine.XR.Interaction.Toolkit` moved to `UnityEngine.XR.Interaction.Toolkit.Interactors`:
- - `InteractorHandedness`, `IXRActivateInteractor`, `IXRHoverInteractor`, `XRHoverInteractorExtensions`, `IXRInteractionStrengthInteractor`, `IXRInteractor`, `XRInteractorExtensions`, `IXRRayProvider`, `ScaleMode`, `IXRScaleValueProvider`, `IXRSelectInteractor`, `XRSelectInteractorExtensions`, `TargetPriorityMode`, `IXRTargetPriorityInteractor`, `XRBaseInteractor`, `XRDirectInteractor`, `XRGazeInteractor`, `XRPokeInteractor`, `XRRayInteractor`, `SocketScaleMode`, `XRSocketInteractor`, `XRInteractionGroup`, `IXRInteractionOverrideGroup`, `IXRInteractionGroup`, `IXRGroupMember`, `XRGroupMemberExtensions`
- - `UnityEditor.XR.Interaction.Toolkit` moved to `UnityEditor.XR.Interaction.Toolkit.Interactors`:
- - `XRBaseInputInteractorEditor`, `XRBaseInteractorEditor`, `XRDirectInteractorEditor`, `XRGazeInteractorEditor`, `XRInteractionGroupEditor`, `XRRayInteractorEditor`, `XRSocketInteractorEditor`
- - `UnityEngine.XR.Interaction.Toolkit` moved to `UnityEngine.XR.Interaction.Toolkit.Interactors.Visuals`:
- - `ILineRenderable`, `IAdvancedLineRenderable`, `XRInteractorLineVisual`, `IXRReticleDirectionProvider`, `IXRCustomReticleProvider`, `XRInteractorReticleVisual`
- - `UnityEditor.XR.Interaction.Toolkit` moved to `UnityEditor.XR.Interaction.Toolkit.Interactors.Visuals`:
- - `XRInteractorLineVisualEditor`, `XRInteractorReticleVisualEditor`
- Changed namespace of various gaze classes, and interfaces:
- - `UnityEngine.XR.Interaction.Toolkit` moved to `UnityEngine.XR.Interaction.Toolkit.Gaze`:
- - `IXRAimAssist`, `IXROverridesGazeAutoSelect`, `XRGazeAssistance`
- Changed namespace of various locomotion classes, structs, enums, and interfaces:
- - `UnityEngine.XR.Interaction.Toolkit` moved to `UnityEngine.XR.Interaction.Toolkit.Locomotion`:
- - `LocomotionProvider`
- - `UnityEngine.XR.Interaction.Toolkit` moved to `UnityEngine.XR.Interaction.Toolkit.Locomotion.Climbing`:
- - `ClimbInteractable`, `ClimbProvider`, `ClimbSettings`, `ClimbSettingsDatum`, `ClimbSettingsDatumProperty`, `ClimbTeleportInteractor`
- - `UnityEngine.XR.Interaction.Toolkit` moved to `UnityEngine.XR.Interaction.Toolkit.Locomotion.Movement`:
- - `ConstrainedMoveProvider`, `ContinuousMoveProvider`, `GrabMoveProvider`, `TwoHandedGrabMoveProvider`
- - `UnityEngine.XR.Interaction.Toolkit` moved to `UnityEngine.XR.Interaction.Toolkit.Locomotion.Teleportation`:
- - `MatchOrientation`, `TeleportRequest`, `FurthestTeleportationAnchorFilter`, `GazeTeleportationAnchorFilter`, `ITeleportationVolumeAnchorFilter`, `TeleportationAnchor`, `TeleportationArea`, `TeleportationMultiAnchorVolume`, `TeleportationProvider`, `TeleportingEvent`, `TeleportingEventArgs`, `TeleportVolumeDestinationSettings`, `TeleportVolumeDestinationSettingsDatum`, `TeleportVolumeDestinationSettingsDatumProperty`
- - `UnityEngine.XR.Interaction.Toolkit` moved to `UnityEngine.XR.Interaction.Toolkit.Locomotion.Turning`:
- - `ContinuousTurnProvider`, `SnapTurnProvider`
- - `UnityEngine.XR.Interaction.Toolkit` moved to `UnityEngine.XR.Interaction.Toolkit.Locomotion.Comfort`:
- - `VignetteParameters`, `EaseState`, `ITunnelingVignetteProvider`, `LocomotionVignetteProvider`, `TunnelingVignetteController`
- - `UnityEditor.XR.Interaction.Toolkit` moved to `UnityEditor.XR.Interaction.Toolkit.Locomotion.Climbing`:
- - `ClimbInteractableEditor`, `ClimbSettingsDatumPropertyDrawer`, `ClimbSettingsPropertyDrawer`
- - `UnityEditor.XR.Interaction.Toolkit` moved to `UnityEditor.XR.Interaction.Toolkit.Locomotion.Movement`:
- - `GrabMoveProviderEditor`
- - `UnityEditor.XR.Interaction.Toolkit` moved to `UnityEditor.XR.Interaction.Toolkit.Locomotion.Teleportation`:
- - `BaseTeleportationInteractableEditor`, `GazeTeleportationAnchorFilterEditor`, `TeleportationAnchorEditor`, `TeleportationAreaEditor`, `TeleportVolumeDestinationSettingsDatumPropertyDrawer`, `TeleportVolumeDestinationSettingsPropertyDrawer`
- - `UnityEditor.XR.Interaction.Toolkit` moved to `UnityEditor.XR.Interaction.Toolkit.Locomotion.Comfort`:
- - `TunnelingVignetteControllerEditor`
- Updated scripts in package samples to add `using` statements for namespace changes.
🔧 Bug Fixes
- Fixed compilation errors on tvOS platform where `ENABLE_VR` is not defined when AR Foundation is installed. Also fixed when XR Hands is installed in the Hands Interaction Demo sample.
- Fixed `TrackedGraphicRaycaster` to clear poke interaction data when disabled. (XRIT-142)
- Fixed warning about use of deprecated `VersionsInfo.verified` by replacing with `VersionsInfo.recommended` in the Hands Interaction Demo sample in Unity 2022.2 and newer.
