ギミックバンドル (Gimmick Bundle)
アバターギミック (アバター丸ごとでも可) を JSON ファイル一式のフォルダに書き出し / 書き戻すツールです。AnimDsl の発展形で、階層・コンポーネント・クリップ・メニューまで含めた「ギミックの全部」を Claude などの LLM に読ませたり、逆に書かせたバンドルを Unity 上に実体化する用途を想定しています。
ウィンドウ: 上部メニューの さたにあしょっぴんぐ/エディタカスタマイザー/Gimmick Bundle

バンドルの中身
MyGimmick/
├─ gimmick.json … マニフェスト (名前・説明・ファイル一覧・警告)
├─ objects.json … GameObject 階層 + 全コンポーネント (MA 含む)
├─ controllers/*.json … AnimatorController (AnimDsl 形式)
├─ clips/*.json … AnimationClip
├─ menus/*.json … VRCExpressionsMenu
├─ parameters/*.json … VRCExpressionParameters
└─ assets/** … 追加アセットの実ファイル (.cs / .dll / シェーダー / フォルダ等、任意)1 アセット = 1 ファイルで、バンドル内の参照は相対パスで繋がっています。メッシュやマテリアルなどのアセット実体は入りません (guid / パスの参照として記録され、インポート先のプロジェクトに同じアセットがあれば繋がります)。例外が「追加アセット」で、指定したファイルだけは実体 (+ .meta) がバンドルに入ります。
書き出し
シーン上のルート GameObject を指定すると、そのサブツリーが丸ごと対象になります。
- Path Mode — Relative (バンドルルート基準、既定) か Absolute (シーンルート基準)。配布ギミックなら Relative のままで
- Descriptor のコントローラも同梱 — VRCAvatarDescriptor の Base / Special Animation Layers に刺さっているコントローラも controllers/ に含めます。アバター丸ごと書き出す時用
- 説明 — gimmick.json の description になります。Claude が最初に読む場所なので、ギミックの目的を一言書いておくと読解の精度が上がります
- 追加アセット (assets/) — スクリプト (.cs / .dll) やシェーダー、フォルダ丸ごとを実ファイルとしてバンドルに同梱します。ドラッグ&ドロップで追加、「スクリプトを検出して追加」でサブツリーのカスタムコンポーネントのスクリプト (Assets/ 配下) を逆引きして入れられます。
.metaごとコピーされ GUID が保存されるため、インポート先で参照がそのまま繋がります。NDMF プラグイン等の「専用スクリプト前提のギミック」を、未導入のプロジェクトにも復元できるようにする仕組みです- 他者製のスクリプト等を同梱したバンドルは再配布物になります。配布する場合は同梱物のライセンスを確認してください
書き出し時の警告 (取得できなかった値のプレースホルダ化、AnimDsl で運べない要素など) はウィンドウに表示され、gimmick.json にも記録されます。「コピー」ボタンでまとめてクリップボードに取れるので、そのまま Claude に貼り付けられます。
読み込み
gimmick.json のあるフォルダと、出力先 (プロジェクトの Assets 配下) を指定します。
- 階層も生成する — ON にすると objects.json から GameObject 階層とコンポーネントまで再構築します (生成先の親 Transform も指定可)。OFF ならアセット (クリップ・メニュー・コントローラ・ExParams) だけ
- アセットは
<出力先>/<バンドル名>/配下に生成され、階層はシーンに出てピン留めされます - 手書きバンドルの「要ユーザー設定」(メッシュ未割り当てなど) も警告欄に出るので、インポート後にそこだけ埋めれば動きます
- 追加アセット入りバンドル — assets/ の実ファイルは元のパス (Assets/ 配下) に復元されます。同じ GUID のアセットが既にプロジェクトにあればスキップされる (導入済みなら何もしない) ので、二重取り込みの心配はありません。スクリプト (.cs / .dll) を新しく取り込んだ場合は、コンパイル後に残り (アセット + 階層) が自動で読み込まれます (2 段階になりますが操作は不要です)
Claude と組み合わせる
バンドルを Claude に読ませる / 書かせるには、先に専用スキル (バンドルの読み方・書き方・VRChat ギミックの技法カタログ・Modular Avatar の仕様知識、計 5 本) を Claude Code のスキルフォルダに入れておきます。
エディタ拡張からのインストール

ウィンドウ下部の Claude スキル セクションから入れるのが手軽です。
- インストール先を選ぶ — グローバル (
C:\Users\<ユーザー名>\.claude\skills、Claude Code の全プロジェクト共通) か、このプロジェクト (.claude/skills、この Unity プロジェクトを開いた時だけ有効)。両方チェックも可 - 入れるスキルにチェック — 既定は 5 本すべて。スキル同士が参照し合うので、まとめて入れるのがおすすめです
- スキルをインストール / 同期 を押す
2 回目以降は差分だけ更新されます。SCE をアップデートしたらもう一度押せば、スキルも新しい内容に追従します。
手動インストール
パッケージ内の Packages/net.satania.customeditors/ClaudeSkills~/ に各スキルのフォルダがそのまま入っています。エクスプローラーでこのフォルダを開き、中のスキルフォルダ (sce-gimmick-bundle-reading など) を C:\Users\<ユーザー名>\.claude\skills\ へコピーしても同じです。
ClaudeSkills~ が Project ウィンドウに見えない
末尾がチルダ (~) のフォルダは Unity が無視するため、Project ウィンドウには表示されません。エクスプローラーで直接開いてください (パッケージフォルダは Project ウィンドウでパッケージを右クリック → Show in Explorer で辿れます)。
使い方
だいたいこの 2 方向です:
- 読ませる — ギミックを書き出して Claude に「このバンドル読んで」。何をどう実現しているギミックか、因果チェーンで説明が返ってきます
- 書かせる — 「こういうギミック作って」でバンドルを書かせて、このウィンドウでインポート。トグルや Radial 調整くらいのギミックなら、警告を埋めるだけで動く状態まで出てきます
動作条件
- バンドルの読み込みには
com.unity.nuget.newtonsoft-jsonが必要です (書き出しは不要) - menus / parameters の再生成には VRChat Avatars SDK が、MA コンポーネントの再構築には Modular Avatar が必要です (無い環境ではその分だけスキップして警告が出ます)
- Claude スキルの同梱は VCC (VPM) 配布のみです。.unitypackage 版には含まれません