「Claudeでできない」「思った通りに動いてくれない」「Skillを設定したのに完全に無視される」――そんなモヤモヤを抱えてここにたどり着いたのではないでしょうか。
特に、Claude Codeで開発を始めた人がハマりがちなのが、「ちゃんと書いたはずのSkillが読まれない」「Unityとつながらない」「指示を守ってくれない=Claudeの限界だ」と思い込んでしまうパターンです。
でも正直にいうと、多くの場合それは「Claudeの限界」ではなく、設定・前提・使い方の問題です。
この記事では、元の文章で触れられていたClaude CodeのSkillsとUnity MCP連携の内容を、初心者でも腹落ちするレベルまでかみ砕きながら、
・「本当にClaudeにはできないこと」
・「やり方を変えれば余裕でできること」
・「設定をミスっているだけで、今すぐ直せること」
をはっきり切り分けて解説します。
Claudeでできないと検索する人の3つの本音

AIのイメージ
まずは「Claudeでできない」と検索する人が、どんなことに困っているのかを言語化しておきましょう。これを押さえておくと、この記事のどの部分を重点的に読めばいいかがはっきりします。
多くのユーザーの悩みは、ざっくり次の3パターンに分かれます。
- Claudeでできないと思い込んでいるが、実は設定やプロンプト設計の問題によって意図した動作が実現できていないケースが非常に多いです。
- Claude CodeやSkill、MCPのような仕組みを理解しておらず、「普通にチャットするだけでは無理なこと」を無理にやらせようとして失敗しているケースがよくあります。
- そもそもAIという技術の限界上、本当にまだできないことを、知らずに期待してしまい「裏切られた」と感じているケースも一定数存在します。
ここで大事なのは、「できない」と感じたとき、 それが仕様上の限界なのか? それとも環境や設計を変えればできるのか?
を見極めることです。
この見極めをしないまま「Claudeはダメだ」と決めつけてしまうと、本来なら便利に使えたはずの用途を自分で捨ててしまうことになります。
「できない」は3種類ある仕様・苦手・設定ミス
あなたの「Claudeでできない」を正しく解決するために、まずは「できない」を3つに分解してみます。
| タイプ | 具体例と対策イメージ |
|---|---|
| ①仕様的に本当にできない | リアルタイムでPCを勝手に操作する、法的・倫理的にグレーな情報の取得などは安全上の理由からできません。これは諦めるのではなく、別の仕組みや手動作業との役割分担を考える必要があります。 |
| ②現状のClaudeが苦手・不向き | 極端に長いコンテキストを厳密に保持し続ける、高度に専門的な大規模コードベースの全体最適などは、工夫しないと精度が落ちます。分割して指示する、テストコードで補うなどの工夫でかなり改善できます。 |
| ③設定ミス・設計ミスでできていない | Skillが読まれていない、Unity MCPとつながらない、settings.jsonに必須のinstructionsを書いていないなどは、環境を正しく整えれば「普通にできること」です。 |
この記事のメインテーマは、特に③「設定・設計の問題でできていない」部分です。
元の文章で触れられていたClaude CodeのSkillsとUnity MCPは、まさにこの③に直結します。
ここをきちんと理解すると、「Claudeでできない」と感じていたことのかなりの割合が「実はもうできる」に変わります。
ClaudeCodeのSkillが読まれないのはClaudeのせいじゃない
元の文章で一番重要だったポイントは、Claude Codeが複数の設定ファイルを優先順位付きで読むという仕組みです。これを知らないと、Skillをいくら頑張って書いても「なんか動いたり動かなかったりする」という不安定な状態から抜け出せません。
優先順位付き設定ファイルの仕組みを理解する
Claude Codeには、いくつかの設定ファイルが存在します。代表的なのは、次のようなものです。
・プロジェクト側のsettings.json
・リポジトリルートのCLAUDE.md(ガイドラインやSkill定義を書きがち)
・場合によってはグローバル設定ファイル
重要なのは、これらが「同列ではない」ことです。
元の文章にもあったように、優先度はざっくり次のようなイメージになります。
settings.jsonのinstructions > その他のガイドライン(CLAUDE.mdなど)
つまり、Claude Codeに「絶対に守ってほしいこと」を伝えたいなら、settings.jsonのinstructionsに書かないと本気で読んでくれない、ということになります。
「必ず守らせたい指示」はsettings.jsonに書く
ここでよくある勘違いが、CLAUDE.mdだけでなんとかしようとするパターンです。
例えば、CLAUDE.mdに
「常にテストコードも一緒に生成してください」
「Unityに関する操作はこのSkillを使ってください」
と書いても、実際の動作としては
・なぜかテストコードが出てこない
・Skillを無視して素の文章だけで答えられる
といったことが頻発します。
これはClaudeがサボっているのではなく、「そこまで強い命令として扱っていない」からです。
一方で、settings.jsonのinstructionsフィールドに同じ内容を書き込むと、Claude Codeにとっては最も強い命令として扱われます。
ここを押さえておくと、
・Skillの呼び出しルール
・回答フォーマット
・プロジェクト固有の命名規則やアーキテクチャ方針
といったものを、かなり安定して守らせることができるようになります。
Skillが無視されるときの3つのチェックポイント
「Skillを作ったのに使ってくれない」「Claudeでできないと思ってしまう」というときは、次の3点を順番に疑ってみてください。
まず1つ目に、settings.jsonのinstructionsにSkillの利用ルールが明示されているかを確認します。CLAUDE.mdだけに書いていて、settings.jsonが空、または初期状態のままになっていないでしょうか。
2つ目に、Skillの説明文が抽象的すぎないかをチェックします。「Unityを操作するSkillです」だけではなく、「シーン内オブジェクト一覧を取得し、GameObject名とパスを返す」といったレベルまで、プロセスを具体的に書いておきましょう。Anthropicが紹介しているSkillsという概念は、「AIに明確なプロセスを指示する」ことが本質なので、ここが曖昧だともちろんうまく動きません。
3つ目に、Skillでやらせたい処理と、実際にユーザーが出すプロンプトが噛み合っているかを見直します。Skillの名前や説明文に「シーン内一覧」と書きながら、「このGameObjectのマテリアルだけ変えて」といった指示だけをしていると、Claudeは別のアプローチを取ろうとしてしまいます。Skillの設計と実際の会話の言葉をそろえることが大切です。
Unityとつながらない=Claudeでできない?MCPで解決する
次に、元の文章で触れられていたUnity MCPの部分を、もう少し丁寧に解説します。
「ClaudeにUnityを触らせたいけど、そもそもつながらない」というのは、まさに「Claudeでできない」と検索されがちなポイントです。
結論からいうと、Unity MCPは「ClaudeからUnityを操作可能な対象にする橋渡し」です。
UnityMCPの全体像をイメージする
Unity MCPは、ざっくり言うとUnity EditorとClaude CodeをWebSocketでつなぐサーバーです。
Unity側でMCPサーバーを起動すると、自動的に.unity-mcp-runtime.jsonのようなファイルが生成されます。
このファイルには、
・使用するポート番号
・接続に必要なエンドポイント情報
・利用可能なAPIの一覧
などがまとめて入っています。
重要なのは、元の文章にもあった通り、このファイルは「読むだけで、手動で編集しない」ということです。
ここを書き換えてしまうと、ポート不一致や接続エラーの原因になり、「ClaudeでUnityが触れない=できない」と勘違いするループにハマります。
実際の通信はJSON-RPC + WebSocketで行われます。
例えば「シーン内オブジェクト一覧取得」APIを叩くと、Unity側がシーン情報を返し、それをClaudeが解釈して回答や次の操作に活用します。
安定して会話でUnityを操作するための最小構成
「会話でUnityを操作する」というと難しそうに聞こえますが、抑えるべき要素は意外とシンプルです。安定運用のための最小構成を、手順として整理しておきます。
まず、基本の流れを次のようにイメージしてください。
- Unityプロジェクト側でMCPサーバーを起動し、.unity-mcp-runtime.jsonを自動生成させることが、最初のステップになります。
- Claude Code側のプロジェクトにsettings.jsonを用意し、このUnity MCPへの接続情報と、利用したいSkillのルールをinstructionsとして記述することが必要です。
- Skillとして「シーン内オブジェクト一覧取得」「GameObjectのマテリアル変更」などの具体的な手順を定義し、会話の中でそれを使うように促す設計を行います。
ここまでできれば、Claude Code × Unity MCPの基本的な構成は完成です。
それぞれの役割を整理すると、次のようになります。
・Unity Editor実際のゲームシーンやオブジェクトの状態を持つ本体
・MCPサーバーUnityとClaudeをつなぐ通訳(JSON-RPC + WebSocket)
・Claude Code会話しながら操作内容を決め、MCPを通じてUnityを触る司令塔
この役割分担を頭に入れた状態でSkillとinstructionsを書くと、一気に安定感が増します。
よくあるトラブルと「Claudeでできない」と誤解されるポイント
最後に、Unity連携で「Claudeでできない」と誤解されがちな典型パターンと、その対処法を整理しておきます。
- Unityがそもそも起動していない、またはポートが変わっているため、.unity-mcp-runtime.jsonの内容と違いが出て接続に失敗しているケースが多く見られます。
- settings.jsonにinstructionsが存在せず、どのSkillを使ってUnityを触ればいいかをClaude側が理解できていないため、Skillがほとんど呼ばれないことがあります。
- GameObjectを直接いじるような曖昧な指示を会話で出してしまい、Skillで定義した「個別マテリアル設定」などの手順が使われずに、結果として不安定な挙動になってしまうケースも頻出します。
どれも「Claudeの限界」ではなく、環境・設計・指示の問題です。
ここを1つずつ潰していくことで、「ClaudeでUnityは無理だ」と感じていた状態から、「会話でUnityを操作する」レベルまで一気に到達できます。
Claudeで本当に「まだできない」ことも正しく知る
ここまで読むと、「ほとんど設定の話じゃん」と感じたかもしれません。
実際、現場で起きている「Claudeでできない」の多くは設定と設計の問題です。
とはいえ、AIとしてのClaudeに本当にまだ難しいこともあります。期待値を合わせるために、ざっくり押さえておきましょう。
まず、リアルタイム性が極端に要求される操作(ミリ秒単位での反応が必要なゲームプレイそのものなど)は、MCP経由でも厳しいです。この場合は、Claudeにはツールやスクリプトの生成・調整を任せ、本番の制御はエンジン側に任せるほうが現実的です。
次に、非常に長い履歴を完璧に覚え続けることもまだ不得意です。Unityプロジェクトの歴史や仕様を一気に丸投げして、「全部理解して全体設計を最適化して」と頼むと精度が落ちます。これは人間でも難しいですよね。
この場合は、プロジェクトを小さなサブタスクに分割して、「1セッション1目的」のように対話の単位を切ってあげると、ぐっと成果が安定します。
最後に、安全面・倫理面でNGなことは、そもそもできないように設計されています。これはむしろメリットであり、「やらせない方がいいことをやらない」のも、Claudeの重要な特徴のひとつです。
Claudeでできないに関する疑問解決
ここからは、「Claudeでできない」に関連してよく出てくる疑問を、実務目線でサクッと解消していきます。
Q1.Skillをちゃんと書いているのに無視されます。これはClaudeの限界ですか?
ほとんどの場合、限界ではなく設定の問題です。
特に多いのは、settings.jsonにinstructionsが書かれていない、または弱すぎるパターンです。
「このプロジェクトではUnity操作を行う際、必ず定義済みのSkillを優先的に利用してください」のように、Skill使用を明示的に命令してみてください。
さらに、Skillの説明文に具体的な手順(プロセス)を書き足すことで、呼ばれる頻度が大きく向上します。
Q2.Unityとつながらず、MCPの設定に何度も失敗します。ClaudeでUnity操作は無理なのでしょうか?
Unity MCPが安定動作すれば、会話でUnityを操作する環境は十分に実現可能です。
ただし、次の3点は必ず確認してください。
・Unityが起動しており、.unity-mcp-runtime.jsonに書かれたポート設定と実際のポートが一致しているかどうか。
・.unity-mcp-runtime.jsonを手動で編集していないかどうか。編集している場合は元の状態に戻すか再生成します。
・Claude Code側のsettings.jsonに、MCP接続先と、利用するSkill群のルールが明確に書かれているかどうか。
この3点をクリアすれば、「Claudeでできない」と感じていたUnity連携は、一気に日常的に使えるレベルになります。
Q3.「本当にできないこと」と「工夫すればできること」の見分け方は?
シンプルに言うと、「設定・設計・分割で解決できるか?」を一度冷静に考えてみることです。
例えば、
・Skillやinstructionsでプロセスを明示できるか?
・MCPや外部ツールで橋渡しできるか?
・タスクを小さく分けて、段階的に進めさせることができるか?
このあたりに解決の糸口が見えるなら、それはまだ工夫の余地がある「できる領域」です。
逆に、リアルタイムでの危険な操作や、法律・規約に明確に抵触するような処理は、そもそもやらせない方向で考えるべきです。
【警告】このままでは、AI時代に取り残されます。

