Search Issue Tracker
Fixed in 2.0.0-pre.1
Votes
0
Found in [Package]
1.0.0-pre.5
Issue ID
1358578
Regression
No
[XR] Unable to attach XRGrabInteractable to XRSocketInteractor after interacting with Teleportation Area
Reproduction steps:
1. Open the user's attached "Case#XRinteractiveKit.zip" project
2. Load the "testCase" scene
3. Enter Play mode
4. Teleport to interactable objects
5. Grab the "KinematicCube (3)" GameObject with XR Controller
6. Place the sphere on the cube into Teleportation Area (Floor)
7. Grab the Jigsaw GameObject and try attaching it to the sphere
Expected result: the GameObject is attached to the Socket Interactor
Actual result: a red Hover mesh appears indicating that the GameObject cannot be attached (see "3xjOI9POrN.mp4")
Reproducible with: XR Interaction Toolkit 1.0.0-pre.5 (2019.4.30f1, 2020.3.17f1, 2021.1.18f1, 2021.2.0b9, 2022.1.0a6)
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Articulation Body with 'Revolute' Joint Type has erratic behavior when Upper Limit is set to above 360
- WebGL Player fails to render Scene when Terrain with Detail Mesh is added and WebGPU Graphics API is used
- Inconsistent errors are logged when different types are passed into the Query "Q<>" method in UIToolkit and the ancestor VisualElement is null
- Crash on GetMaterialPropertyByIndex when opening a specific Scene
- Discrepancies in the styling are present when using a TSS file instead of a USS file in custom EditorWindow
Resolution Note (fix version 2.0.0-pre.1):
The problem was that Interactor selections do not automatically deselect when the Interactable is no longer in the valid targets list returned by the Interactor. When the Socket Interactor touched the Teleportation Area Interactable, it would select it and remain so even when moving the socket away from it.
The property keepSelectedTargetValid from XRRayInteractor was moved into the base class in 2.0.0-pre.1 so that logic can be controlled by other interactors, such as the XRSocketInteractor. To fix the issue with that version of the package, the Socket should disable that setting by unchecking it in the Inspector window.
As a workaround until that version is released, you can use the Interaction Layer Mask to prevent the socket from interacting with the teleportation area. You can also derive from XRSocketInteractor and override the CanSelect method to check that the selected object is still contained within the valid targets list.