gamedev-unity/skills/unity-skills/skills/dotween/SKILL.md
Automate DOTween Free/Pro at editor time — probe/validate/configure DOTween settings, list modules/shortcuts, and add/batch/stagger/tune DOTweenAnimation components. Use when setting up DOTween in a project, validating its install/modules, or configuring DOTweenAnimation components in the editor, even if the user just says "DOTween" or "配置动画插件". 在编辑器期自动化 DOTween Free/Pro(探测/校验/配置 DOTween 设置、列出模块/快捷方法、添加/批量/错峰/调校 DOTweenAnimation 组件);当用户要在项目中接入 DOTween、校验其安装/模块、或配置 DOTweenAnimation 组件时使用。
npx skillsauth add bernatmv/ai-rules unity-dotweenInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
DOTween Free/Pro support for project diagnostics, settings, module/API discovery, and runtime script generation. DOTween Pro-only DOTweenAnimation editor-time configuration remains available through dotween_pro_* skills.
Operating Mode (v1.9 three-tier):
dotween_get_status, dotween_settings_get, dotween_settings_find, dotween_settings_validate, dotween_list_modules, dotween_list_shortcuts, dotween_pro_get_animation, dotween_pro_list_animations) run directly. Mutators (settings configure, script generators, all other dotween_pro_*) are FullAuto — on MODE_RESTRICTED, run the grant protocol.dotween_generate_tween_script, dotween_generate_sequence_script, dotween_generate_lifetime_script (all carry MayTriggerReload = true, RiskLevel = "high" because writing a new .cs triggers script compilation + Domain Reload). Reachable only under Bypass mode or via a user-managed Allowlist entry; the grant flow returns MODE_FORBIDDEN.DOTweenPresenceDetector does not add the DOTWEEN / DOTWEEN_PRO defines, so most skills return a "not installed" diagnostic instead of executing. The dotween_pro_* family additionally requires Pro because DG.Tweening.DOTweenAnimation is Pro-only.Prerequisites:
DOTweenPresenceDetector adds DOTWEEN / DOTWEEN_PRO defines automatically after install.dotween_pro_* skills require DOTween Pro because DG.Tweening.DOTweenAnimation is Pro-only.Do not confuse Free with Pro:
DOTweenAnimation components..cs scripts only; it does not auto-attach scripts to scene objects because Unity may need a Domain Reload first.dotween_get_status — report DOTween/Pro install status, DOTweenSettings.asset path, and visible module count.dotween_settings_find — list project assets named DOTweenSettings.dotween_settings_get — read common DOTweenSettings.asset fields.dotween_settings_validate — report missing settings, duplicate settings, invalid capacities, and notable SafeMode warnings.dotween_settings_configure — edit Resources/DOTweenSettings.asset; parameters: defaultEaseType?, defaultAutoKill?, defaultLoopType?, safeMode?, logBehaviour?, tweenersCapacity?, sequencesCapacity?.dotween_list_modules — list loaded DG.Tweening.DOTweenModule*, ShortcutExtensions, TweenExtensions, and TweenSettingsExtensions types. Optional: includeMethods=false, methodLimit=20.dotween_list_shortcuts — list public extension methods. Optional filters: targetType, methodPrefix, limit=100.All generation skills require className, default folder=Assets/Scripts/DOTween, optional namespaceName, and never overwrite existing files.
dotween_generate_tween_script — create one runtime tween MonoBehaviour.dotween_generate_sequence_script — create one runtime Sequence MonoBehaviour; optional stepsJson array of {op:"Append|Join|AppendInterval", tweenKind, duration}.dotween_generate_lifetime_script — create a lifecycle-safe wrapper with SetLink(gameObject) by default and KillTween() on disable/destroy.Common parameters: targetKind=Transform, tweenKind=DOMove, duration=1, ease=OutQuad, loops=1, autoPlay=true, useSetLink=true.
Supported v1 targetKind / tweenKind pairs:
Transform: DOMove, DOLocalMove, DORotate, DOLocalRotate, DOScale, DOPunchPosition, DOShakePositionRectTransform: DOAnchorPos, DOSizeDeltaCanvasGroup: DOFadeGraphic / Image: DOColor, DOFadeGeneric: DOTween.ToExample:
dotween_generate_tween_script className=HeroPanelIntro targetKind=RectTransform tweenKind=DOAnchorPos duration=0.35 ease=OutBack
Sequence example:
dotween_generate_sequence_script className=ButtonPop targetKind=Transform stepsJson='[
{"op":"Append","tweenKind":"DOScale","duration":0.12},
{"op":"AppendInterval","duration":0.05},
{"op":"Join","tweenKind":"DOPunchPosition","duration":0.25}
]'
dotween_pro_add_animationAdd one DOTweenAnimation to a GameObject and configure all core fields.
Parameters: target / animationType / endValueV3? / endValueFloat? / endValueColor? / endValueV2? / endValueString? / endValueRect? / duration=1 / ease="OutQuad" / loops=1 / loopType="Yoyo" / delay=0 / isRelative=false / isFrom=false / autoPlay=true / autoKill=true / id?
dotween_pro_batch_add_animationAdd the same animation to multiple GameObjects.
Parameters: targetsJson (JSON string array) + all params of dotween_pro_add_animation.
dotween_pro_stagger_animationsBatch-add with incrementing delay — UI cascade entrance pattern.
Parameters: targetsJson / animationType / endValueV3? / endValueFloat? / endValueColor? / endValueV2? / duration=0.5 / ease="OutBack" / loops=1 / loopType="Yoyo" / baseDelay=0 / staggerDelay=0.1 / isFrom=true / autoPlay=true / autoKill=true
dotween_pro_set_durationChange duration on an existing DOTweenAnimation. Parameters: target, animationIndex=0, duration.
dotween_pro_set_easeChange ease on an existing DOTweenAnimation. Parameters: target, animationIndex=0, ease="OutQuad", easeCurveJson?.
dotween_pro_set_loopsChange loops count and optional loopType. Parameters: target, animationIndex=0, loops, loopType?.
dotween_pro_set_animation_fieldGeneric setter for DOTweenAnimation fields except duration/ease/easeType/easeCurve/loops/loopType; use dedicated skills for those.
dotween_pro_get_animationRead all serialized fields of one DOTweenAnimation. Parameters: target, animationIndex=0.
dotween_pro_list_animationsList DOTweenAnimation components on a target or across the scene. Parameters: target?, recursive=false.
dotween_pro_copy_animationCopy all fields from sourceTarget[sourceIndex] to a new DOTweenAnimation on destTarget.
dotween_pro_remove_animationRemove one DOTweenAnimation component by index.
| animationType | Required parameter |
|---|---|
| Move / LocalMove / Rotate / LocalRotate / Scale / PunchPosition / PunchRotation / PunchScale / ShakePosition / ShakeRotation / ShakeScale / AnchorPos3D | endValueV3 ("1,2,3" or "[1,2,3]") |
| AnchorPos / UIWidthHeight | endValueV2 ("1,2") |
| Fade / FillAmount / CameraOrthoSize / CameraFieldOfView / Value | endValueFloat |
| Color / CameraBackgroundColor | endValueColor ("#FF8800" or "1,0.5,0,1") |
| Text | endValueString |
| UIRect | endValueRect ("x,y,width,height") |
Exact names, parameters, defaults, and returns are defined by GET /skills/schema or unity_skills.get_skill_schema(), not by this file.
development
Keyword research and validation with real search-demand data — never ship keywords from intuition alone. Probes Google Autocomplete per language (free, no account) to prove demand and discover the exact phrasing people type, checks SERPs for winnability, and uses Keyword Planner/Ahrefs/Semrush exports when the user has access. Activates when: choosing or reviewing SEO keywords, meta keywords, page titles, article topics or slugs, landing page copy targeting search, App Store/ASO keyword fields, multilingual keyword sets, 'what should we rank for', 'keyword analysis', or auditing why a page doesn't rank. Also invoke it as a validation pass whenever another skill or task produces a keyword list.
development
Automate YooAsset hot-update and asset bundles — build bundles, run Editor simulate builds, manage Collector groups, analyze BuildReport, and validate runtime. Use when building or simulating YooAsset bundles, configuring collectors, or validating hot-update assets, even if the user just says "热更" or "打AB包". 自动化 YooAsset 热更新与资源包(构建 bundle、编辑器模拟构建、管理 Collector 分组、分析 BuildReport、运行时校验);当用户要构建或模拟 YooAsset 资源包、配置 collector、或校验热更资源时使用。
development
Source-anchored design rules for YooAsset v2.3.18 — initialization, default-package shortcuts, play modes, asset handles, loading, updates, filesystem, build, and pitfalls. Use when writing or reviewing YooAsset code, initializing packages, loading assets via handles, setting up hot-update/download, or choosing a play mode, even if the user just says "热更" or "资源包". 为 YooAsset v2.3.18 提供源码锚定的设计规则(初始化、默认包快捷方式、运行模式、资源句柄、加载、更新、文件系统、构建、陷阱);当用户要编写或审查 YooAsset 代码、初始化 package、用句柄加载资源、配置热更/下载、或选择运行模式时使用。
data-ai
Last-resort guidance for safely hand-editing Unity serialized YAML (.unity/.prefab/.asset/.meta/ProjectSettings) — reference/fileID repair, GUID safety, and merge-conflict fixes. Use when REST cannot reach the change and YAML must be hand-edited — fixing m_Script GUIDs, broken fileID references, .meta files, or merge conflicts, even if the user just says "场景文件打不开" or "引用丢了". 安全手编 Unity 序列化 YAML(.unity/.prefab/.asset/.meta/ProjectSettings)的最后手段(引用/fileID 修复、GUID 安全、合并冲突修复);当 REST 无法触达、必须手编 YAML 时使用——修复 m_Script GUID、断裂 fileID 引用、.meta 文件或合并冲突。