A simple way to animate Control nodes in Godot.
PluginShowcase.mp4
The goal of this project to let users animate Control nodes, without requiring any changes, code or special considerations.
No shaders, no custom containers, just drop a few ProtonControlAnimation nodes to your existing scenes and you're good to go.
- Like any other Godot add-on.
- Check out the documentation for a detailled step by step guide.
This tool works with your existing scenes.
Simply add a ProtonControlAnimation node under the control you want to animate.
- In this example, we will animate the
PanelContainer
- This node handles when an animation should play.
- Check out the full documentation for more information.
Targetis the control node to animate (in this case, thePanelContainer).Animationis the animation that will play.
- The animation resource is what actually animates the controls.
- Add a Scale animation one to the
ProtonControlAnimationnode - Each animation has its own set of parameters, check out the documentation.
The easiest way to play an animation is by using the Triggers properties, on the ProtonControlAnimation node:
-
Trigger Source is the control we're listening for events
- The triggers below are the most commonly used signals.
-
In this example,
On Hover Startis enabled. The animation will play when the player hoversPanelContainerwith the mouse. -
You can also ignore that panel, and directly call the
start()function to play the animation.- You can find more information in the example scene
05_triggers.tscn
- You can find more information in the example scene
This setup scales the panel up when hovering it with the mouse.
You can add another animation node to scale it down when the mouse stops hovering.
Check out the complete scene in addons\proton_control_animation\examples\01_getting_started.tscn
You can extend the ProtonControlAnimationResource class to create your own animations. Check out the animations/fade.gd script for a minimal example.



