Search Issue Tracker
Fixed in 1.0.0-pre.2
Votes
0
Found in [Package]
0.9.4
Issue ID
1231482
Regression
No
[XR Interaction Toolkit] Adding an XRGrabInteractable to Game object in Play mode does not work
How to reproduce:
1. Open attached project ("UnityBugXRGrabInteractableFails.zip")
2. Open SampleScene scene
3. Enter Play mode
4. Pick up the cube with the right controller
5. Release cube
6. Pick up the cube with the right controller
Expected result: Cube is picked up
Actual result: Cube stays on the ground
Reproducible with: 2019.3.9f1 (0.9.3), 2020.1.0b5 (0.9.4), 2020.2.0a7 (0.9.4)
Could not test with: 2017.4.39f1 (Packages are not present), 2018.4.20f1 (No XR Interaction package)
Notes:
- Tested with Oculus Rift
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
- AssetBundles fail to load when running in Built Players for Mobile Devices
- UI elements with text gets bigger and grey when Player window is moved to another screen with different resolution
- System name accepts multiline text but crops it on confirmation, duplicates input, and shrinks the field when empty
- UI element scale and position are wrong in project build when DRS is changed with HDR and Software Dynamic Resolution enabled
- White lighting artifact when a point light with a small emission range and "Hard Shadows" touches an object while a directional light with "Soft Shadows" and another point light are present
Resolution Note (fix version 1.0.0-pre.2):
The problem was caused by the project adding a Grab Interactable component to a parent GameObject that shares Colliders with the child Grab Interactable. However, the initial child Interactable would only unregister from the Interaction Manager during OnDestroy, which is invoked later after the Destroy call. When the new Grab Interactable was registered with the Interaction Manager, its Colliders list conflicted with the still registered child Interactable.
With changes made with 1.0.0-pre.2, the Interactable will unregister during OnDisable, which is invoked immediately. The new Interactable is thus able to associate the Collider with it.