Releases: needle-mirror/com.unity.xr.interaction.toolkit
Releases · needle-mirror/com.unity.xr.interaction.toolkit
3.0.0-pre.2
[3.0.0-pre.2] - 2024-02-28
Added
- Added the
NearFarInteractorcomponent, a versatile new interactor enabling both near and far interactions. It's designed to be more modular and delegate out responsibilities that used to be difficult to customize within classes likeXRDirectInteractorandXRRayInteractor. It uses two distinct casters (IInteractionCaster) to find valid interaction targets, with the near caster optimized for close-range interactions and the far caster supporting UI interaction and distance-based sorting. The interactor also integrates UI interaction capabilities, snapping modes for interactable objects, and implements various interfaces for advanced XR interactions. - Added the
CurveInteractionCastercomponent, a ray casting implementation to be used withNearFarInteractoras the Far Caster. It specializes in curved ray casting, offering advanced world-space UI interactions with flexible path creation. The class implements theICurveInteractionCasterinterface, supporting varied hit detection methods including sphere and cone casting, in addition to standard ray casting. Key features include customizable casting distances, curve segments, and casting radius. It is intended to fill the equivalent role of the casting performed by theXRRayInteractorcomponent. - Added the
SphereInteractionCastercomponent, a sphere casting implementation to be used withNearFarInteractoras the Near Caster. It executes a sphere overlap check to identify valid interaction targets. It's designed for scenarios where a spherical area of detection is preferable over a single point or line. The class features adjustable parameters like the radius of the sphere cast, physics layer mask for target filtering, and the option to include or ignore trigger colliders. It is intended to fill the equivalent role of the casting performed by theXRDirectInteractorcomponent. - Added the
CurveVisualControllerto manage the visual representation of a line, typically used for highlighting interaction paths or trajectories. It features customizable width, color gradients, and dynamic behaviors like retraction or expansion. The class supports dynamic line rendering with adjustable properties such as line width, gradient, and extension rate. It also offers different line dynamics modes (like traditional, retract on hit loss, and expand from hit point) and the ability to snap to specific points or volumes. It is intended to fill the equivalent role of controlling ray visuals in theXRInteractorLineVisualcomponent. - Added the
InteractionAttachControllercomponent. It is intended to be a simple template showing how to control the interaction attach transform used by theNearFarInteractor. It can handle stabilization when an offset is present and handle an amplified offset movement to move distant objects closer with ease using a pulling gesture. - Added the
farAttachModeproperty in theXRGrabInteractable. It allows for overriding how theNearFarInteractor(when far selecting) and theXRRayInteractoradjusts their attach transform to cause the interactable to snap near to the hand or whether it moves to the far hit point. - Added public
RequestTeleportmethod toTeleportationAnchorto allow a teleport to the anchor to be triggered manually, such as from a UI button click event, instead of only from interaction events like select exited. Teleport to anchor can also be triggered from the Inspector window in the More (⋮) menu during Play mode for debugging.- Added protected
SendTeleportRequest(IXRInteractor)to the base abstract class to allow the teleport to be triggered from additional contexts.
- Added protected
- Added option in
ARTransformerto filter translatable planes by the AR Foundation plane classifications. Uses either a list ofPlaneClassificationenum (for older than ARF 6.0) orPlaneClassificationsflags enum (ARF 6.0 and newer) types. - Added
ARTransformerEditorto customize the Inspector window of the AR Transformer component. - Added warnings to the Inspector window of input button reader properties (
XRInputButtonReader) when the performed Input Action is not configured correctly for button-like behavior.
Changed
- Changed
LogicalInputStateby renamingwasUnperformedThisFrametowasCompletedThisFrameto match terminology in Input System. - Improved input-related backwards compatibility of interactors that have not yet migrated to the new input reader architecture by replacing the Force Deprecated Input property in the Inspector window with Input Compatibility Mode. This property defaults to
Automatic, which will search up the hierarchy for XR Controller components and only use the deprecated XR Controller component for input if found. This property can also be set toForceDeprecatedInputorForceInputReadersdepending on the desired behavior.- Added
XRBaseInputInteractor.inputCompatibilityModeserialized property andXRBaseInputInteractor.InputCompatibilityModeenum. - Deprecated and removed serialization of
XRBaseInputInteractor.forceDeprecatedInputproperty.
- Added
- Changed Hand Menu component to automatically hide the menu when a selection is made with the hand for which the menu is anchored to. This functionality can be reverted by disabling the new Hide Menu On Select property.
- Changed the default value of Force Grab on the XR Ray Interactor component from enabled to disabled.
- Changed Starter Assets sample script
ControllerInputActionManagerto support Near-Far Interactor, not just Ray Interactor, for the distant/ray manipulation interactor. - Changed Hands Interaction Demo sample script
HideObjectWhenRayInteractorBlockedby renaming toHideObjectWhenInteractorBlockedand updated to work withXRBaseInteractorinstead of justXRRayInteractor. - Changed
XRBaseGrabTransformerby makingStartandOnDestroymethodsvirtual. - Moved interactor components from the Component > XR menu into the Component > XR > Interactors menu.
Fixed
- Fixed
XRPokeInteractorandTrackedGraphicRaycasterto ensure poke interactor data is cleared when the UI element with a poke interaction is disabled. (XRIT-115) - Fixed an issue where target filters could not influence the prioritized poke interactable. (XRIT-114)
- Fixed an issue in
XRUIInputModulewhere display index was not being set for mouse or touch in thePointerEventDataobject causing it to always default to the first display. (XRIT-125) - Fixed use of renamed Rigidbody properties in Unity 2023.3 to avoid script migration prompt.
- Fixed a small performance issue at startup by making XR Ray Interactor only search for AR Raycast Manager when both AR Foundation is installed and Enable AR Raycasting is enabled.
- Fixed an issue with two handed rotations using the XRGeneralGrabTransformer where some inconsistent motion would occur when the user would rotate more than 180 degrees in any axis.
- Fixed compilation errors on tvOS platform where
ENABLE_VRis not defined. - Fixed a bug in
XRSocketInteractorthat prevented the deselecting of the Starting Selected Interactable when Hover Socket Snapping was enabled. - Fixed broken markdown links within tables in samples documentation in the manual.
2.5.3
[2.5.3] - 2024-02-28
Fixed
- Fixed issue where rotating on vertical planes with the
ARTransformerwould snap to an unintended rotation. (Backport from 3.0.0-pre.1) - Fixed failing unit tests caused by introduction of global actions in Input System 1.8.0. (Backport from 3.0.0-pre.1)
- Fixed a math error in the
XRDistanceEvaluatorwhereCalculateNormalizedScorewould return an incorrect score. (Backport from 3.0.0-pre.1) - Fixed an issue where the direct interactor wasn't correctly processing colliders after the first frame. (XRIT-116) (Backport from 3.0.0-pre.1)
- Fixed a bug where a
NullReferenceExceptionwas thrown whenAffordance Theme Datumwas not set. If it is null, an error is logged and theAudioAffordanceReceiveris disabled, but no exception is thrown. (XRIT-107) (Backport from 3.0.0-pre.1) - Fixed the
ActionBasedControllerManagerscript in Starter Assets to not stop move locomotion when beginning to point at scrollable UI during locomotion. (Backport from 3.0.0-pre.1) - Fixed the
ActionBasedControllerManagerscript in Starter Assets to not scroll UI when beginning to point at scrollable UI during locomotion until stopping locomotion. (Backport from 3.0.0-pre.2) - Fixed
XRPokeInteractorandTrackedGraphicRaycasterto ensure poke interactor data is cleared when the UI element with a poke interaction is disabled. (XRIT-115) (Backport from 3.0.0-pre.2) - Fixed an issue where target filters could not influence the prioritized poke interactable. (XRIT-114) (Backport from 3.0.0-pre.2)
- Fixed an issue in
XRUIInputModulewhere display index was not being set for mouse or touch in thePointerEventDataobject causing it to always default to the first display. (XRIT-125) (Backport from 3.0.0-pre.2) - Fixed use of renamed Rigidbody properties in Unity 2023.3 to avoid script migration prompt. (Backport from 3.0.0-pre.2)
- Fixed a small performance issue at startup by making XR Ray Interactor only search for AR Raycast Manager when both AR Foundation is installed and Enable AR Raycasting is enabled. (Backport from 3.0.0-pre.2)
- Fixed an issue with two handed rotations using the XRGeneralGrabTransformer where some inconsistent motion would occur when the user would rotate more than 180 degrees in any axis. (Backport from 3.0.0-pre.2)
- Fixed compilation errors on tvOS platform where
ENABLE_VRis not defined. (Backport from 3.0.0-pre.2) - Fixed a bug in
XRSocketInteractorthat prevented the deselecting of the Starting Selected Interactable when Hover Socket Snapping was enabled. (Backport from 3.0.0-pre.2) - Fixed broken markdown links within tables in samples documentation in the manual. (Backport from 3.0.0-pre.2)
3.0.0-pre.1
[3.0.0-pre.1] - 2023-12-14
Warning
Some serialized fields used by deprecated code were removed with this version. To avoid potential data loss, especially if you were getting warnings about using deprecated functionality, update your project to the latest 2.x version of this package (for example, 2.5.2) before updating your project to version 3.0.
Added
- Added a new type of teleport interactable, Teleportation Multi-Anchor Volume, that enables teleportation to one of several destination poses chosen by a filter object that implements
ITeleportationVolumeAnchorFilter.- Added
FurthestTeleportationAnchorFilter, which is the default filter that chooses the furthest anchor as the destination. Use the menu item Assets > Create > XR > Locomotion > Furthest Teleportation Anchor Filter to create an instance of this filter. - Added
GazeTeleportationAnchorFilter, which chooses a destination based on where the user is looking and how far away the anchor is. Use the menu item Assets > Create > XR > Locomotion > Gaze Teleportation Anchor Filter to create an instance of this filter. - Added menu item Assets > Create > XR > Locomotion > Teleport Volume Destination Settings, which creates a Teleport Volume Destination Settings Datum asset.
- Added
Multi Floor Ladderprefab to the Starter Assets sample, and added an instance of this prefab to theClimb Sampleprefab. This prefab includes another ladder Climb Interactable and a Teleportation Multi-Anchor Volume that uses a Gaze Teleportation Anchor Filter to teleport to one of three destinations.
- Added
- Added the interface
IXRInteractableCustomReticle, which allows a component on an interactable's Custom Reticle prefab to respond to the interactable instantiating the reticle and attaching it to an instance ofIXRCustomReticleProvider.- Added an example implementation of this interface in the new
Climb Teleport Reticleprefab in the Starter Assets sample.
- Added an example implementation of this interface in the new
- Added a rotation threshold to
XRScreenSpaceControllerso that scaling is not triggered while rotating. - Added in-editor touchscreen gesture support for rotation and scaling in the starter assets. The input action map now has bindings for the related gestures.
- Added Climb Teleport Interactor, which enables assistance with climb locomotion by teleporting the user to a specific destination when they end a climb interaction.
- Added the property Climb Assistance Teleport Volume to Climb Interactable to enable this teleportation behavior for a specific climb interactable.
- Made the following changes to the Starter Assets sample to demonstrate climb teleportation:
- Added a Climb Teleport Interactor instance in the
XR Origin (XR Rig)prefab under Locomotion System > Climb. - Assigned the Climb Assistance Teleport Volume references in the
Single Floor LadderandMulti Floor Ladderprefabs. - Added the affordance component Climb Teleport Destination Indicator, and added an instance of this component to the
XR Origin (XR Rig)prefab. - Added the
Climb Teleport Arrowprefab and supporting assets.
- Added a Climb Teleport Interactor instance in the
- Added public members
climbAnchorInteractable,climbAnchorInteractor, andclimbAnchorUpdatedtoClimbProvider. - Added public method
Angle(in Vector3, in Vector3, out float), which finds the angle between two vectors, toBurstMathUtility. - Added functionality to
SortingHelpers- Added
IInteractorDistanceEvaluatorto be able to define the method used to determine the distances between interactables and an interactor which serves to rank the interactables during a sort. - Added in place interactable sorting methods.
- Added delegate to be able to define the method used to determine the distances between interactables and an interactor which serves to rank the interactables during a sort.
- Added in place interactable sorting methods.
- Added
- Added
IAttachPointVelocityProvider,IAttachPointVelocityTracker, andAttachPointVelocityTrackerto make the attach point velocity tracking functionality accessible outside of theXRBaseInteractor. - Added a new type of component, XR Body Transformer, which manages queued
IXRBodyTransformations to apply to the XR Origin. This component supplies anIXRBodyPositionEvaluatorto transformations so that they can use the user's body as a frame of reference. By default the body position is estimated to be directly underneath the camera. Transformations can also use an optionalIConstrainedXRBodyManipulatorto apply movement constrained by collision.- Added a new type of scriptable object, Character Controller XR Body Manipulator, which implements
IConstrainedXRBodyManipulatorby using a Character Controller that matches the user's body position and height. - Added the following implementations of
IXRBodyTransformation:DelegateXRBodyTransformation,XROriginMovement,XRBodyGroundPosition,XROriginUpAlignment,XRBodyYawRotation,XRCameraForwardXZAlignment, andXRBodyScale.
- Added a new type of scriptable object, Character Controller XR Body Manipulator, which implements
- Added
handednessproperty to interactors to allow you to specify if the interactor is for the left or right hand. Interactables are able to make use of it for custom functionality when they need to know which hand (if any) the interactor is associated with. Also added extension methods to interactables related to this property:IXRSelectInteractable.IsSelectedByLeft,IXRSelectInteractable.IsSelectedByRight,IXRHoverInteractable.IsHoveredByLeft, andIXRHoverInteractable.IsHoveredByRight.
Changed
- Changed
IXRInteractorto add a newhandednessproperty to allow you to specify if the interactor is for the left or right hand. The property was added toXRBaseInteractorand the prefabs in the Starter Assets sample were updated to initialize it. Users with existing prefabs may want to set the value so that they can make use of it in interactable scripts. Users with custom interactor scripts that do not derive from the base class will need to add it to their class implementation. - Changed setup of the ladder and elevated teleport area in the
Climb Sampleprefab in the Starter Assets sample so that the objects are set up in a newSingle Floor Ladderprefab. This prefab also contains a Teleportation Multi-Anchor Volume to allow teleportation to the top or bottom, whichever is furthest from the user. - Changed
XRPokeInteractorto useIAttachPointVelocityTrackerinstead of the velocity tracking that used to live inXRBaseInteractor. - Changed
XRTransformStabilizer- Core logic to compute stabilization is now done in a public static method so that external classes can use it like a utilities library.
- Fixed local transformation logic.
- Optimized included bubbles sort function from
SortingHelpers. - Changed how Two-Handed Grab Move Provider applies rotation and scaling of the XR Origin. Rotation and scaling now happen around the user's body position (the camera position projected onto the XZ plane of the XR Origin) instead of the XR Origin's position.
- Changed core locomotion system to place less responsibility on provider implementations to manage state changes and allow greater configurability of the order in which providers apply transformations to the XR Origin. Each provider's locomotion state is now centrally maintained by the Locomotion Mediator based on requests for the XR Body Transformer linked to the mediator.
- Replaced the now deprecated
LocomotionSystemwithLocomotionMediator. - Replaced the now deprecated
LocomotionPhasewithLocomotionState. - Deprecated several members of
LocomotionProviderand added new members in their place for communicating with the Locomotion Mediator and providing information for state changes. Deprecated members include:beginLocomotion,endLocomotion,CanBeginLocomotion,BeginLocomotion, andEndLocomotion. - Changed timing of when Locomotion Providers apply transformations to the XR Origin. Now in each Provider's
Update, rather than applying the transformation immediately the Provider queues its transformation into the XR Body Transformer. Transformations are applied in queue order in the XR Body Transformer'sUpdate, which occurs later in the same frame. - Changed timing of when
ContinuousMoveProvider,ConstrainedMoveProvider, andContinuousTurnProviderinvoke locomotion events, for consistency with other providers. Now these providers invokelocomotionStartedwhen the start of move input occurs (e.g. thumbstick is moved from rest state) andlocomotionEndedwhen the end of move input occurs (e.g. thumbstick is released).
- Replaced the now deprecated
- Changed the move speed in the
XR Origin (XR Rig)prefab in the Starter Assets sample from1to2.5. - Changed default value of
UIInputModule.trackedDeviceDragThresholdMultiplierfrom1.4to2and updated the preset in the Starter Assets sample to match. - Changed
XRControllerRecorder.GetControllerStateso it only returns a valid value when playing or recording. Also changed so theoutparam is returnednullinstead of allocating when the method returnsfalse. - Renamed
ActionBasedControllerManagertoControllerInputActionManagerin Starter Assets sample. - Changed
ControllerInputActionManagerto no longer add or modify interactors in the XR Interaction Group. The prefab in Starter Assets is already configured to what it would try to change it to. - Changed the default execution order of
ControllerInputActionManagerback to the default and added anUpdatemethod instead of creating a coroutine. - Renamed Anchor Control in XR Ray Interactor to Attach Transform Manipulation to make it more apparent that it is for manipulating the Attach Transform. Also renamed related properties to make it match the display name in the Inspector window.
- Renamed
allowAnchorControlproperty...
- Renamed
2.5.2
[2.5.2] - 2023-09-28
Fixed
- Fixed an issue where the XR Ray Interactor can no longer interact with UI drag events correctly when the UI object is both a Tracked Device Graphics Raycaster and an XR Interactable. This fix introduces a property
blockUIOnInteractableSelectiontoXRRayInteractorto control this behavior. - Fixed an issue where the XR Ray Interactors internal UI cache can cause error log spamming when it is not initialized or becomes null at runtime.
- Fixed an issue where dropping a grab interactable, when scaling beyond min and max scale thresholds using an
ARTransformer, didn't properly set the scale back within the threshold limits when Attach Ease In Time or Smooth Scale were enabled. As a part of this fix,attachEaseInTimeand smoothing will only be considered when anXRGrabInteractableis selected. - Fixed an issue where poking UI elements with the controller poke wand did not work in the starter assets demo scene.
2.5.1
[2.5.1] - 2023-09-12
Changed
- Split and moved Samples documentation into a new area of the Table of Contents to make discovery and navigation easier.
- Redesigned and improved Hands Interaction Demo sample scene and prefabs.
- Reworked colliders and interactions in sample scene.
- Added new rim light material made using Shader Graph.
- Added new blend shape pinch dropper for hand rays.
- Added grab handle to reposition and reorient the table.
- Added poke to drag chess piece examples.
- Added socket interactor example to show socket snapping.
- Added One Euro Filter algorithm to smooth hand root using XR Hands post processor.
- Changed ray visual to now originate from the pinch point instead of a fixed offset from the wrist.
- Moved hand menu prefab to be a child of the XR Origin to allow for locomotion.
2.5.0
[2.5.0] - 2023-08-17
Added
- Added the canvas optimizer to reduce runtime load of UI-heavy scenes. See UI Setup - Canvas optimizer in the manual for more details.
- Added the
ARTransformerwhich allows users to move anXRGrabInteractablewhile constrained to AR Foundation planes. It also has functionality for scaling with touch pinch gestures when the XR Screen Space Controller is used. - Added Track Scale and related smoothing options to XR Grab Interactable to allow developers to disable writing to the object's scale when grabbing.
- Added snap transformations to
XRSocketInteractoron hover. - Added scaling transformation to
XRSocketInteractor. - Added several scripts to the Starter Assets sample for object spawning in AR:
ObjectSpawner,ARInteractorSpawnTrigger,ARContactSpawnTrigger, andDestroySelf. - Added an AR demo scene to the AR Starter Assets that displays a set-up for mobile AR which includes a sliding menu of placeable and interactable objects.
- Added
GetCurrentGameObjectmethod toUIInputModuleto get the UI GameObject currently being hovered by a tracked device or pointer device such as a mouse or touchscreen. - Added Cone Cast hit detection type to the XR Ray Interactor to allow users to select small objects at a distance easily.
- Added ray endpoint stabilization to the XR Transform Stabilizer.
- Added XR Hand Skeleton Poke Displacer component to allow for displacing the hand skeleton when poking an interactable in order to prevent the hand from phasing through objects while poking them.
- Added one handed scaling support to XR General Grab Transformer to allow grab interactables to be scaled, controlled by enabling Allow One Handed Scaling (which is enabled by default). For motion controller scaling with the XR Ray Interactor, Scale Mode (which is None by default) should be set to Input. For pinch scaling with the XR Ray Interactor, Scale Mode should be set to Distance.
- Added new Scale Toggle and Scale Delta input actions to the XR Controller (Action-based) which the XR Ray Interactor reads. The
XRRayInteractorimplements the newIXRScaleValueProviderby reading the scale delta values from theActionBasedControllerorXRScreenSpaceControllerso that theXRGeneralGrbTransformercan scale using the controller andARTransformercan be used to scale objects with touch pinch gestures.
Changed
- The Tunneling Vignette sample was moved into the Starter Assets sample.
- Changed the Starter Assets sample to be reorganized so all
DemoSceneassets are located in a separateDemoSceneAssetsfolder that can be easily removed. - Changed the automatic creation of the XR Device Simulator prefab to be excluded from standalone builds by default. A new Instantiate In Editor Only setting to control this behavior was added to the XR Interaction Toolkit project settings. (XRIT-82)
- Changed the Ray Interactor prefab in the Starter Assets sample to use cone casting instead of ray casting for the hit detection type.
- Changed the XR Controller (Action-based) components in the Starter Assets sample to have empty action references instead of empty input actions for consistency and to avoid potential errors during the
ApplyProcessorsmethod of the current latest version of Input System. - Converted math in XR General Grab Transformer to use the Burst compiler and the Mathematics package for performance improvements.
- Project Validation will automatically open if there are validation errors or missing dependencies to correct when importing Hands Interaction Demo sample package.
- Converted math in XR Grab Interactable related to smoothing operations to use the Burst compiler and the Mathematics package for performance improvements.
- Changed
XRGrabInteractabledefault property values:- Changed default value of
smoothPositionAmountandsmoothRotationAmountfrom5to8. - Changed default value of
tightenPositionandtightenRotationfrom0.5to0.1.
- Changed default value of
2.4.3
[2.4.3] - 2023-07-21
Fixed
- Fixed Starter Asset validation check that would trigger a race condition when accessing the XRI settings files, causing false console errors.
[2.4.2] - 2023-07-20
Changed
- Changed package version for internal release.
2.4.1
[2.4.1] - 2023-07-12
Added
- Added affordance theme validation logic so that affordance theme assets used in an affordance receiver are automatically upgraded with any missing theme states (such as the focused state).
Changed
- Converted math in XR General Grab Transformer to use the Burst compiler and the Mathematics package for performance improvements.
- Changed XR General Grab Transformer by changing the default value of Threshold Move Ratio For Scale from
0.1to0.05. - Changed the climb example ladder to allow forward/z-axis movement at the top for more natural feeling controls.
- Changed the Starter Assets UI sample to include a dropdown example.
Fixed
- Fixed compiler error in
ComponentLocatorUtility.csrelated toFindFirstObjectByTypein some patch versions of the Unity Editor. It will now fallback toFindObjectOfTypein Editor versions where the other method is not available. - Fixed an issue in the
XRRayInteractorwhere the teleport cursor does not stay aligned with the controller direction when moving around. - Fixed an issue with the
UIInputModulethat would cause unintended drag events to fire for head/camera movement. (XRIT-64) - Fixed an issue with the Starter Assets sample that caused dropdowns to render over line renderer visuals.
- Fixed the Tunneling Vignette sample to render on top of dropdowns and the line renderer visuals.
- Fixed an issue in the
LazyFollowwhere the object would not snap to the target position when thesnapOnEnabledis true. - Fixed various internal transform usages for XR Origin to use its
Originproperty for the transform since the Origin GameObject and the GameObject the component is on may differ. - Fixed potential for undesired prefab override noise with serialized input action properties when the GameObject > XR creation menu is used by ensuring the action name is set even if the Inspector window has never drawn the component.
2.4.0
[2.4.0] - 2023-06-15
Changed
- Project Settings for the XR Interaction Toolkit have been moved under the category XR Plug-in Management to consolidate XR configuration.
- Project validation rules for the XR Interaction Toolkit and samples have been updated to use global XR project validation and will now appear in the Edit > Project Settings > XR Plug-in Management > Project Validation window.
- Changed
Resetmethod of behaviors to no longer assign a reference to an XR Interaction Manager or XR Origin. - Changed XR Interactable Affordance State Provider component's default value to Ignore Focus Events.
- Changed affordance receivers to log a warning when the affordance theme data is missing potential affordance states. A new affordance state
focusedat array index 6 was added to the affordance theme assets in the samples. Users will need to reimport the Starter Assets and Hands Interaction Demo samples or add thefocusedstate to their affordance theme assets.
Fixed
- Fixed an issue with the XR Distance evaluator not calculating the proper distance from trigger colliders. (XRIT-71)
- Fixed an issue where interactors and interactables could use a different default XR Interaction Manager reference, such as after instantiating a prefab that contains an XR Interaction Manager into a scene with interactables that previously created a default manager instance. (XRIT-65)
- Fixed teleportation not working when the prefab containing the Teleportation Provider component is instantiated after the teleportation interactables are loaded by attempting to find that component upon each teleport request if needed instead of only upon
Awake. - Fixed climb not working when the prefab containing the Climb Provider component is instantiated after the climb interactables are loaded by attempting to find that component upon each climb attempt if needed instead of only upon
Awake. - Fixed
XR General Grab Transformerscaling doing exponential scaling because it was using squared distance for ration calculation. - Fixed AR Gesture Interactor Inspector window not showing Raycast Mask and Raycast Trigger Interaction properties when the version of AR Foundation is older than version 5.0.
- Fixed compiler warnings related to
ARSessionOriginwhen AR Foundation 5.0 or newer is installed.
2.4.0-pre.2
[2.4.0-pre.2] - 2023-05-31
Changed
- Changed the
XR Interactable Affordance State Providerorder to put focus state after all other interaction states for consistency.