🍔

Unity × Cursor 開発環境構築ガイド (MS製拡張不要版)

に公開

定番のAIエディタ「Cursor」をUnity開発で快適に使うための環境構築手順をまとめました。

まず前提として、Microsoft公式のC# Dev Kitはライセンスが必要です。その上、最近ではVSCodeからフォークしたエディタ(Cursorもこれに含まれます)ではMicrosoft製の拡張機能が動作しないように制限されるという動きも出てきたようです。

なのでこの記事では、Microsoftに依存しない拡張機能を使いつつ、快適な開発環境を作る方法を紹介します。

(参考) Microsoft is subtracting its C# extension from non-Microsoft VS Code builds

C#開発環境のセットアップ

では早速、C#を扱うための基本設定から。

DotRush拡張機能のインストール

C#のコード補完や構文解析のため、まずはDotRushをインストール。
エディタの拡張機能パネルから「DotRush」で検索すればすぐに見つかります。

F1キーを押し、DotRush: Pick Project or Solution files と打ち込みます。
すると.sln、.csprojの一覧が出ますので、そこで参照したいファイルを選択しましょう。

(projectの初回起動時にも自動で表示されるかも)

デバッグ設定 (.vscode/launch.json)

次はデバッグの設定。Unityエディタにアタッチするためのファイルを作ります。
プロジェクトのルートに.vscodeフォルダがなければ作成し、その中にlaunch.jsonという名前でファイルを作成。以下の内容を記述してください。

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Unity Debugger",
            "type": "unity",
            "request": "attach"
        }
    ]
}

参考: https://github.com/JaneySprings/DotRush?tab=readme-ov-file#debugging-unity-projects

ワークスペース設定 (.vscode/settings.json)

.vscode/settings.jsonに以下のような設定をしておくと快適になります。
特にUnityが自動で生成する.metaファイル、これをエクスプローラーから非表示にするだけでも見た目がスッキリしておすすめです。
.sln.csprojも大量に表示されるので一緒に指定したいところですが、Cursor終了後に元に戻されてしまうので、次のユーザー設定で指定します。

{
    "explorer.excludeGitIgnore": true, // .gitignoreの設定をfiles.excludeにも反映する
    "files.exclude": {
        "**/*.meta": true
        // その他、IDEに表示したくないファイルを記述
    },
    "search.exclude": {
        // 検索から除外したいファイルを記述。たまに開くけど検索結果には要らないもの
        // "search.useIgnoreFiles": true(デフォルト)と .gitignoreも同時に参照するから、細かく制御したいときはここで上書き
    }
}

参考: https://code.visualstudio.com/docs/reference/default-settings

ユーザー設定

Macの場合、⌘ + ,を押して設定画面を出しましょう。(windowsはCtrl + ,)

*.csproj
*.sln

を指定します。

Unityから直接Cursorを起動する

エディタ側の準備が整ったら、次はUnityとの連携です。
Unityでスクリプトをダブルクリックした時、Cursorが立ち上がるように設定しましょう。
Visual Studio用の公式拡張を、Cursor向けにForkしたものがあります。これをUnityのPackage Manager経由でインストールします。リポジトリはこちら。
https://github.com/boxqkrtm/com.unity.ide.cursor
インストール後、Unityの Preferences > External ToolsCursor を選択すれば設定完了です。

Cursorのインデックス設定

Cursor AIのパフォーマンスと精度を最大限に引き出すため、不要なファイルをインデックス対象から除外します。

参考: Cursor公式ドキュメント
コードベースの無関係な部分を除外することで、Cursor は大規模なコードベースのインデックス作成を高速化し、コンテキストの検索時にファイルをより高速かつ正確に見つけられるようになります。

.cursorignore

プロジェクトのルートに置くことで、指定したファイルをCursorのコンテキスト(@で参照するファイル一覧)から除外できます。
挙動は.gitignoreとほぼ同じ。ただ、.gitignoreで除外したファイルでも!を付ければ強制的に含められる、という点が異なります。

.cursorindexingignore

一方こちらは、AIの学習対象そのものからファイルを除外するための設定です。無駄なファイルをインデックス対象から外せば、それだけでCursorの応答速度も精度も向上します。

無駄なファイルをインデックス対象から外す。それだけでCursorの応答速度も精度も向上します。

プロジェクトのルートに.cursorindexingignoreファイルを作成し、以下のような内容を記述すると良いです。

# Unity固有のファイルを除外
**/*.meta
**/*.prefab
**/*.unity
**/*.asset
# その他いろいろ

ただ、これらUnity固有のファイルにもコンテキストが含まれていると考える事もできるので、あえてignoreしない方が良いのかも? ここらへんはまだ試行錯誤中です。

ちなみに、画像(.png, .jpg)、モデル(.fbx)、音声(.wav)といった一般的なバイナリファイルは、Cursorがデフォルトでインデックス対象から除外してくれます。そのため、このファイルにわざわざ記述する必要はありません。

詳しくは公式ドキュメントも確認してみてください。

参考: Default ignore list - Cursor

BreakPointを用いたデバッグ

DotRushを入れておけばBreakPointを使ったデバッグが可能です。

  • F5: Unityエディタにアタッチしてデバッグ開始。C#のブレークポイントでしっかり止まります。
  • Shift + F5: デバッグセッションを終了。

これで、Cursorを使った快適なUnity開発の準備は万端です。ぜひ、この環境を使いこなしてみてください。

DotRushはこりんさんのポストで知りました。感謝です🙏
https://x.com/korinVR/status/1927929730583417069

Discussion