Quick answer: Godot 4 collide_shape_query returning no contacts on thin walls? Default margin = 0.04 - shapes thinner than 0.08 fall in the gap; lower margin or thicken the wall.

Bullet uses collide_shape_query to detect hits. Thin metal sheets (0.05m thick) aren't detected.

Lower the margin

shape.margin = 0.001

Trades collision robustness for accuracy. Acceptable for query shapes; risky for active rigid bodies.

Or thicken the wall

Increase wall thickness to >= 2 * margin. Authoring fix; no runtime cost.

Use ShapeCast instead

For thin walls, ShapeCast3D with motion = small step is more accurate than collide_shape_query at the cost of more setup.

“Physics margin exists for solver stability. Tight margins for queries; wide margins for live bodies.”

Document your project's margin convention. Authoring teams need to know to keep walls thicker than the threshold.