Godot Tween Easing: See Every Transition Type
Pick a Godot Tween transition type and ease type to plot the exact curve Godot uses and watch a preview move with it. Compare all 12 transition types side by side, then copy a ready-to-use Godot 4 create_tween() line for the property and duration you chose.
How to use it
- Pick a transition type such as Cubic, Elastic or Bounce and press Next.
- Pick an ease type: Ease in, Ease out, Ease in-out or Ease out-in, and press Next.
- Choose the property to animate, its end value and the duration in seconds.
- Press Plot the curve to see the curve, the moving preview and every transition for comparison. Press Replay to watch it again.
- Press Copy code and paste the script into your Godot project.
How Godot's transition and ease types fit together
A Godot 4 tween has two settings that shape its motion. The transition type (Tween.TransitionType) picks the curve: TRANS_LINEAR, TRANS_SINE, TRANS_QUINT, TRANS_QUART, TRANS_QUAD, TRANS_EXPO, TRANS_ELASTIC, TRANS_CUBIC, TRANS_CIRC, TRANS_BOUNCE, TRANS_BACK and TRANS_SPRING. The ease type (Tween.EaseType) picks which end of the animation the curve applies to: EASE_IN starts slowly and speeds up, EASE_OUT starts quickly and slows down, EASE_IN_OUT is slowest at both ends, and EASE_OUT_IN is fastest at both ends.
If you never call set_trans() or set_ease(), a tween uses TRANS_LINEAR and EASE_IN_OUT. Calling them on the Tween sets the default for the tweeners you add after the call, while chaining them on one tween_property() call sets that tweener only. Linear motion is the same for every ease type, so the tool leaves set_ease() out of the code for TRANS_LINEAR.
The curves here are ported from Godot's own easing_equations.h, which is derived from Robert Penner's easing equations, and checked against values printed by Godot 4.7. Godot adds a few small tweaks of its own: TRANS_EXPO is offset by a thousandth so it leaves its start value without a jump, and EASE_IN_OUT for TRANS_BACK and TRANS_ELASTIC uses a larger overshoot and a wider wobble than the in and out versions.
Which easing to use for common game animations
UI panels and menus: TRANS_CUBIC or TRANS_QUART with EASE_OUT feels responsive, because the panel moves quickly at first and settles gently. Keep it short, around 0.15 to 0.3 seconds, so menus never feel slow.
Pop-ups, coins and pickups: TRANS_BACK with EASE_OUT overshoots the target slightly and settles, which reads as playful. TRANS_ELASTIC and TRANS_SPRING wobble more, so save them for juicy effects rather than menus players open often.
Falling or dropping objects: TRANS_BOUNCE with EASE_OUT bounces at the end like a dropped ball. Fades: TRANS_SINE or TRANS_QUAD on modulate:a, since a soft curve hides the moment the fade starts and ends. Camera moves: TRANS_SINE with EASE_IN_OUT avoids a sudden start and stop.
Overshooting curves (Back, Elastic and Spring) go past the end value before settling, and Back with EASE_IN dips below the start first. Leave room on screen for that, or the object can clip into walls or off the edge.
Writing the tween in Godot 4
The copied code calls create_tween() on the node, then tween_property(self, property, end_value, duration). Tweens start immediately, so create one only when you want the animation to play, and create a new tween each time instead of reusing an old one, which the Godot docs say leads to undefined behavior.
A property path with a colon animates one component only, for example "position:x" or "modulate:a". The end value must match the property's type, which is why the code writes 300.0 for a float and Vector2(1.5, 1.5) for scale. Add .as_relative() to treat the end value as an offset from the current value, or .from(value) to set a custom start value.
Frequently asked questions
What is the default easing for a Godot tween?
What is the difference between set_trans and set_ease in Godot?
How many transition types does Godot's Tween have?
Are Godot's easing curves the same as easings.net?
How do I make a tween overshoot and settle in Godot?
More free game dev tools
- Frame Time Calculator: Turn a target FPS into a millisecond budget per system, with Godot settings to match.
- Godot Shader Generator: Pick a 2D effect, tune its uniforms with a live preview and download a Godot 4 .gdshader.
- GDScript Boilerplate Generator: Typed Godot 4 GDScript templates for player controllers, state machines, health and autoloads.