unity-dotween-design

Provides source-anchored design rules and pitfalls for DOTween 1.3.015 tweening in Unity.

Updated Aug 31, 2026
One-click install
npx skills add https://github.com/pikachu0310/codex-agent-ops-public --skill unity-dotween-design-pikachu0310
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: unity-dotween-design
Source: https://github.com/pikachu0310/codex-agent-ops-public/tree/main/.agents/skills/unity-skills/skills/dotween-design
Command: npx skills add https://github.com/pikachu0310/codex-agent-ops-public --skill unity-dotween-design-pikachu0310

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Writing DOTween code from memory leads to subtle bugs: tweens outliving destroyed targets, Append used where Join was intended, OnComplete never firing on infinite loops, and missing module compile errors. This Skill grounds every DOTween decision in the actual 1.3.015 source with file and line citations. ## Core Features & Use Cases - Source-anchored rules: Ten critical rules covering DOTween.Init, the [DOTween] driver GameObject, autoKill defaults, Safe Mode, SetLink, SetTarget, and Sequence composition, each citing exact source lines. - Sub-doc routing: Eight focused references covering basics, tween lifecycle, sequences, shortcut extensions, easing, lifetime management, UniTask/Coroutine/Addressables integration, and 30 concrete pitfalls. - Use Case: When reviewing a pull request that chains transform.DOMove with SetLoops(-1) and OnComplete, load this Skill to catch that OnComplete never fires on infinite loops and recommend OnStepComplete instead. ## Quick Start Ask the AI to review your DOTween animation code or design a tween sequence using the dotween-design rules before writing any DOMove, Sequence, or SetEase calls.

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 ends, while Join starts it at the same time as the last appended tween, producing parallel motion within one Sequence.

Why does OnComplete never fire on my DOTween animation?

OnComplete does not fire on tweens with SetLoops(-1) because infinite loops never complete. Use OnStepComplete for per-iteration callbacks and OnKill for final cleanup when the tween is explicitly killed.

Should I use ToUniTask or AsyncWaitForCompletion with DOTween?

Prefer ToUniTask from the UniTask DOTween bridge. It is zero-allocation, supports CancellationToken via TweenCancelBehaviour, and is event-driven, whereas AsyncWaitForCompletion allocates a Task and polls every frame.

Why do I get CS1061 errors for DOMove or AsyncWaitForCompletion?

These errors mean the required DOTween Module was not generated. Open Tools, Demigiant, DOTween Utility Panel, enable the Physics, UI, or UnityVersion module, and click Apply to generate the module files.

How do I stop DOTween tweens when a GameObject is destroyed?

Call SetLink(gameObject, LinkBehaviour.KillOnDestroy) on the tween so its lifetime binds to the GameObject. Without SetLink, Safe Mode catches the missing-reference exception and kills the tween silently, hiding real lifecycle bugs.

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

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