Repository navigation
Installation
- Unity 2021.3 or newer
- DOTween Pro, from the Asset Store. Plain DOTween is enough to play animations in the game, but the edit-mode preview needs Pro.
- uGUI and TextMeshPro (both come with Unity)
- Import DOTween Pro.
-
Run DOTween's setup panel:
Tools → Demigiant → DOTween Utility Panel → Setup DOTween…, and make sure the UI and TextMeshPro modules are ticked. -
Copy the
DOTweenAnimationPlayerfolder anywhere underAssets/, including its.metafiles. - That's it. Select a UI object and Add Component → UI Animation Player.
Warning
Don't skip step 2. Importing DOTween is not the same as setting it up. Without the setup panel, this folder won't compile, and the errors will point at this tool's code rather than at the real cause.
Warning
Keep the .meta files whenever you copy or move the folder. They're how Unity knows which script is which. Without them, every object that already uses the tool loses its UI Animation Player component, animations and all.
Next: Your First Animation.
Everything is in one namespace, so any script that plays an animation needs this at the top:
using rmf_claude.DOTweenUI;See Code API for what you can call.
Under the hood
Why the setup panel matters. The DOTween shortcuts this tool uses on UI (DOAnchorPos, DOFade, DOColor, DOSizeDelta and the TextMeshPro ones) don't live in DOTween.dll. The setup panel generates them into DOTween/Modules/, so until it has run they don't exist.
Don't add an .asmdef to this folder. Those generated modules compile into Unity's predefined Assembly-CSharp-firstpass, and an assembly definition cannot reference a predefined assembly. Adding one doesn't produce a helpful error. The shortcuts simply stop existing for this code.
Why the .meta files matter. A .meta file holds the script's GUID, and a scene or prefab stores a component as that GUID, not as a class name. Copy the folder with its metas and a prefab authored in one project finds its components in the next. Copy it without them and Unity makes new GUIDs, so every existing component shows up as "missing script".
The namespace (rmf_claude.DOTweenUI) means nothing in the folder can collide with a UIAnimation class your project already has. Changing a class's namespace while keeping its .meta is safe for saved scenes, since serialization only cares about the GUID.
What's where in the folder:
| Folder | Holds |
|---|---|
| (top level) |
UIAnimationPlayer and UIMaterialInstance, the two components you add |
Data/ |
What you author: an animation, a step, and the shared Animation Set asset |
Helpers/ |
Sound, Custom Property lookup, stepped easing, warnings |
Attributes/ |
The attributes behind the Inspector's one-row controls |
Editor/ |
Editor only: Inspectors/, Drawers/, SceneView/ (gizmos and the path editor), Menus/ (right-click commands) |
Installation
Code API
Basic usage
Advanced usage
- Punch and Shake
- Sizing a RectTransform
- Movement Paths
- Sound
- Custom Property
- Material and Shader Properties
- Stylised Motion
- Interrupting and Chaining
- Mirroring
- Copy and Paste
- Animation Sets
- Scene Gizmos
Nitty-gritties
Warnings and Troubleshooting