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.001Trades 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.