unity-dotween-design

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

Updated May 20, 2026
One-click install
npx skills add https://github.com/yuse168/Roomies --skill unity-dotween-design-yuse168
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: unity-dotween-design
Source: https://github.com/yuse168/Roomies/tree/main/.agents/skills/unity-skills/skills/dotween-design
Command: npx skills add https://github.com/yuse168/Roomies --skill unity-dotween-design-yuse168

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? DOTween code often ships with subtle lifecycle bugs: tweens outliving destroyed targets, Append used where Join was intended, OnComplete never firing on infinite loops, and Safe Mode silently swallowing missing-reference errors. This Skill grounds every DOTween decision in the actual 1.3.015 source code with file and line citations, so AI-generated or reviewed tween code avoids these documented pitfalls instead of relying on stale memory. ## Core Features & Use Cases - Source-anchored rule set: Ten critical rules covering DOTween.Init bootstrap, the [DOTween] driver GameObject, autoKill semantics, Safe Mode, SetLink lifetime binding, and Sequence composition, each citing exact source lines. - Eight routed sub-documents: BASICS, TWEEN, SEQUENCE, SHORTCUTS, EASE, LIFETIME, INTEGRATION, and PITFALLS cover shortcut cheat sheets by target type, all 36 Ease values, UniTask/Coroutine/Addressables integration, and 30 concrete production pitfalls with wrong-vs-right code pairs. - Use Case: When asked to "make a UI panel pop in with a bounce", the Skill directs you to RectTransform.DOScale with Ease.OutBack, SetLink for panel lifetime, and warns against relying on OnComplete if loops are infinite. ## Quick Start Ask the AI to write or review a DOTween animation, such as a sequenced UI fade-and-scale with proper lifetime binding, and it will load the relevant sub-docs automatically.

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 Sequence.Append. Append places a tween after the previous one ends, while Join starts it at the same time as the last appended tween. For absolute timing, use Insert with an explicit time position.

How do I await a DOTween tween with UniTask?▼

Call tween.ToUniTask(TweenCancelBehaviour, CancellationToken) from the UniTask package's 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 silently stop when the target is destroyed?▼

The tween outlived its target GameObject. Safe Mode catches the MissingReferenceException, logs a warning, and kills the tween. The fix is to bind lifetime explicitly with SetLink(gameObject, LinkBehaviour.KillOnDestroy) or kill the tween in OnDestroy.

Why does OnComplete never fire on my looping DOTween animation?▼

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, leaving children unaffected. CanvasGroup.DOFade changes the group's alpha, fading the image and all of its children together. Choose based on the intended scope of the fade.