Skip to content
tweens.gd

C#Beta

Effects

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.