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
- Required SpriteMask class (ID 331) is stripped when "Strip Engine Code" is enabled
- “Maximized serialized file backup not found” error is thrown when minimizing a window in a newly opened project
- Build stack trace contains invalid lines when building with IL2CPP using scripts with delegates containing generic types in the signature
- Entities Systems window has a “Show Full Player Loop” dropdown which does nothing when clicked after enabling “Show Full Player Loop”
- Entities Hierarchy Search “Show/Hide” button’s Lens Icon is blurry when the Editor is on an external monitor
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.