besty0728/unity-dotween
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 skills add https://github.com/Besty0728/Unity-Skills --skill unity-dotween
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.
Take besty0728/unity-dotween from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.