DOTween Timeline
July 26, 2025 ยท View on GitHub
A pocket timeline solution for DOTween Pro. Configure and organize complex tween animations directly in the Inspector.
Installation
Important
Required: PRO version of DOTween.
Releases page
Easiest way is to install DOTween Timeline as an asset package.
- Download the latest
.unitypackagefile from the Releases page. - Import it into your project via Assets > Import Package > Custom Package.
Git UPM
You can also install this package via Git URL using Unity Package Manager.
- Since DOTween is not distributed as a upm package by default, you need to manually generate
.asmdeffiles for it:
Open Tools > Demigiant > DOTween Utility Panel, click Create ASMDEF - Then, add the following line to your
Packages/manifest.json:
"com.medvejut.dotweentimeline": "https://github.com/medvejut/dotween-timeline.git#upm"
How to use
Add the DOTween > DOTween Timeline component to a GameObject (use a separate GameObject for each animation sequence).
Control the timeline from code:
[SerializeField] private DOTweenTimeline timeline;
var tween = timeline.Play();
tween.OnComplete(() => Debug.Log("OnComplete"));
tween.Pause();
Sample
A sample scene is included to help you get started. You can find it here: Plugins/DOTweenTimeline/Sample
Open it to see an example of how to configure and use the timeline in practice.
To make the sample scene work, enable TextMeshPro support in DOTween and set up TMP.
- Go to Tools > Demigiant > DOTween Utility Panel, press "Setup DOTween...", enable TextMeshPro:
- Window > TextMeshPro > Import TMP Essential Resources
Recommendations
1. Disable default DOTween Pro preview controls
In the Inspector, on any DOTween animation component:
2. Use a separate GameObject for each animation sequence
Extras
DOTween Timeline Player component
Automatically plays animations without code.
Just add the DOTween > DOTween Timeline Player component to the same GameObject with the Timeline.
Extra Actions
In addition to standard tweens, you can add special timeline actions via the Add dropdown:
DOTweenCallback component
A visual replacement for Sequence.InsertCallback().
Use the onCallback UnityEvent in the Inspector or from code:
[SerializeField] private DOTweenCallback callback;
callback.onCallback.AddListener(() => Debug.Log("Callback"));
DOTweenFrame component
Triggers immediate state changes in a single frame.
Perfect for setting position, rotation, color, and more, without animation.
DOTweenLink component
A reference to another Timeline. Useful for complex animations with a large number of child tweens.
See the Sample scene for usage details.
Contributing
Please report bugs in Issues.
Feel free to ask questions and share thoughts in Discussions.
This project is inspired by:
Animation Creator Timeline (UI Tween), DOTween Timeline Preview & Jitter