Quick answer: Godot _physics_process(delta) getting a huge delta for one frame after un-pause? The engine counts the paused time toward the resume delta. Clamp delta in code.
Player pauses for 30 seconds. On unpause, all physics objects fly across the world because velocity * delta integrates 30s of motion in one frame.
Clamp Delta
func _physics_process(d):
d = min(d, 1.0 / 30) # cap at 33ms
velocity += accel * dCaps the per-frame step to a sane maximum. Stops the catch-up disaster on resume.
Engine.physics_jitter_fix
Project Settings → Physics → Common → physics_jitter_fix smooths small spikes. Doesn’t fix multi-second resume; clamp in code for that.
Pause Mode
Use process_mode = PROCESS_MODE_PAUSABLE so physics stops during pause. The engine still passes large delta on resume; clamp regardless.
Resume Hook
On unpause, manually reset any time-based accumulators (cooldowns, timers) that shouldn’t count paused time.
Verifying
Pause / unpause sequences don’t produce visible motion spikes. Physics resumes cleanly.
“Clamp delta in physics_process. Engine doesn’t skip paused time on resume.”
Make delta-clamp a project-wide habit — tab-outs and breakpoint pauses also produce huge deltas; one cap handles them all.