Claude Code に公式の Unity プラグインを入れました。入れたあとで、何が増えたのかをフォルダで数えてみたら、説明と違いました。
2026年10月12日追記:旧版の読み込み不具合は修正済み
以下の31個中27個という数字は、手元の0.1.2-betaで測った記録です。公式のIssue #44は9月18日に修正完了として閉じられています。今回、公式リポジトリの0.1.8-beta(commit cf6b2da)から32件のSKILL.mdを取得し、全32件のfrontmatterをYAMLとして解析できました。現在の全スキルをClaude Code上で起動した検証ではありません。
31個
配布されているスキル
plugin 0.1.2-beta
27個
実際に読み込めた数
4個は無言で無視される
0個
MCP・コマンド・hooks
設定ファイルは入らない
8日
報告から公式修正まで
2026-09-10 → 09-18
入るのは「スキル」だけ
インストール先のフォルダを開くと、中身はこれだけです。
.agents/ .claude-plugin/ ← plugin.json(名前・版・説明だけ) .codex-plugin/ assets/ skills/ ← SKILL.md が31個 LICENSE.md README.md
.mcp.json はありません。commands/ も hooks/ も agents/ もありません。plugin.json の中にも mcpServers の記述はなく、名前・バージョン・説明・キーワードだけです。
公式ブログには、このプラグインは "installs Unity's engineering skills, the Unity CLI, and Unity's MCP server"(Unity 公式ブログ・2026-09-09)と書かれています。ただ、プラグイン自体が持っているのはスキルだけでした。
CLI と MCP は「別で入る」
矛盾しているわけではなく、順番の問題のようです。unity-cli スキルの中には「CLI が入っていなければエージェントが入れる」「unity mcp configure で設定する」という手順が書かれています。つまりスキルが CLI と MCP を呼び込む設計で、プラグインのインストール時点では入りません。Unity CLI 自体は Unity Hub に同梱されているほか、単体でも入れられます。
旧版で31個のうち27個しか読み込めなかった原因
もっと実害があるのはこちらです。使えるスキルの一覧を見たとき、数が合いませんでした。
当時の0.1.2-betaで配布されていたのは31個、手元で読み込まれたのは27個。4個が、エラーも警告も出さずに消えていました。
原因は frontmatter の YAML でした。
読み込まれない書き方
--- name: physics-3d-collision description: 3D PhysX collision diagnostics. Primary scope: OnCollisionEnter not firing, … ---
直す書き方
--- name: physics-3d-collision description: "3D PhysX collision diagnostics. Primary scope: OnCollisionEnter not firing, …" ---
引用符で囲んでいない値の中に コロン+空白(: ) が入ると、YAML はそこを新しいキーの区切りだと解釈します。結果として frontmatter 全体の読み込みに失敗し、そのスキルは無かったことになります。
落ちていたのは次の4つでした。説明文の中に Primary scope: や TilingRules: のような書き方が含まれています。
| スキル | 何をするものか |
|---|---|
ui | UI の入り口。プロジェクトがどの UI システムを使っているか判定して、専門スキルに渡す |
ui-imgui | 昔ながらの OnGUI で書かれたエディター拡張の保守 |
physics-3d-collision | 3D の当たり判定・トリガーが動かないときの診断 |
tilemap-ruletile-createfromsegment | スプライトから RuleTile(自動でつながるタイル)を作る |
いちばん困るのは ui です。UI の依頼を振り分ける入り口なので、これが無いと「メニューを作って」と頼んだときに、UI Toolkit と uGUI のどちらで書くかを自分で指定することになります。
自分で確かめる(数十秒)
「一覧に出ていないだけ」なのか「そもそも読めていない」のかは、インストール先のフォルダを直接読めば分かります。frontmatter を YAML として読み込んでみるだけです。
cd "$USERPROFILE/.claude/plugins/cache/claude-plugins-official/unity/<版>/skills"
python -c "
import pathlib, yaml
ok, bad = [], []
for d in sorted(pathlib.Path('.').iterdir()):
f = d / 'SKILL.md'
if not f.exists(): continue
head = f.read_text(encoding='utf-8').split('---')[1]
try:
yaml.safe_load(head); ok.append(d.name)
except Exception as e:
bad.append((d.name, str(e).splitlines()[0]))
print('読める:', len(ok), '/ 壊れている:', len(bad))
for n, e in bad: print(' -', n, '->', e)
"
読める: 27 / 壊れている: 4 - physics-3d-collision -> mapping values are not allowed here - tilemap-ruletile-createfromsegment -> mapping values are not allowed here - ui -> mapping values are not allowed here - ui-imgui -> mapping values are not allowed here
同じ確かめ方は、自分で書いたスキルにも使えます。 スキルは読み込みに失敗しても何も言わないので、気づく仕組みを自分で持っておくと安全です。
旧版で使った回避策と、更新後の確認
この不具合は2026-09-10にGitHubで報告されました(Issue #44)。公式では9月18日にPR #54で修正済みです。手元に残っていた0.1.2-betaの欠落と、公式最新版の修正状況を混同していました。10月12日に公式履歴を再確認し、この説明を訂正しました。
2026-09-09
公式ブログでプラグイン公開(当時のスキルは29個)
2026-09-10要注意
Issue #44 で「4個が読み込まれない」と報告される
2026-09-18要注意
手元の0.1.2-betaは31個中27個。公式では同日にPR #54で修正完了
当面の付き合い方は2つです。
- 1
落ちているスキルの担当を、自分で名指しする
UI ならui-uitk(UI Toolkit)かui-ugui(uGUI)を指示に書く。3D の当たり判定やタイルの自動連結も同様 - 2
数を突き合わせる習慣をつける
版が上がったら、配布数と読み込まれた数をもう一度数える。直ったかどうかが一発で分かる
まとめ
- 公式プラグインで入るのはスキルだけ。MCP の設定も commands も hooks も含まれない。CLI と MCP は、スキルの手順に沿って別途入れる
- 配布31個に対して、読み込まれたのは27個(plugin 0.1.2-beta・2026-09-18)
- 原因は frontmatter の
description:が引用符で囲まれておらず、中に:が入っていること - スキルは読み込みに失敗しても黙っている。 数を突き合わせるか、YAML として読ませて確かめる
- Issue #44は修正済み。旧版の実測は残し、更新後は配布ファイルと読み込めたスキル数を照合する