Open8
Unity + AIコーディングどこまでできる?

Windsurf編
- まずはUnity HubでUniversal 3Dでプロジェクト作成
- 作成されたフォルダをWindsurfで開く
- Cascadeにシーンの編集ができるか聞いてみた
- やっぱりシーンの編集はできない
Unityの外部エディタにできるか?
- WindsurfはVSCodeのフォークなので、MS純正のUnityや.NETのプラグインの利用ができない
- なので、別途純正のVSCodeを起動してデバッグする必要がある
- WindsurfとVSCodeの2つのエディタで編集するのはちょっと微妙な気もするので、いったん別の方法を試す

Claude Code編
- Claude CodeはAPIキーが必要だが、Claude DesktopからMCP経由で呼び出すとキーがなくても動作する
- Claude DesktopでMCPの設定をした。ファイル操作をするためのfilesystemでリポジトリのディレクトリを追加している
- voltaを使っている場合、フルパスでの指定が必要
{
"mcpServers": {
"filesystem": {
"command": "/Users/hiroki/.volta/bin/npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/Users/hiroki/Desktop",
"/Users/hiroki/Downloads",
"/Users/hiroki/repos-claude-code"
]
},
"claude_code": {
"command": "/Users/hiroki/.volta/bin/claude",
"args": ["mcp", "serve"],
"env": {}
}
}
}
- その上で、シーンの編集ができるか聞いてみた
- WindsurfにしろClaude Codeにしろ、シーンの編集は得意とはしていないので、Unity Editorで編集することになる
- デバッグにはVSCodeが必要。Claude Code + VSCodeを併用するのが筋が良さそう。

Unity MCP編
- 別の方法として、Claude DesktopにUnity MCPを入れる
- https://github.com/justinpbarnett/unity-mcp
使い分けはどうする?
- Claude Desktopから、Unity MCPとClaude Codeの両方を使うことができる
- どちらを使ったほうがいいか聞いてみた
- 両方がいいらしい

作ってみる
- Claude Desktopを起点にUnity MCPとClaude Codeを使う前提で進める
仕様書の作成
- 上記を元にした仕様書をClaudeのアーティファクトとして作成
- 動作環境をiOS、Editorでのデバッグとした
- 実装をステップに分けてもらった
https://claude.ai/public/artifacts/e7cf164a-c96b-4fa3-91ad-dc9d5945594f
いよいよ実装
- 仕様書をmdファイルに保存して、新しいチャットを開始
- 「フェーズ1を実装して」
スクリプトエラー発生
Assets/Scripts/BallController.cs(17,13): error CS0246: The type or namespace name 'InputSystem_Actions' could not be found (are you missing a using directive or an assembly reference?)
- エラーを指摘したら直してくれで、実行できた

つづき
- 「フェーズ2を実装して」
- 同様に実装は終わるが、やはりエラーが発生。エラー修正中に、Claude Desktopの1スレッドの会話量の限界に達してしまい、新しい会話をスタート。すると、プロジェクトの最初から説明をしなければならず、かなり面倒
- コンポーネントの削除でDestroyImmidiateを利用すべきところをDestoryを使っていたのでランタイムエラー
- 手動でもEditorでタグなどを修正してやっと動いた

ここまでの感想
- Claude DesktopからMCP経由でClaude Code / Unityを操作する方法はある程度うまくいくが、ソースコードの行単位でAIに指示したいときなどは大変不便なので、あまり実用的ではなかった
- 次はVSCode + GitHub Copilotを使って、MCP経由でUnityを操作する形式を試してみる

VSCode + Unity MCP編
- Unityの外部EditorとしてVSCodeを利用(Unityプラグインなど入れてデバッグ可能状態にする)
- VSCodeのMCP設定でUnity MCPを入れて、Unityを操作できるようにする
- GitHub CopilotのAgent Modeで指示を出すと、下記の動きになる
- Unityのシーンなどに関する操作ならUnity MCP経由
- スクリプトに関する操作ならVSCode内のスクリプトを直接参照
- これが一番使いやすい

まとめ
- GitHub Copilotを契約して、VSCode + Unity MCPを使うのがベターな選択肢
- 理由はMS純正のUnityプラグインが使えるから
- なのでRoo Codeなどでも良いが、Copilotは定額で使えるので安心感がある
- ただし、Unity MCPの使い所は限られる
- UnityはSceneに対しての変更の差分がわかりにくため、Unity MCPで下手に変更されたくない
- 変更せずに質問や調査には十分使えそう