Making a SubViewport accept input in a 3d scene

Godot Version 4.3

Hello !

My scene tree is this:
image

I want to be able to click on this cute button:

It doesnt accept input. I tried:
• Turning “Physics > Object Picking” On
• Testing it with a seperate test scene with only the screen

I do have a solution but its UNINTUITIVE and will most likely BREAK in the future. I add a CollisionShape3D and make the root of the box a StaticBody3D and i detect inputs in the CollisionShape3D.

Have a look at this demo-project, which shows the recommended way to handle this use-case.

Basically you need a physics-picking 3d object, that forwards the input events to the SubViewport.

Yes this was my solution as well but people on reddit kept saying they fixed it by “Turning “Physics > Object Picking” On” without any code and i was confused.