Godot Version
4.x
I’ve created a global script that can help you create simple animations in Godot.
The script is called “tween”; just add it to the autoload and use any of its functions.
Async & Independent: Each tween runs independently; optionally await completion for sequential control.
Looping & Fire-and-Forget: Continuous animations (float, swing, spin, bounce) are easy to start and manage.
Customizable Transitions/Easing: Pass strings like “sine”, “back”, “elastic”, “quad” with “in”, “out”, “in_out”.
Safe & Robust: Automatically checks for valid nodes before tweening.
AutoLoad or Class Instance: Use globally or instantiate per scene.
Return Tween Objects: Every function returns its Tween for chaining or debugging.
GlobalTweens is a curated collection of animation helpers for Godot 4.x, built entirely on the native Tween system. It doesn’t reinvent the wheel, it wraps the patterns you keep rewriting across projects into declarative, safe-to-use functions with sensible defaults.
Instead of writing loops, timers, and manual interpolation, you just write:
GlobalTweens.spawn_in($Enemy)
GlobalTweens.shake($Player, 10.0, 0.3)
GlobalTweens.float_loop($Coin, 8.0, 2.0)
await GlobalTweens.scene_fade_change(get_tree(), "res://Menu.tscn")
What’s inside:
-
Batteries included: spawn, explode, fade, shake, typewriter, camera effects, light, UI, and much more.
-
Fire-and-forget: infinite loops (
float_loop,spin,swing) that stop automatically when the node is freed, no dangling errors. -
Built-in safety: every function checks that the node is still valid before acting.
-
Await-ready: every helper returns a Tween or PropertyTweener, so you can
awaitto synchronize animations with game logic. -
Flexible: use as a global AutoLoad or instantiate locally in a specific scene.
Who it’s for: devs who want polished, consistent animations without writing the same boilerplate every time. It doesn’t replace Godot’s Tweens, it packages them up to save you time.
This is a really big project. If you want to help me keep it going, you can. I think that together we can make it very flexible and useful for future developers.
More information on GitHub

