Punch
Tweens.FX.Punch()A damped oscillation for impacts and recoil. Starts and ends at rest with the default phase.
C#Beta
Punch
Tweens.FX.Punch()A damped oscillation for impacts and recoil. Starts and ends at rest with the default phase.
Shake
Tweens.FX.Shake()Seeded noise for rumble and jitter. Reuse a seed to reproduce the same shape.
Breathe
Tweens.FX.Breathe()A smooth rise and fall for a gentle pulse. One whole cycle returns to rest.
var recoil = new Tweens.Position2DX{ By = 12, Duration = 0.4, EaseFunction = Tweens.FX.Punch(frequency: 6),};
sprite.Tween(recoil);The sprite oscillates along X and returns to its baseline. The offset supplies strength; the factory’s default amplitude is 1.
| Setting | Change it to… |
|---|---|
| Frequency | Fit more oscillations into the duration |
| Amplitude | Multiply the displacement |
| Decay | Make punch or shake fade faster |
| Attack | Ease into punch or shake before fading out |
For independent axes, use Shake2D, Punch3D, or BreatheQuaternion. These return vector or rotation offsets: sample them in a callback or custom interpolator rather than the scalar ease slot.
The effect reference shows vector sampling, restoration, and all factory arguments. For a shape of your own, write an ease function or draw a curve.
tweens.gd is made with math & ferrets, copyright © 2026 its contributors.
Godot logo by Andrea Calabró, licensed under CC BY 4.0.
"Easy, the Ferret" illustrations drawn by foxy_maria.
tweens.gd is released under the MIT License.
Godot is licensed under the MIT License.
tweens.gd is not affiliated with or endorsed by the Godot Foundation.