Skip to content
FunCoding

unity-dotween

Automate DOTween Free/Pro at editor time

Star
1,830
Category
Other
License
MIT
Last commit
Oct 12, 2026

SkillsForUnity/unity-skills~/skills/dotween/SKILL.md

View on GitHub

Before calling any skill in this module: if you are about to call a skill with parameters guessed from its name or description, STOP — read this file (or fetch its schema via GET /skills/recommend?includeSchema=true) first. If you already have the parameter definitions from recommend/schema, you may proceed straight to dryRun.

Triggers

  • Setting up DOTween
  • Validating install/modules
  • Configuring DOTweenAnimation components
  • 接入 DOTween、校验安装/模块、配置 DOTweenAnimation 组件

DOTween Skills

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.

Guardrails

Operating Mode (v1.9 three-tier):

  • Approval (default): query/diagnostic skills (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, the remaining dotween_pro_* writers) are FullAuto — on MODE_RESTRICTED, run the grant protocol. The script generators and dotween_pro_remove_animation are auto-forbidden instead (next bullet); grant does not unlock those.
  • Auto / Bypass: SemiAuto and FullAuto run directly.
  • Auto-forbidden in this module: 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), plus dotween_pro_remove_animation (SkillOperation.Delete — the Delete bit alone triggers NeverInSemi even though its RiskLevel stays "low"). All four return MODE_FORBIDDEN under Approval and Auto, and are reachable only under Bypass mode or via a user-managed Allowlist entry; the grant flow returns MODE_FORBIDDEN too. Note the other Pro writers (dotween_pro_add_animation, dotween_pro_set_*, dotween_pro_copy_animation, …) carry no Delete bit and stay grantable.
  • When DOTween Free/Pro is missing, the 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:

  • DOTween Free or Pro must be installed. DOTweenPresenceDetector adds DOTWEEN / DOTWEEN_PRO defines automatically after install.
  • Free skills work with DOTween Free and Pro: status, settings read/find/validate/configure, module/shortcut listing, runtime script generation.
  • dotween_pro_* skills require DOTween Pro because DG.Tweening.DOTweenAnimation is Pro-only.

Do not confuse Free with Pro:

  • Free skills do not create or emulate DOTweenAnimation components.
  • Runtime tween generation creates .cs scripts only; it does not auto-attach scripts to scene objects because Unity may need a Domain Reload first.
  • For source-level runtime API design rules, load dotween-design.

Free Skills

Diagnostics and settings

  • 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?. Parameters whose field this DOTween version does not declare come back in an unsupported array instead of counting as applied — DOTween Pro 1.0.381 has no capacity fields on the asset at all (its capacities are a runtime call, DOTween.SetTweensCapacity). Capacities must be >= 1; a bad enum value is rejected with the accepted names.

API discovery

  • 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.

Runtime script generation

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, DOShakePosition
  • RectTransform: DOAnchorPos, DOSizeDelta
  • CanvasGroup: DOFade
  • Graphic / Image: DOColor, DOFade
  • Generic: DOTween.To

Example:

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}
]'

Pro Skills

dotween_pro_add_animation

Add 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?

Shared numeric/enum contract of the three add skills, checked before anything is added: duration > 0, loops is -1 (infinite) or >= 1, delay >= 0, and animationType / ease / loopType must be members of the enums the installed DOTween declares (a misspelled ease used to be ignored silently).

dotween_pro_batch_add_animation

Add the same animation to multiple GameObjects. Parameters: targetsJson (JSON string array) + all params of dotween_pro_add_animation.

dotween_pro_stagger_animations

Batch-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 baseDelay and staggerDelay must both be >= 0; a negative one is rejected up front rather than clamped away by DOTween after the fact.

dotween_pro_set_duration

Change duration on an existing DOTweenAnimation. Parameters: target, animationIndex=0, duration (required, > 0).

dotween_pro_set_ease

Change ease on an existing DOTweenAnimation. Parameters: target, animationIndex=0, ease="OutQuad", easeCurveJson?. easeCurveJson wins when both are sent; an unparseable curve is rejected rather than quietly falling back to ease.

dotween_pro_set_loops

Change loops count and/or loopType. Parameters: target, animationIndex=0, loops? (-1 = infinite, otherwise >= 1), loopType?. Send at least one of loops / loopType — omitting both is refused instead of resetting loops to 1, and sending only one leaves the other as it is.

dotween_pro_set_animation_field

Generic setter for DOTweenAnimation fields except duration/ease/easeType/easeCurve/loops/loopType; use dedicated skills for those. fieldName and fieldValue are both required — pass an explicit "" to clear a string field.

dotween_pro_get_animation

Read all serialized fields of one DOTweenAnimation. Parameters: target, animationIndex=0.

dotween_pro_list_animations

List DOTweenAnimation components on a target or across the scene. Parameters: target?, recursive=false. animationIndex is the component's position on its own GameObject, which is exactly the index the setters/remover take — pass it straight through.

dotween_pro_copy_animation

Copy all fields from sourceTarget[sourceIndex] to a new DOTweenAnimation on destTarget. Fields that could not be copied are listed in skippedFields.

dotween_pro_remove_animation

Remove one DOTweenAnimation component by index.

animationType → endValue mapping

animationTypeRequired parameter
Move / LocalMove / Rotate / LocalRotate / Scale / PunchPosition / PunchRotation / PunchScale / ShakePosition / ShakeRotation / ShakeScale / AnchorPos3DendValueV3 ("1,2,3" or "[1,2,3]")
AnchorPos / UIWidthHeightendValueV2 ("1,2")
Fade / FillAmount / CameraOrthoSize / CameraFieldOfView / ValueendValueFloat
Color / CameraBackgroundColorendValueColor ("#FF8800" or "1,0.5,0,1")
TextendValueString
UIRectendValueRect ("x,y,width,height")

Exact Signatures

Exact names, parameters, defaults, and returns are defined by GET /skills/schema or unity_skills.get_skill_schema(), not by this file.

Similar Skills

claude-handoff

MAmattpocock/skills288k10,178 new stars in the last 7 days

agent-payment-x402

AFaffaan-m/ECC278k4,046 new stars in the last 7 days

agent-self-evaluation

AFaffaan-m/ECC278k4,046 new stars in the last 7 days

bengali-nlp

AFaffaan-m/ECC278k4,046 new stars in the last 7 days

ponytail-gain

DIDietrichGebert/ponytail162k5,405 new stars in the last 7 days

ponytail-debt

DIDietrichGebert/ponytail162k5,405 new stars in the last 7 days