unity-dotween-design

Provides source-anchored design rules for writing and reviewing DOTween animation code in Unity.

Updated Jun 21, 2026
One-click install
npx skills add https://github.com/du-qwq/Shader-Writing-Architecture-and-Specifications --skill unity-dotween-design-du-qwq
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: unity-dotween-design
Source: https://github.com/du-qwq/Shader-Writing-Architecture-and-Specifications/tree/main/.agents/skills/unity-skills/skills/dotween-design
Command: npx skills add https://github.com/du-qwq/Shader-Writing-Architecture-and-Specifications --skill unity-dotween-design-du-qwq

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Writing DOTween animation code in Unity often leads to subtle bugs: tweens outliving destroyed targets, Append/Join timing confusion, OnComplete never firing on infinite loops, and Safe Mode silently hiding lifecycle errors. This Skill grounds every rule in the actual DOTween 1.3.015 source code with file and line citations, so AI-generated or reviewed tween code is auditable and correct. ## Core Features & Use Cases - Source-anchored rule set: Covers DOTween.Init bootstrap, the [DOTween] driver GameObject, DOTweenSettings, Modules generation, Safe Mode, and tween pool capacity, each citing exact source locations. - Full API reference docs: Sub-documents detail the Tween lifecycle, Sequence composition (Append/Join/Insert/Prepend), all 36 Ease values with SetEase overloads, and shortcut extensions by target type (Transform, RectTransform, Image, Material, Rigidbody, Camera, AudioSource). - Lifetime and integration guidance: Explains SetLink, SetAutoKill, SetId, DOTween.Kill grouping, UniTask ToUniTask bridging, Addressables prefab lifetime races, and Netcode deterministic replay. - Use Case: When a developer asks to "make a UI panel pop in with a bounce" or debugs why a tween throws after scene unload, load this Skill to produce correct DOTween code with proper ease, lifetime binding, and cleanup instead of hallucinated APIs. ## Quick Start Load this Skill before writing or reviewing any DOTween tween, sequence, or easing code in a Unity project.

Frequently Asked Questions about unity-dotween-design

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I run DOTween animations in parallel instead of sequentially?

Use Sequence.Join instead of a second Append. Append places a tween after the previous one finishes, while Join starts it at the same time as the previously appended tween, producing parallel motion within one Sequence.

How do I await a DOTween tween with UniTask?

Call tween.ToUniTask(TweenCancelBehaviour, CancellationToken) from the UniTask DOTween bridge. It is zero-allocation and supports cancellation, unlike the legacy AsyncWaitForCompletion which returns a heap-allocated Task and polls every frame.

Why does my DOTween tween throw or stop after its target is destroyed?

The tween outlived its target GameObject. Safe Mode catches the MissingReferenceException and silently kills the tween. Fix it explicitly with SetLink(gameObject, LinkBehaviour.KillOnDestroy) so the tween dies with its target.

Why does OnComplete never fire on my looping DOTween tween?

OnComplete only fires after all loops finish, so with SetLoops(-1) it never fires. Use OnStepComplete for per-iteration callbacks and OnKill for final cleanup on infinite loops.

Does DOTween support TextMeshPro text animation out of the box?

No. The TMP module is not bundled with DOTween Free source. You need DOTween Pro or a community TMP module generated via the DOTween Utility Panel to get extensions like tmp.DOText and tmp.DOFade.

What is the difference between Image.DOFade and CanvasGroup.DOFade?

Image.DOFade changes only that Image's color alpha, while CanvasGroup.DOFade changes the group's alpha and affects all child UI elements. Choose based on whether you want to fade a single widget or an entire panel.