unity-dotween-design

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

Updated Oct 13, 2025
One-click install
npx skills add https://github.com/Darth-Carrotpie/ProxyCore --skill unity-dotween-design-darth-carrotpie
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: unity-dotween-design
Source: https://github.com/Darth-Carrotpie/ProxyCore/tree/main/.agents/skills/unity-skills/skills/dotween-design
Command: npx skills add https://github.com/Darth-Carrotpie/ProxyCore --skill unity-dotween-design-darth-carrotpie

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Writing DOTween animation code in Unity often leads to subtle bugs: tweens outliving destroyed targets, Append-vs-Join timing mistakes, OnComplete never firing on infinite loops, and missing module compile errors. This Skill grounds every rule in the actual DOTween 1.3.015 source code with file and line citations, so AI agents and developers stop hallucinating APIs and start following verified patterns. ## 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 deep-dive sub-docs: BASICS, TWEEN, SEQUENCE, SHORTCUTS, EASE, LIFETIME, INTEGRATION, and PITFALLS cover everything from the 38-entry Ease enum to UniTask bridging and Addressables lifetime races. - 30 real production pitfalls: Each pitfall shows wrong-vs-right code with explanations, including tween pool leaks, Safe Mode hiding NREs, and DOPath mode errors in 2D games. - Use Case: When asked to "fade in a UI panel then shake it", the Skill routes to the correct CanvasGroup.DOFade shortcut, a Sequence with Append/Join semantics, and a SetLink binding so the tween dies with the panel. ## Quick Start Ask the agent to write or review a DOTween animation, such as creating a looping UI fade sequence 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 DOTween extension module. 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 errors after its target is destroyed?▼

The tween outlived its target GameObject. Safe Mode catches the exception and kills the tween, but 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 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 animations?▼

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 CanvasGroup alpha which affects all child UI elements. Choose based on whether you want to fade a single widget or an entire panel.