unity-dotween について
unity-dotweenは、UnityでDOTweenの診断、設定の読み取りと変更、APIの検索、実行時ツイーンスクリプトの生成を行うスキルモジュールです。DOTween Proでは、エディター上でDOTweenAnimationコンポーネントも設定できます。
主な機能
- 01インストール状態と設定の検証
- 02DOTween設定の読み取りと変更
- 03モジュールとショートカットAPIの検索
- 04実行時ツイーンスクリプトの生成
- 05ProでのDOTweenAnimation設定
活用シーン
- 01DOTweenの未導入や設定不備の診断
- 02利用可能なツイーンモジュールやショートカットの検索
- 03ツイーンまたはシーケンスMonoBehaviourの生成
- 04間隔を付けたDOTweenAnimation演出の設定
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ besty0728/ unity-skills --skill unity-dotweenインストール後、Claude Code で/unity-dotweenを入力して読み込まれたか確認します。
詳細
このモジュールのスキルを呼び出す前に: 名前や説明から推測したパラメーターでスキルを呼び出そうとしている場合は、いったん停止し、まずこのファイルを読むか、
GET /skills/recommend?includeSchema=trueでスキーマを取得してください。recommend/schema からパラメーター定義をすでに取得している場合は、そのまま dryRun に進めます。
トリガー
- DOTween のセットアップ
- インストール/モジュールの検証
- DOTweenAnimation コンポーネントの設定
- DOTween の導入、インストール/モジュールの検証、DOTweenAnimation コンポーネントの設定
DOTween スキル
プロジェクトの診断、設定、モジュール/API の検出、ランタイムスクリプトの生成に対応する、DOTween Free/Pro 向けのスキルです。DOTween Pro 専用の DOTweenAnimation のエディター時設定は、引き続き dotween_pro_* スキルから利用できます。
ガードレール
動作モード(v1.9 の 3 段階):
- Approval(デフォルト):クエリ/診断スキル(
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)はそのまま実行されます。ミューテーター(設定変更、その他のdotween_pro_*書き込み系)は FullAuto です。MODE_RESTRICTEDの場合は、許可プロトコルを実行してください。スクリプト生成スキルとdotween_pro_remove_animationは別途、自動的に禁止されます(次の項目を参照)。許可を付与しても、これらは解除されません。 - Auto/Bypass:SemiAuto と FullAuto はそのまま実行されます。
- このモジュールで自動的に禁止されるスキル:
dotween_generate_tween_script、dotween_generate_sequence_script、dotween_generate_lifetime_script(いずれも新しい.csファイルの書き込みによりスクリプトのコンパイルと Domain Reload が発生するため、MayTriggerReload = true、RiskLevel = "high"が設定されています)、およびdotween_pro_remove_animation(SkillOperation.Delete—RiskLevelは"low"のままですが、Delete ビットがあるだけで NeverInSemi が適用されます)。この 4 つは Approval および Auto でMODE_FORBIDDENを返し、Bypass モードまたはユーザー管理の Allowlist エントリー経由でのみ実行できます。許可フローでもMODE_FORBIDDENが返されます。ほかの Pro 書き込み系スキル(dotween_pro_add_animation、dotween_pro_set_*、dotween_pro_copy_animationなど)には Delete ビットがないため、引き続き許可を付与できます。 - DOTween Free/Pro がない場合、
DOTweenPresenceDetectorはDOTWEEN/DOTWEEN_PROの定義を追加しません。そのため、ほとんどのスキルは実行されず、「未インストール」の診断を返します。dotween_pro_*ファミリーには、Pro 専用のDG.Tweening.DOTweenAnimationを使用するため、Pro も必要です。
前提条件:
- DOTween Free または Pro がインストールされている必要があります。インストール後、
DOTweenPresenceDetectorがDOTWEEN/DOTWEEN_PROの定義を自動的に追加します。 - Free スキルは DOTween Free と Pro のどちらでも動作します。対象は、ステータス、設定の読み取り/検索/検証/変更、モジュール/ショートカットの一覧表示、ランタイムスクリプトの生成です。
dotween_pro_*スキルには、DG.Tweening.DOTweenAnimationが Pro 専用のため、DOTween Pro が必要です。
Free と Pro を混同しないでください:
- Free スキルは
DOTweenAnimationコンポーネントを作成またはエミュレートしません。 - ランタイムのトゥイーン生成では
.csスクリプトのみが作成されます。Unity では先に Domain Reload が必要になる場合があるため、スクリプトがシーンオブジェクトに自動でアタッチされることはありません。 - ソースレベルでのランタイム API 設計ルールについては、dotween-design を読み込んでください。
Free スキル
診断と設定
dotween_get_status— DOTween/Pro のインストール状況、DOTweenSettings.assetのパス、表示されているモジュール数を報告します。dotween_settings_find—DOTweenSettingsという名前のプロジェクトアセットを一覧表示します。dotween_settings_get—DOTweenSettings.assetの一般的なフィールドを読み取ります。dotween_settings_validate— 設定の欠落、重複した設定、無効な容量、SafeMode に関する注目すべき警告を報告します。dotween_settings_configure—Resources/DOTweenSettings.assetを編集します。パラメーター:defaultEaseType?、defaultAutoKill?、defaultLoopType?、safeMode?、logBehaviour?、tweenersCapacity?、sequencesCapacity?。使用中の DOTween バージョンでフィールドが宣言されていないパラメーターは、適用済みとして扱われず、代わりにunsupported配列に返されます。DOTween Pro 1.0.381 のアセットには容量フィールドがありません(容量はDOTween.SetTweensCapacityによるランタイム呼び出しで設定します)。容量は 1 以上である必要があります。無効な列挙値は拒否され、指定可能な名前が示されます。
API の検出
dotween_list_modules— 読み込み済みのDG.Tweening.DOTweenModule*、ShortcutExtensions、TweenExtensions、TweenSettingsExtensions型を一覧表示します。オプション:includeMethods=false、methodLimit=20。dotween_list_shortcuts— パブリック拡張メソッドを一覧表示します。オプションのフィルター:targetType、methodPrefix、limit=100。
ランタイムスクリプトの生成
すべての生成スキルで className が必要です。デフォルトの folder=Assets/Scripts/DOTween、任意の namespaceName を指定でき、既存ファイルを上書きすることはありません。
dotween_generate_tween_script— ランタイム tween MonoBehaviour を 1 つ作成します。dotween_generate_sequence_script— ランタイムSequenceMonoBehaviour を 1 つ作成します。任意で{op:"Append|Join|AppendInterval", tweenKind, duration}の配列をstepsJsonに指定できます。dotween_generate_lifetime_script— デフォルトでSetLink(gameObject)を使用し、無効化/破棄時にKillTween()を呼び出す、ライフサイクルに安全なラッパーを作成します。
共通パラメーター:targetKind=Transform、tweenKind=DOMove、duration=1、ease=OutQuad、loops=1、autoPlay=true、useSetLink=true。
対応する v1 の targetKind/tweenKind の組み合わせ:
Transform:DOMove、DOLocalMove、DORotate、DOLocalRotate、DOScale、DOPunchPosition、DOShakePositionRectTransform:DOAnchorPos、DOSizeDeltaCanvasGroup:DOFadeGraphic/Image:DOColor、DOFadeGeneric:DOTween.To
例:
dotween_generate_tween_script className=HeroPanelIntro targetKind=RectTransform tweenKind=DOAnchorPos duration=0.35 ease=OutBack
Sequence の例:
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 スキル
dotween_pro_add_animation
1 つの GameObject に DOTweenAnimation を追加し、すべての主要フィールドを設定します。
パラメーター: 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?
3 つの追加スキルに共通する数値/列挙値の条件は、追加処理を行う前にチェックされます。duration > 0、loops は -1(無限)または 1 以上、delay >= 0 である必要があります。また、animationType/ease/loopType は、インストール済みの DOTween が宣言している列挙型の値でなければなりません(スペルを間違えた ease は以前、黙って無視されていました)。
dotween_pro_batch_add_animation
複数の GameObject に同じアニメーションを追加します。
パラメーター: targetsJson(JSON 文字列配列)+ dotween_pro_add_animation のすべてのパラメーター。
dotween_pro_stagger_animations
遅延を段階的に増やしながら一括追加します。UI のカスケード表示パターンに使用します。
パラメーター: 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 と staggerDelay はどちらも 0 以上である必要があります。負の値は、DOTween が後からクランプして無効化するのではなく、事前に拒否されます。
dotween_pro_set_duration
既存の DOTweenAnimation の duration を変更します。パラメーター:target、animationIndex=0、duration(必須、0 より大きい値)。
dotween_pro_set_ease
既存の DOTweenAnimation のイージングを変更します。パラメーター:target、animationIndex=0、ease="OutQuad"、easeCurveJson?。両方が指定された場合は easeCurveJson が優先されます。解析できないカーブは、ease に暗黙的にフォールバックせず、拒否されます。
dotween_pro_set_loops
ループ回数や loopType を変更します。パラメーター:target、animationIndex=0、loops?(-1 = 無限、それ以外は >= 1)、loopType?。loops / loopType の少なくとも一方を指定してください。両方を省略すると、ループ回数を 1 にリセットするのではなく、リクエストが拒否されます。一方だけを指定した場合、もう一方はそのまま維持されます。
dotween_pro_set_animation_field
duration/ease/easeType/easeCurve/loops/loopType を除く DOTweenAnimation のフィールドを設定する汎用セッターです。これらのフィールドには専用のスキルを使用してください。fieldName と fieldValue の両方が必須です。文字列フィールドをクリアするには、明示的に "" を渡してください。
dotween_pro_get_animation
1 つの DOTweenAnimation のシリアライズ済みフィールドをすべて読み取ります。パラメーター:target、animationIndex=0。
dotween_pro_list_animations
ターゲット上またはシーン全体の DOTweenAnimation コンポーネントを一覧表示します。パラメーター:target?、recursive=false。animationIndex は、そのコンポーネントが自身の GameObject 上で占める位置です。これはセッターや削除ツールが受け取るインデックスとまったく同じなので、そのまま渡してください。
dotween_pro_copy_animation
sourceTarget[sourceIndex] のすべてのフィールドを destTarget 上の新しい DOTweenAnimation にコピーします。コピーできなかったフィールドは skippedFields に列挙されます。
dotween_pro_remove_animation
インデックスを指定して、1 つの DOTweenAnimation コンポーネントを削除します。
animationType → endValue の対応関係
| animationType | 必須パラメーター |
|---|---|
Move / LocalMove / Rotate / LocalRotate / Scale / PunchPosition / PunchRotation / PunchScale / ShakePosition / ShakeRotation / ShakeScale / AnchorPos3D | endValueV3("1,2,3" または "[1,2,3]") |
AnchorPos / UIWidthHeight | endValueV2("1,2") |
Fade / FillAmount / CameraOrthoSize / CameraFieldOfView / Value | endValueFloat |
Color / CameraBackgroundColor | endValueColor("#FF8800" または "1,0.5,0,1") |
Text | endValueString |
UIRect | endValueRect("x,y,width,height") |
正確なシグネチャ
正確な名前、パラメーター、デフォルト値、戻り値は、このファイルではなく、GET /skills/schema または unity_skills.get_skill_schema() で定義されています。