あなたの市場価値は一瞬で陳腐化する危機に瀕しています。
今、あなたがClaude.aiの表面的な使い方に満足している間に、ライバルたちはAIを「戦略的武器」に変え、圧倒的な差をつけています。数年後、あなたの仕事やキャリアは、AIを本質的に理解している人材によって「奪われる側」になっていませんか?
未来への漠然とした不安を、確かな自信と市場価値に変える時です。
当サイトでは、ChatGPTをはじめとする生成AIの「なぜそう動くのか」という原理と、「どう活用すれば勝てるのか」という全体戦略を徹底的に解説している記事を多く掲載しています。
単なる操作方法ではなく、AIを指揮するリーダーになるための思考と知識を、網羅的に提供します。
取り残される恐怖を、未来を掴む確固たる自信に変えるための戦略図。あなたのキャリアを成功に導く決定的な一歩を、当サイトの記事を読んで踏み出してください! 読んだ瞬間から、あなたはAIの波に乗る側になります。
他の記事は下記のリンクからご覧いただけます。
まとめ
ここまで、「Claudeでできない」と感じたときに本当に考えるべきポイントを、Claude CodeのSkillsとUnity MCPの具体例を交えながら解説してきました。
ポイントをもう一度整理すると、
・「できない」は仕様・苦手・設定ミスの3種類に分けて考えると、次の一手が見えやすくなります。
・settings.jsonのinstructionsはClaude Codeにとって最も強い命令であり、「必ず守らせたい指示」はここに書くべきです。
・Skillが読まれないときは、優先順位、説明文の具体性、会話での指示内容の3点をセットで見直すことが重要です。
・Unity MCPは「ClaudeがUnityを操作可能な対象にする橋渡し」であり、.unity-mcp-runtime.jsonは読むだけで編集しないこと、ポートなどの基本を揃えることが安定運用のカギです。
・本当に「まだできない」領域もある一方で、多くの「Claudeでできない」は、設計と設定を変えれば十分にできるものに変わります。
もし今、「Claudeでできない」と感じていることがあれば、 ①仕様か? ②苦手か? ③設定ミスか?
と一度立ち止まって分類し、特に③に心当たりがあるなら、この記事で紹介したinstructionsとSkill設計、Unity MCPの見直しから手をつけてみてください。
「できない」と決めつけていたことが、「なんだ、ちゃんと設定すれば普通にできるじゃん」に変わった瞬間、Claudeはあなたの開発フローを一段上のステージに押し上げてくれます。


コメント