Quick answer: Godot SubViewportContainer not passing mouse / touch input to its inner viewport? Set stretch = true on the container and handle_input_locally = false on the SubViewport, or forward events manually.

A SubViewport showing a 3D minimap doesn’t respond to clicks. Default settings keep input local to the parent viewport.

Container Stretch

SubViewportContainer’s stretch mode and the SubViewport’s handle_input_locally control whether input passes through. With handle_input_locally = false, the parent viewport’s input is also seen by the subviewport (subject to focus rules).

Manual Forwarding

func _gui_input(event):
    subviewport.push_input(event)

Gives you precise control: route events conditionally, transform coordinates, or filter event types.

Coordinate Transform

The SubViewport has its own coordinate space. push_input handles the transform if the container has stretch = true. If you scale the container, account for it in any manual hit-testing.

Verifying

Clicks inside the SubViewport hit 3D pickables in that viewport, not the parent. Drag-input works within the subview as expected.

“SubViewport input is opt-in. Container stretch + handle_input_locally = false is the default combo.”

Picture-in-picture views with input feel slick — spend the half hour to set up forwarding properly rather than fighting with the default.