# tweens.gd > Expressive, modern procedural animations for Godot. Animate more things, read and write less code. Free and open source. Choose the C# or GDScript track to match your project. Shared guides cover both languages; language-specific examples are labeled. Read installation and compatibility before using the API. These files are generated from the published documentation, including rendered examples and catalog tables. Interactive previews are available on the source pages. ## Complete documentation - [llms-full.txt](https://tweens.gd/llms-full.txt): All documentation in one Markdown text file. ## Overview and shared guides - [tweens.gd](https://tweens.gd/index.md): Expressive, modern procedural animations for Godot. Animate more things, read and write less code. Free and open source. - [Tutorial](https://tweens.gd/tutorial/index.md): Learn tweens.gd in five short steps, in C# or GDScript. - [Easing](https://tweens.gd/easings/index.md): Compare easing curves, blend an In with a different Out, and copy the code. - [Porting from Godot](https://tweens.gd/porting/index.md): Legacy Ease functions for 1:1 visual parity with Godot. ## C#: Learn - [C#: Install](https://tweens.gd/csharp/installation/index.md): Add tweens.gd to your Godot C# project from the Godot Asset Store or NuGet. - [C#: Your first tween](https://tweens.gd/csharp/quickstart/index.md): Send the Godot icon wherever you click, with one line of C#. - [C#: Reuse a Definition](https://tweens.gd/csharp/definitions/index.md): Define a motion once, start it on many nodes, and copy it with a change. - [C#: Syntax & Sugar](https://tweens.gd/csharp/syntax-sugar/index.md): Two API flavours and two ways to write endpoints: compiler-checked types and tuples, or sweet arrays. - [C#: Await Completion](https://tweens.gd/csharp/playback/index.md): Await a tween's end, check how it ended, and pause or cancel it on the way. ## C#: Tweening - [C#: Anatomy of a Tween](https://tweens.gd/csharp/anatomy/index.md): Every field of a tween definition, drawn: endpoints, timing, easing, callbacks, and variations. - [C#: Effects](https://tweens.gd/csharp/effects/index.md): Add punch, shake, or breathing motion with reusable effect functions. - [C#: Functions](https://tweens.gd/csharp/functions/index.md): Shape interpolation with your own function of progress. - [C#: Godot Curves](https://tweens.gd/csharp/curves/index.md): Shape interpolation with a Godot Curve drawn in the Inspector. ## C#: Guides - [C#: Sequences](https://tweens.gd/csharp/sequences/index.md): Play motions in order, overlap them, or run them together. - [C#: Keyframes](https://tweens.gd/csharp/keyframes/index.md): Reuse parallel value curves with sparse percentage keys. - [C#: Loops and delays](https://tweens.gd/csharp/loops/index.md): Repeat a motion, send it back and forth, and choose what shows during a delay. - [C#: Variations](https://tweens.gd/csharp/variations/index.md): Derive stronger, slower, or later versions of one definition, and adjust their pacing. - [C#: Cancellation](https://tweens.gd/csharp/cancellation/index.md): Stop playback, and continue only after a motion arrives. - [C#: Lifetime and pausing](https://tweens.gd/csharp/lifetime/index.md): Nodes end their own tweens; choose how playback follows pause and time scale. - [C#: Materials and shaders](https://tweens.gd/csharp/materials/index.md): Animate material properties and shader uniforms, shared or per node. - [C#: Custom properties](https://tweens.gd/csharp/custom-properties/index.md): Animate values the catalog doesn't cover: callbacks, your own properties, and custom bindings. ## C#: Reference - [C#: Node and value catalog](https://tweens.gd/csharp/nodes/index.md): The 306 built-in definitions and their shorthand methods, grouped into 2D, 3D, UI, material, animation and audio, and callback value pages. - [C#: 2D nodes](https://tweens.gd/csharp/nodes/2d/index.md): Definitions and shorthand methods for CanvasItem, Node2D, and the 2D node classes. - [C#: 3D nodes](https://tweens.gd/csharp/nodes/3d/index.md): Definitions and shorthand methods for Node3D, GeometryInstance3D, and the 3D node classes. - [C#: UI controls](https://tweens.gd/csharp/nodes/ui/index.md): Definitions and shorthand methods for Control, Range, Label, and the other UI classes. - [C#: Material properties](https://tweens.gd/csharp/nodes/materials/index.md): Definitions and shorthand methods for BaseMaterial3D properties, for StandardMaterial3D and OrmMaterial3D. - [C#: Animation and audio](https://tweens.gd/csharp/nodes/audio/index.md): Definitions and shorthand methods for AnimationPlayer and the audio stream players. - [C#: Callback values](https://tweens.gd/csharp/nodes/values/index.md): The eight callback value definitions, which write no property and deliver each sample to OnUpdate. - [C#: Core API](https://tweens.gd/csharp/api/index.md): A map of the C# core API, from the definition you describe to the handle you control, with its Godot Tween equivalents. - [C#: Definitions](https://tweens.gd/csharp/api/definitions/index.md): The built-in C# definition structs, their constructors, shared TweenOptions, and what each start copies. - [C#: Endpoints & variations](https://tweens.gd/csharp/api/endpoints/index.md): Where a C# tween starts and ends, the forms an endpoint accepts, relative By offsets, and the factors and deltas that derive variants. - [C#: Timing](https://tweens.gd/csharp/api/timing/index.md): Duration, delay, offset, repeats, ping-pong, intervals, and fill, which place a C# tween in time. - [C#: Callbacks](https://tweens.gd/csharp/api/callbacks/index.md): The callbacks a C# definition runs during playback, the order they run in, and when they are skipped. - [C#: Easing](https://tweens.gd/csharp/api/easing/index.md): C# easing members, every curve family and numbered variant, mixed In/Out pairs, pacing with Skew and Weks, and custom functions or curves. - [C#: Effects](https://tweens.gd/csharp/api/effects/index.md): The C# Tweens.FX factories for punch, shake, and breathing, their parameters, and how to sample per-axis and rotation effects. - [C#: Starting playback](https://tweens.gd/csharp/api/start/index.md): Every C# call that starts playback on a node or resource, the shorthand methods, PlaybackOptions, and the ownership rules. - [C#: Handles](https://tweens.gd/csharp/api/handles/index.md): TweenInstance, what starting one C# definition returns, with its states, completion reasons, errors, and threading rules. - [C#: Groups](https://tweens.gd/csharp/api/groups/index.md): Group, which pauses, cancels, and awaits several C# tweens as one step. - [C#: Chains](https://tweens.gd/csharp/api/chains/index.md): Chain, which plays C# definitions in order on one target's timeline, with signed delays, pre-roll, and one controller. - [C#: Custom definitions](https://tweens.gd/csharp/api/custom/index.md): Tweens.Property delegates, the TweenDefinition members to override, the binding lifecycle, Interpolators, and the mutable builder classes. - [C#: Scheduler](https://tweens.gd/csharp/api/scheduler/index.md): TweenScheduler, the manual C# scheduler the automatic runner is built on, for deterministic tests and plain objects. ## GDScript: Learn - [GDScript: Install](https://tweens.gd/gdscript/installation/index.md): Add tweens.gd to your Godot project from the Godot Asset Store or GitHub. - [GDScript: Your first tween](https://tweens.gd/gdscript/quickstart/index.md): Send the Godot icon wherever you click, with one line of GDScript. - [GDScript: Reuse a Definition](https://tweens.gd/gdscript/definitions/index.md): Define a motion once, start it on many nodes, and copy it with a change. - [GDScript: Syntax & Sugar](https://tweens.gd/gdscript/syntax-sugar/index.md): Two API flavours and two ways to write endpoints: explicit types or sweet arrays. - [GDScript: Await Completion](https://tweens.gd/gdscript/playback/index.md): Await a tween's end, check how it ended, and pause or cancel it on the way. ## GDScript: Tweening - [GDScript: Anatomy of a Tween](https://tweens.gd/gdscript/anatomy/index.md): Every field of a tween definition, drawn: endpoints, timing, easing, callbacks, variations, and target. - [GDScript: Effects](https://tweens.gd/gdscript/effects/index.md): Add punch, shake, or breathing motion with reusable effect functions. - [GDScript: Functions](https://tweens.gd/gdscript/functions/index.md): Shape interpolation with your own function of progress. - [GDScript: Godot Curves](https://tweens.gd/gdscript/curves/index.md): Shape interpolation with a Godot Curve drawn in the Inspector. ## GDScript: Guides - [GDScript: Sequences](https://tweens.gd/gdscript/sequences/index.md): Play motions in order, overlap them, or run them together. - [GDScript: Keyframes](https://tweens.gd/gdscript/keyframes/index.md): Reuse parallel value curves with sparse percentage keys. - [GDScript: Loops and delays](https://tweens.gd/gdscript/loops/index.md): Repeat a motion, send it back and forth, and choose what shows during a delay. - [GDScript: Variations](https://tweens.gd/gdscript/variations/index.md): Derive stronger, slower, or later versions of one definition, and adjust their pacing. - [GDScript: Cancellation](https://tweens.gd/gdscript/cancellation/index.md): Stop playback, and continue only after a motion arrives. - [GDScript: Lifetime and pausing](https://tweens.gd/gdscript/lifetime/index.md): Nodes end their own tweens; choose how playback follows pause and time scale. - [GDScript: Materials and shaders](https://tweens.gd/gdscript/materials/index.md): Animate material properties and shader uniforms, shared or per node. - [GDScript: Custom properties](https://tweens.gd/gdscript/custom-properties/index.md): Animate values the catalog doesn't cover: callbacks, script variables, and custom adapters. ## GDScript: Reference - [GDScript: Helper catalog](https://tweens.gd/gdscript/nodes/index.md): The named GDScript helpers, grouped into 2D, 3D, UI, material, animation and audio, and callback value pages. - [GDScript: 2D nodes](https://tweens.gd/gdscript/nodes/2d/index.md): Named helpers for CanvasItem, Node2D, and the 2D node classes. - [GDScript: 3D nodes](https://tweens.gd/gdscript/nodes/3d/index.md): Named helpers for Node3D, GeometryInstance3D, and the 3D node classes. - [GDScript: UI controls](https://tweens.gd/gdscript/nodes/ui/index.md): Named helpers for Control, Range, Label, and the other UI classes. - [GDScript: Material properties](https://tweens.gd/gdscript/nodes/materials/index.md): Named helpers for BaseMaterial3D properties, for StandardMaterial3D and ORMMaterial3D. - [GDScript: Animation and audio](https://tweens.gd/gdscript/nodes/audio/index.md): Named helpers for AnimationPlayer and the audio stream players. - [GDScript: Callback values](https://tweens.gd/gdscript/nodes/values/index.md): The named callback-only helpers, which write no property and deliver each sample to on_update. - [GDScript: Core API](https://tweens.gd/gdscript/api/index.md): A map of the GDScript core API, from the definition you describe to the handle you control, with its Godot Tween equivalents. - [GDScript: Definitions](https://tweens.gd/gdscript/api/definitions/index.md): The GDScript factories and named helpers, the with_ methods that vary a copy, the binding fields, and what each start copies. - [GDScript: Endpoints & variations](https://tweens.gd/gdscript/api/endpoints/index.md): Where a GDScript tween starts and ends, the forms an endpoint accepts, relative by_value offsets, and the factors and deltas that derive variants. - [GDScript: Timing](https://tweens.gd/gdscript/api/timing/index.md): Duration, delay, offset, repeats, ping-pong, intervals, and fill, which place a GDScript tween in time. - [GDScript: Callbacks](https://tweens.gd/gdscript/api/callbacks/index.md): The callbacks a GDScript definition runs during playback, the order they run in, and when they are skipped. - [GDScript: Easing](https://tweens.gd/gdscript/api/easing/index.md): GDScript easing fields, every curve family and numbered variant, mixed In/Out pairs, pacing with skew and weks, and custom functions or curves. - [GDScript: Effects](https://tweens.gd/gdscript/api/effects/index.md): The GDScript Tweens.FX factories for punch, shake, and breathing, their parameters, and how to sample per-axis and rotation effects. - [GDScript: Starting playback](https://tweens.gd/gdscript/api/start/index.md): Every GDScript function that starts playback, what a rejected start returns, owners, playback options, and the start rules. - [GDScript: Handles](https://tweens.gd/gdscript/api/handles/index.md): TweensGdHandle, what starting one GDScript definition returns, with its states, completion reasons, wait cancellation, errors, and threading rules. - [GDScript: Groups](https://tweens.gd/gdscript/api/groups/index.md): TweensGdGroup, which pauses, cancels, and awaits several GDScript tweens as one step. - [GDScript: Chains](https://tweens.gd/gdscript/api/chains/index.md): TweensGdChain, which plays GDScript definitions in order on one target's timeline, with signed delays, pre-roll, and one controller. - [GDScript: Adapters](https://tweens.gd/gdscript/api/custom/index.md): The Tweens.custom() Callables, the TweensGdAdapter methods to override, and the binding lifecycle for custom GDScript storage. - [GDScript: Scheduler](https://tweens.gd/gdscript/api/scheduler/index.md): TweensGdScheduler, the manual GDScript scheduler the automatic runner is built on, for deterministic tests and objects that aren't nodes. ## Project - [Frequently asked questions](https://tweens.gd/faq/index.md): When to use tweens.gd and how its definitions differ from Godot’s Tween. - [Compatibility](https://tweens.gd/compatibility/index.md): Engine requirements, platform builds, and tested exports for both languages. - [Advanced development](https://tweens.gd/advanced-development/index.md): Combine installation methods, work on tweens.gd itself, or import the addon headlessly. ## Optional - [Acknowledgements](https://tweens.gd/acknowledgements/index.md): The project that inspired tweens.gd. - [In-Engine Tutorial](https://tweens.gd/tutorial/in-engine/index.md): Download the five-step tutorial as a Godot project and run it in the editor.