GDScriptBeta
Helper catalog
The addon has a named helper for every property and value definition in the C# catalog. Each helper returns an ordinary reusable definition that already knows its target class, property, and value type, so a start checks them before any value is written.
Find a helper
Section titled “Find a helper”| Page | What it covers |
|---|---|
| 2D nodes | CanvasItem, Node2D, sprites, cameras, particles, lights, lines, paths, and polygons |
| 3D nodes | Node3D, GeometryInstance3D, 3D sprites, cameras, particles, decals, fog, lights, and paths |
| UI controls | Control layout and transforms, Range, labels, and progress bars |
| Material properties | BaseMaterial3D colors, emission, roughness, and UVs |
| Animation and audio | AnimationPlayer speed and the audio players’ pitch, volume, and range |
| Callback values | float_value and the other helpers that write no property |
Each page lists the property path a helper tweens, such as modulate or
position:x; the same path works with Tweens.property(), without the helper’s
class and type checks. Names ending in _x, _y, _z, or _alpha write one
component and read the others at write time. Helper names follow the C#
definition names in snake case. The pages are generated from the addon’s
CATALOG.md.
# sprite: Sprite2D, camera: Camera2D, label: Label; all inside the tree.var move := Tweens.position_2d([300, 120], 0.5, Out.CUBIC)var movement := Tweens.play(sprite, move)var fade := Tweens.play(sprite, Tweens.modulate_alpha(0.0, 0.2))var zoom := Tweens.play(camera, Tweens.camera_2d_zoom([2, 2], 0.4))
Tweens.play(label, Tweens.label_visible_ratio(1.0, 1.5).with_from(0.0))
await Tweens.group([movement, fade]).endEvery helper takes (to = null, seconds = 0.0, easing = Tweens.Ease.LINEAR, delay = 0.0). If a definition has no from_value or to_value, it uses the
property’s value when the tween starts for that endpoint. Vectors and colors
can be arrays such as [400, 180]; see
syntax sugar. The returned definition exposes the same fields as one made with
Tweens.property(), including from_value, timing, easing, and callbacks; set
them before calling play(), or vary a shared one with with_*() copies. See
definitions for reuse and copies, and
lifetime and ownership for how playback ends with its node.
Tweens.play_all(target, [first, second]) starts several helpers on one target and
returns a group.
A helper that targets a base class works on every node derived from it: Node2D and
Node3D carry the transforms, CanvasItem the 2D modulation, Control the layout,
SpriteBase3D the 3D sprite appearance, GeometryInstance3D the transparency, and
Range the value. BaseMaterial3D helpers target a material; start them with an
owner, as described in materials.
Units and engine constraints
Section titled “Units and engine constraints”Each group page lists the constraints specific to it. These apply everywhere:
- Rotation, skew, and texture rotation use radians. Camera field of view, light and emission angles, and radial progress angles use degrees. Ratios use the native property range; positions, sizes, paths, and offsets use the Godot units of each property.
- Integer properties, such as sprite frames and
visible_characters, interpolate continuously and round to nearest with ties away from zero. GDScript saturates at signed 64-bit limits, where C# uses 32-bit limits. Native constraints still apply. - Colors and vectors keep easing overshoot. Engine setters can clamp values.
- Setting a property doesn’t enable a rendering feature or create a resource. Renderer support and sorting limitations are Godot’s.
- For shader uniforms, see shader uniforms.
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.