UnityとVisualStudioの連携

2025年3月26日

Unityは、スクリプト作成を外部エディタを使って進めていきます。
Windowsの無料統合開発環境のインストール、使い方について見ていきましょう

おすすめのエディター

C#標準組み込み版

必要な機能が標準で備わっています。最初はこれから始めればいいです

VisualStudio

Windows版
Mac版

汎用多機能、機能組み込み版

VisualStudio Code

標準でのインストールは、機能を削ぎ落としており、それだけ軽量になっています。
慣れてくると、様々な拡張機能が組み込むことで自分好みのエディタが作れますのでチャレンジしてください

トラブル

インテリセンスが効かない

UnityでVisual Studioを使っていて、UnityEngineなどUnity特有の型がIntelliSenseに反映されない場合、以下のポイントを一度確認してみてください。


1. Visual Studio Tools for Unity がインストールされているか

Visual StudioでUnityの開発を行う場合には「Visual Studio Tools for Unity」という拡張機能が必要です。

  • Visual Studio Installerを開き、「個別のコンポーネント」や「ワークロード」の中にある「ゲーム開発(Unity用)」「Visual Studio Tools for Unity」などにチェックが入っているかを確認してください。
  • もし入っていない場合はインストールします。

2. Unity 側の設定:外部スクリプトエディタが正しく設定されているか

Unityの「Edit (または Unity) > Preferences… > External Tools」(日本語の場合「Unity > Preferences…」「編集 > Preferences…」等の名前になっていることがあります) の中にある

  • External Script Editor
  • Visual Studio (Macの場合 Visual Studio for Mac) を選択
  • Generate .csproj files for:
  • “Local packages”や“Embedded packages”などにもチェックを入れておくと万全

になっているか確認してください。


3. Unity のエディターから Visual Studio を再度起動してみる

  1. Unityでスクリプトを右クリック → 「Open C# Project」または「Open C# Solution」がある場合、それを選択してVisual Studioを開く。
  2. あるいは、Unity Editor から任意のC#スクリプトをダブルクリックしてVisual Studioを開く。

この操作によって、Unityプロジェクトに関連する.sln(ソリューション)と.csproj(プロジェクトファイル)が正しく生成され、Visual StudioがUnityのAPIを参照できるようになります。


4. Visual Studio のプロジェクトが正しく読み込まれているか

Visual Studio上でソリューションファイル(*.sln)がきちんと読み込まれているかを確認します。

  • 「ソリューションエクスプローラー」にUnityに紐づくC#プロジェクト(Assembly-CSharp, Assembly-CSharp-Editorなど)が表示されているか。
  • もし何も出ていなかったり、古いプロジェクトや別プロジェクトを開いている場合は、Unityから改めてスクリプトを開いてみるか、ソリューションファイルを手動で読み込み直してみてください。

5. Visual Studioのキャッシュをクリアして再生成させる

上記で問題が解決しない場合、プロジェクトファイルやライブラリ周りで何らかの不整合が起きている可能性があります。下記手順を試すことで改善する場合があります。

  1. Unityを閉じる
  2. Unityプロジェクトのフォルダ内にある「.vs」「Library」「obj」など、再生成して問題ないフォルダを削除する
    • わからない場合は基本的に「Library」フォルダと「.vs」フォルダ、そして「obj」フォルダなどが候補
  3. Unityを再度開く(初回起動は時間がかかります)
  4. その後、再びスクリプトをVisual Studioで開いて、IntelliSenseが効くか確認する

6. パッケージやUnityのバージョンを確認する

  • 古いバージョンのUnityやVisual Studioを使用しており、対応するVisual Studio Tools for Unityが存在しない・動作が不安定、という可能性もあります。
  • Unity Hub などでバージョンが最新に近いかどうか、Visual Studio Installerでアップデートされているかどうかも確認してみてください。

