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
- Out-of-bounds memory access with multiple CanvasRenderers under a Canvas when using Mesh API
- Inspector tries to access file after it was deleted when the file was locked in Inspector window
- Changing Transform values in Search window Inspector loses focus while dragging and stopping mouse without releasing dragging action
- Saving changes on the dirty VFX Graph during the Play mode throws "The referenced script (Unknown) on this Behaviour is missing!" warnings
- VFX Graph Debug Info overlaps the "Initialize" block debug info by default
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.