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
- "Shader warning in 'Hidden/Light2D': implicit truncation of vector type" is thrown when building Universal 2D template
- AI Assistant breaks compilation of packages using System.Runtime.CompilerServices.Unsafe via auto-referencing
- Unity Hub checks the "Documentation" module by default on the 6.4 and 6.5 streams despite that it was unchecked with the previous installs
- Shortcut that toggles between Dopesheet and Curves Views in the Animation Window's Timeline is mislabed
- Property List Items Overlap onto the Property List's top edge when scrolling through a long Property List
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.