これらの手順を踏んでいただくと、多くの場合IntelliSenseが復活することが多いです。もし依然としてUnityEngineなどの参照に波線が出る・候補が全く出ない場合は、バージョンの相性やプラグインの競合など、さらに細かな原因が考えられます。その際は、以下の情報を追加で確認・共有してみてください。

  • Unityのバージョン
  • Visual Studioのバージョン
  • Visual Studio Installerで追加コンポーネントに漏れがないか
  • Unityプロジェクトの場所(日本語やスペースを含んだパスだと稀にトラブルが出ることがある)
  • Visual Studioのエラーリストや出力ウィンドウに何か警告やエラーが出ていないか

エディタの設定項目確認

これはUnityのPreferences(環境設定)ウィンドウで、「External Tools」(外部ツール)の設定画面を表示しているスクリーンショットです。主に以下のような項目を設定できます。


1. External Script Editor

「External Script Editor」は、Unityで作成・編集したC#スクリプトをどのエディターで開くかを指定する項目です。
ここでは「Visual Studio 2022 [17.13.35913]」が選択されています。

  • ここでVisual Studioを選択しておくと、Unityエディター上でスクリプトファイルをダブルクリックした際に、Visual Studioでコードが開きます。
  • また、Visual Studio Tools for Unityが正しく連携し、IntelliSense等が有効になるための前提設定でもあります。

2. Generate .csproj files for:

ここは、Unityがどの範囲のパッケージやアセンブリに対して *.csproj(C#プロジェクトファイル)を生成するかを指定するオプションです。

  • Embedded packages, Local packages などにチェックを入れることで、パッケージとして組み込まれているスクリプトやローカルパッケージのスクリプトもVisual Studioで参照・IntelliSense補完できるようになります。
  • Registry packages や Built-in packages などにチェックを入れれば、それらのソースコードを含んだC#プロジェクトも生成されます(必要に応じてオンにします)。

この設定を使い、必要なパッケージのみプロジェクトに含めるか、すべて含めるかなどを調整できます。


3. Regenerate project files

「Regenerate project files」ボタンを押すと、Unityが改めて *.csproj や *.sln(ソリューション)を再生成します。

  • もしVisual StudioでIntelliSenseが効かない、または参照がおかしくなった場合、このボタンを押すと問題が解決することがあります。
  • Unityのバージョンアップやパッケージの追加・削除を行った後などにも、手動で再生成するとスムーズな場合があります。

4. Image application

「Image application」は、Unityエディター上で画像ファイル(.pngや.jpgなど)をダブルクリックしたときに、どのアプリケーションで開くかを指定するものです。

  • スクリーンショットでは「Open by file extension」となっているので、OSの既定のアプリケーション(拡張子ごとの関連付け)で開く設定になっています。

5. Revision Control Diff/Merge

ここは、Unityとバージョン管理システム(GitやSVNなど)を組み合わせて使用する際に、ファイルの差分比較やマージを行うツールを設定するための項目です。

  • 「Custom Tool」になっており、下部の「Tool Path」や「Two-way diff command line」等は空欄になっています。
  • 下のメッセージに「No supported VCS diff tools were found. Please set up a custom tool or install one of the following tools: …」とある通り、Unityが標準でサポートしている差分/マージツールが現在インストールされていない状態です。
  • もしGitなどで、Unity上から直接差分やマージを行いたい場合は、ここに書かれている「WinMerge」「Beyond Compare 4」「TortoiseMerge」などのツールをインストールし、パスを設定してあげると便利に使えます。

まとめ

  • External Script Editor
    Visual Studioを使うならここをVisual Studioに設定
  • Generate .csproj files for:
    IntelliSenseなどで補完したいパッケージにチェックを入れる
  • Regenerate project files
    プロジェクトファイルを再生成したいときに使用
  • Image application
    画像ファイルを開くアプリケーションの指定
  • Revision Control Diff/Merge
    GitやSVNなどのバージョン管理で使う差分/マージツールの設定

この画面は主に「Unityで使用するスクリプトエディターやツール類の関連付け」を行う場所だと考えるとよいでしょう。

Unity,VisualStudio,設計

Posted by hidepon