Quick answer: Set can_sleep = false on bodies that need responsive collisions. Or apply a small impulse from area_entered to wake. Project Settings → Physics → 3D → Time Before Sleep tunes the global threshold.
A pile of crates settled. Player presses a button that triggers an Area3D explosion centered on the pile. Crates don’t move — sleeping bodies ignore the area trigger.
The Symptom
Settled physics objects don’t respond to forces, area effects, or fast moving bodies. Apply force returns; nothing moves. Calling apply_impulse explicitly does wake.
The Fix
extends Area3D
func _on_body_entered(body: Node) -> void:
if body is RigidBody3D:
body.apply_central_impulse(Vector3.UP * 5.0) # wakes
Impulse wakes the body before applying force. Or globally:
# In Create
can_sleep = false
Body never sleeps. Slightly more CPU but responsive.
Global Sleep Threshold
Project Settings → Physics → 3D:
Time Before Sleep: 0.5 # default 0.5; lower for sluggish sleep
Verifying
Drop crates, wait. Trigger area. Crates scatter. Without the fix, they sit. Print body.sleeping in _physics_process to confirm wake state.
“Wake explicitly. Or no-sleep on hero. Or shorter threshold.”
Related Issues
For thin collider tunneling, see tunneling. For Area3D detection, see Area3D.
Wake on intent. Bodies respond.