Regression: GrabBlock eagerly blocks where it didn't before
Describe the bug?
The GrabBlock component appears to ignore "object roots" such as the Grabbable component and all slots in the hierarchy that it's on including itself cannot be grabbed.
To Reproduce
Setup 1
- Create a grabbable box
- Add GrabBlock component
- Try grabbing it (won't work)
Setup 2
- Create a box
- Add GrabBlock component
- Create a grabbable box and parent it
- Try grabbing it (won't work)
Reproduction Item/World
Spawn resrec:///U-1QbdepR26LI/R-9450603e-0b6b-4487-ba35-58bf9740a269 and try grabbing anything.
The white box is a GrabbableReceiverSurface with a GrabBlock on it. You can disable the GrabBlock to see the difference. The red box is not grabbable and the GrabBlock would have made it ungrabbable in the previous build as expected. The blue box is grabbable and cannot be grabbed in the current build, which it would have been before.
Expected behavior
Previously, the GrabBlock would only take effect if the grab would grab a root that the component is on or above (unless the grabbed Grabbable is on the same slot). Now it blocks everything, even if only a child would be grabbed.
Screenshots
No response
Resonite Version Number
2025.5.30.4
What Platforms does this occur on?
Windows
What headset if any do you use?
Index
Log Files
DESKTOP-COLIN - 2025.5.30.4 - 2025-05-30 03_42_17.log
Additional Context
I noticed this because my Moduprint system is using those components to prevent grabbing the thing that ProtoFlux is virtual-parented under. Only after this update, you can't grab any nodes on the print anymore.
Reporters
Colin The Cat (colin.cat on Discord)
I know exactly what this one is.
Easy to fix :)
Setup 1
Create a grabbable box
Add GrabBlock component
Try grabbing it (won't work)
This one is intentional and working as expected. The second one is not.
I have a fix but discovered a bug which caused the bug.
Checking tools for #4514 if my current fix fixes that I will collapse it into here.
Here's the bug!
When trying to find a grabbable we used to just check a candidate grabbable for grab block and not ascend further. I swapped that to look further.
However, I did this because I was trying to standardize stuff based on handling I found elsewhere that did the same thing and it turns out that uncovered another bug.
The other bug is as follows, and requires my pictured fix first:
- Re-create Colin's Setup 2
- Laser the cube that should be grabbable, you will be able to grab it
- But your laser icon will not update.
I'll fix this up and then take a look at #4514 as I'll need to hop into VR for that.
The later half of the video covers the laser icon bug I was referring to: https://youtu.be/lG7SRjptkdw
The later half of the video covers the laser icon bug I was referring to: https://youtu.be/lG7SRjptkdw
that Might be related/adjacent to #4348
Coming Soon.
- The first item in this diff, fixes the bug in the latter half my video(https://youtu.be/lG7SRjptkdw)
- The second item in this diff essentially reverts the Grabber to the state prior to 2025.5.30.4.
When could we expect to see this fix pushed to release?
It's been merged in 2025.5.30.1277! Thanks for report!