メインコンテンツまでスキップ

Cursor + Unity ゲーム開発:完全統合ガイド

Cursor Unity Integration

Unity は最も人気のあるゲームエンジンの一つであり、Cursor の AI 機能と組み合わせることで、ゲーム開発ワークフローを劇的に加速できます。このガイドでは、Unity 開発のための Cursor のセットアップに必要なすべてのことをカバーします。プロジェクト設定から AI 支援スクリプト作成までです。

前提条件​

開始する前に:

  • Unity 2022.3 LTS 以降がインストールされていること
  • Cursor Pro プラン(大規模プロジェクトには推奨)
  • .NET SDK(C# 言語サーバーサポート用)
  • Scripts フォルダがある Unity プロジェクト

ステップ 1:Unity で C# プロジェクトファイルを生成する​

Cursor は IntelliSense および AI コンテキスト理解のために .csproj ファイルが必要です。

外部ツールを有効にする​

  1. Unity エディターを開く
  2. Edit > Preferences(Windows)または Unity > Settings(macOS)に移動
  3. External Tools にナビゲート
  4. External Script Editor を Cursor に設定(または Cursor の実行ファイルを参照)
  5. Generate .csproj files for: にチェック
    • Registry packages
    • Build-in packages
    • Local packages
    • Embedded packages
  6. Regenerate project files をクリック

代替方法:手動 VS Code パッケージ​

Cursor がリストに表示されない場合:

  1. Unity で Visual Studio Code Editor パッケージをインストール:
    • Window > Package Manager
    • "Visual Studio Editor" を検索
    • 最新バージョンをインストール/更新
  2. External Script Editor を Visual Studio Code に設定
  3. プロジェクトファイルを再生成

ステップ 2:Cursor で Unity プロジェクトを開く​

方法 1:Unity から​

  1. Unity の Project ウィンドウで任意の C# スクリプトをダブルクリック
  2. Unity がプロジェクトを読み込んで Cursor を開きます

方法 2:直接開く​

# Unity プロジェクトに移動
cd ~/MyUnityProject

# Cursor で開く
cursor .

方法 3:.sln ファイルを使用​

# ソリューションファイルを直接開く
cursor MyUnityProject.sln

ステップ 3:IntelliSense を設定する​

C# Dev Kit を確認​

  1. Cursor で、Extensions を開く(Cmd/Ctrl + Shift + X)
  2. C# Dev Kit がインストールされていることを確認
  3. インストールされていない場合は、マーケットプレイスからインストール

プロジェクトの読み込みを確認​

Unity プロジェクトを開いた後:

  1. C# 言語サーバーが読み込まれるのを待つ(ステータスバーに読み込み中表示)
  2. 任意のスクリプトファイルを開く
  3. transform. と入力して IntelliSense をテスト — Unity API の候補が表示されるはず

IntelliSense のトラブルシューティング​

IntelliSense が機能しない場合:

# コマンドラインからプロジェクトファイルを再生成
# macOS の場合
/Applications/Unity/Hub/Editor/2022.3.x/Unity.app/Contents/MacOS/Unity \
-quit -batchmode -projectPath ~/MyUnityProject

# キャッシュされたプロジェクトファイルを削除
rm -rf ~/MyUnityProject/.vscode
rm -f ~/MyUnityProject/*.sln
rm -f ~/MyUnityProject/Assembly-CSharp*.csproj

その後、Unity の External Tools 設定から再生成してください。

ステップ 4:Cursor の Unity ルール​

.cursor/rules/unity-development.mdc を作成:

---
description: 'Cursor の Unity 開発ガイドライン'
globs: ['Assets/**/*.cs']
alwaysApply: true
---

# Unity 開発ルール

## コードスタイル
- パブリックメソッドとプロパティには PascalCase を使用
- プライベートフィールドには camelCase を使用(アンダースコア接頭辞)
- Inspector 公開にはパブリックフィールドの代わりに SerializeField を使用
- Awake() または Start() でコンポーネント参照をキャッシュ

## パフォーマンス
- Update() で GetComponent() を避ける — Start() でキャッシュ
- 頻繁にインスタンス化されるオブジェクトにはオブジェクトプーリングを使用
- RaycastAll より RaycastNonAlloc を優先
- Update() チェックの代わりにコルーチンを使用して時間操作を行う

## パターン
- 共有データ/設定には ScriptableObjects を使用
- ゲームロジックは MonoBehaviours で、データは ScriptableObjects で実装
- 疎結合通信には Events/Actions を使用
- 継承よりコンポジションを優先

ステップ 5:AI 支援 Unity スクリプト作成​

コンポーネントの生成​

プロンプト例:

2D プラットフォーマーのプレイヤーコントローラースクリプトを作成:
- 加速/減速によるスムーズな移動
- ボタン長押しによる可変ジャンプ高さ
- 寛容なジャンプのためのコヨーテタイム
- レイキャストを使用した接地判定
- 新しい Input System を使用

MonoBehaviours のリファクタリング​

プロンプト例:

この PlayerController を以下を使用してリファクタリング:
1. ステートマシンパターン(Idle、Run、Jump、Fall ステート)
2. 移動パラメータ用の ScriptableObject
3. イベントベースの体力システム
4. 入力処理と移動ロジックの分離

エディターツールの作成​

カスタムエディターウィンドウを作成:
- コライダーがないシーン内のすべての GameObject を一覧表示
- BoxCollider または SphereCollider を追加するボタンを表示
- レイヤーごとのオブジェクト数を表示
- 「すべて選択」ボタンがある

ステップ 6:Cursor で Unity をデバッグ​

デバッガーをアタッチ​

  1. Cursor に Unity 拡張機能をインストール
  2. Cursor で Unity プロジェクトを開く
  3. F5 を押すか Run > Start Debugging に移動
  4. Unity Debugger を選択
  5. Unity でプレイモードに入る
  6. ブレークポイントがヒットするようになります

コンソール統合​

Cursor のターミナルを使用してバッチモードで Unity を実行:

# コマンドラインから Unity テストを実行
Unity -batchmode -quit -projectPath ~/MyUnityProject -executeMethod BuildScript.RunTests

ステップ 7:Unity MCP サーバー(上級)​

高度な統合には、Unity MCP サーバーを使用します:

セットアップ​

  1. Unity MCP パッケージをインストール:
# Unity Package Manager で
# git URL から追加: https://github.com/unity-mcp/server.git
  1. Cursor の MCP 設定で構成:
{
"mcpServers": {
"unity": {
"command": "dotnet",
"args": ["run", "--project", "path/to/unity-mcp"]
}
}
}

できること​

  • シーン階層をクエリ
  • GameObject を作成/変更
  • コンポーネントプロパティを調整
  • Cursor からビルドとテスト

例:

[@unity] 位置 (0, 5, 0) に "EnemySpawner" という名前の新しい GameObject を作成し、スポーン間隔が 2 秒の MonoBehaviour スクリプトを追加。

ベストプラクティス​

プロジェクト構造​

Assets/
Scripts/
Core/ # ゲームマネージャー、シングルトン
Player/ # プレイヤー関連スクリプト
Enemies/ # 敵 AI とコントローラー
UI/ # UI コントローラーとマネージャー
Utils/ # 拡張メソッド、ヘルパー
ScriptableObjects/
PlayerData/ # プレイヤー設定
EnemyData/ # 敵設定
LevelData/ # レベル設定
Editor/ # カスタムエディターツール

バージョン管理​

.gitignore に追加:

# Unity
[Ll]ibrary/
[Tt]emp/
[Oo]bj/
[Bb]uild/
[Bb]uilds/
[Ll]ogs/
[Uu]ser[Ss]ettings/

# Cursor
.cursor/
.vscode/

パフォーマンスプロファイリング​

Cursor を使用してパフォーマンスを分析:

この Update() メソッドを確認し、パフォーマンス問題を特定:
[コードを貼り付け]

以下を使用した最適化を提案:
1. オブジェクトプーリング
2. キャッシュされた参照
3. 効率的なデータ構造

一般的な問題と修正​

問題解決策
IntelliSense が機能しないUnity で .csproj ファイルを再生成
ブレークポイントがヒットしないUnity がプレイモードであることを確認
Unity API の候補がないC# Dev Kit がインストールされているか確認
プロジェクトの読み込みが遅いLibrary/ フォルダーを Cursor のインデックスから除外
AI が Unity 以外のコードを提案Unity ルールを .cursor/rules/ に追加

クイックコマンド​

タスクコマンド
プロジェクトファイルを再生成Unity > Edit > Preferences > External Tools > Regenerate
Cursor でスクリプトを開くUnity でスクリプトをダブルクリック
デバッガーをアタッチCursor で F5
Unity API を検索Cursor チャットで @ 記号を使用

関連リソース​