Quick answer: Godot 4 RigidBody2D vibrating after its collision shape is resized at runtime? Physics server treats the resize as a teleport - call_deferred the resize.
Item pickup grows the player's hitbox; player vibrates against the floor for half a second.
Defer the shape change
shape.call_deferred("set_radius", new_radius)Applied between physics ticks. Solver sees a clean step.
Or use multiple sub-shapes
Pre-create shapes; toggle which is active. Avoids resize entirely.
Snap position post-resize
If vibration persists, snap the body to a safe position after the shape change. Cleanup pass.
“Physics shape mutation mid-step is unsafe. Deferral makes it safe.”
If you grow/shrink hitboxes at runtime, the deferral pattern is non-optional. Document; reuse.