com.unity.xr.interaction.toolkit 3.0.0

com.unity.xr.interaction.toolkit

Source docs
Notes: processedReleased March 19, 2024

Browse versions

PreviousNext

Unity Compatibility

Minimum Unity: 2021.3

Package Dependencies

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.