週末に個人でUnityのゲームを触っているのですが、C#のスクリプトを書くのが昔から苦手でした。Claude Codeを噛ませてみたら、思っていたより素直に動いてくれた一方、Unity特有のハマりどころもありました。その記録です。

Unityは、C#(シーシャープ)というプログラミング言語でゲームを組むための開発環境です。Claude Codeはそのプロジェクトフォルダを開いて、C#スクリプト(プログラムのファイル)の作成・修正を手伝えます。

プロジェクトの開かせ方

UnityのプロジェクトはAssetsフォルダの下にC#スクリプトが並びます。Claude Codeは、プロジェクトのルートフォルダで claude を起動すれば、そのスクリプト群を読み書きできます。

# Unityプロジェクトのフォルダで起動
cd ~/MyUnityGame
claude

最初に「このプロジェクトのスクリプトの構成を教えて」と頼むと、Claudeが Assets/Scripts/ あたりを読んで全体像を返してくれます。ここから作業が始まります。

C#スクリプト生成の頼み方

UnityのC#は、ただのC#ではありません。MonoBehaviour(Unityでスクリプトを動かすための土台)や、Start() Update() といったUnity独自の決まりごとがあります。これらの名前を覚える必要はありません。Claudeに「Unity用に書いて」と伝えるのが大事、という話です。

Claudeに頼むときは、この前提を最初に渡すと精度が上がります。

$ claude
> プレイヤーが矢印キーで左右に動くスクリプトを書いてください。
> Unity 2023相当、MonoBehaviour継承、物理はRigidbody2D(2Dの物理挙動を扱う部品)を使う前提で。

「Unityのバージョン」「2Dか3Dか」「物理を使うか」を最初に伝えると、的外れなコードが減ります。私が最初にこれを省いたら、3D前提のコードが出てきて2Dプロジェクトで動かず、やり直しになりました。

コンパイルエラーを貼って直す

Unityで一番効いたのが、コンパイルエラー(プログラムの文法ミスなどで動かせないというエラー)の修正です。

Unityエディタのコンソールに出る赤いエラー文を、そのままClaudeに貼り付けて「これを直して」と頼む。Claudeがエラーの該当箇所を読んで、修正案を出してくれます。

Assets/Scripts/Player.cs(15,9): error CS0103:
The name 'rb' does not exist in the current context

このエラー文をコピペするだけで、「rbの宣言が抜けている」と判断して直してくれる。C#のエラーメッセージは読み慣れないと意味が取りにくいので、これは助かります。

Unity特有のつまずきどころ

正直に書くと、Claude Codeだけでは完結しない部分があります。

Unityの作業には、コードだけでなくエディタ上の操作(オブジェクトの配置、Inspector(画面右側の設定パネル)での値の設定、部品の紐付け)が絡みます。ここはClaudeからは触れません。「スクリプトをアタッチ(部品として貼り付け)して、InspectorでSpeedを5にして」のような操作は、自分でエディタ上でやる必要があります。

なので私の使い方は、コードはClaude、エディタ操作は自分、という役割分担です。コードを書くのが苦手な私にとっては、これでも十分すぎるくらい楽になりました。

メタファイルとバージョン管理に注意

UnityはC#スクリプトごとに .meta ファイルを自動生成します。Gitで管理するとき、この .meta を消したり片方だけコミットしたりすると、Unity側で紐付けが壊れます。

Claudeに「いらないファイルを整理して」と曖昧に頼むと、.meta を巻き込む事故が起きやすい。私は .gitignore(Gitで管理しないファイルを指定する設定)の方針をCLAUDE.mdに書いて、.meta は触らせないようにしています。

Git操作そのものの頼み方は別記事に整理しました。

個人ゲーム制作での落としどころ

2週間ほど触って、私の中での役割分担が固まりました。

ゲームのロジック(移動・当たり判定・スコア計算)のC#はClaudeに書かせる。エディタ上の配置と調整は自分の手でやる。エラーが出たらコンソールの文面をそのまま貼って直してもらう。この3点で、週末の制作スピードが体感で倍くらいになりました。

「プログラムが書けないからゲームは無理」と思っていた人ほど、コード部分をClaudeに預ける入り方は相性が良いと思います。

まとめ

  • UnityプロジェクトのルートでClaude Codeを起動すればC#スクリプトを読み書きできる
  • 頼むときはUnityのバージョン・2D/3D・物理の有無を最初に伝えると精度が上がる
  • コンソールのコンパイルエラーを貼り付けて直すのが特に効く
  • エディタ上の操作(配置・Inspector設定)はClaudeでは触れないので役割分担する
  • .meta ファイルを巻き込む事故を避けるため、扱いをCLAUDE.mdで明示する
  • コードはClaude、エディタ操作は自分、の分担で個人制作のスピードが上がる