Create Visual Studio Solution ビルド設定にすると、プレイヤーをビルドする代わりに、Visual Studio のソリューションを生成することができます。Visual Studio ソリューションを生成すると、ビルドプロセスを変更することができます。例えば、以下のことが可能になります。
ノート: このオプションは、Windows ビルドターゲットを使用している場合にのみ有効です。
注意:Unity プロジェクトを再構築する前に、Visual Studio で行った変更を必ず保存し、バックアップしてください。バックアップをしないと、ビルド時に Unity が変更内容を上書きしてしまいます。
デフォルトでは、Unity は生成した Visual Studio ソリューションを、ビルドしたプロジェクトと同じディレクトリに保存します。
Unity プロジェクトで使用するスクリプティングバックエンドによって、Unity が生成する Visual Studio ソリューションに含まれるプロジェクト数が異なります。Mono スクリプティングバックエンドの場合、ソリューションには 3 つのプロジェクトが含まれます。IL2CPP スクリプティングバックエンドの場合、ソリューションには 4 つのプロジェクトが含まれます。
ノート: ノート: Windows IL2CPP の構築は、Windows マシンでのみ可能です。
Unity は、Visual Studio 2015 をターゲットにした Visual Studio ソリューションを生成します。これより新しいバージョンの Visual Studio を使用している場合、Visual Studio ソリューションを開く際に、Retarget Projects ダイアログボックスが表示されることがあります。
Retarget Projects ダイアログでは、インストールされている Visual Studio のバージョンに合わせて Visual Studio ソリューションをアップグレードするように促されます。この提案を受け入れるには、OK を選択します。
以下は、Unity が Visual Studio ソリューション用に生成するプロジェクトの一覧です。
| プロジェクト | 説明 |
|---|---|
|
projectName (プロジェクト名を表します) |
これはメインプロジェクトです。Visual Studio はこのプロジェクトを最終的なアプリケーションの実行ファイル内に作成します。ほとんどの場合は、ここに変更を加えます。 |
|
UnityData (projectName プロジェクト内に格納) |
このプロジェクトには、アセットなど、プロジェクトの構築に必要な Unity 固有のファイルがすべて含まれています。 |
| UnityPlayerStub | これは UnityPlayer.dll 用のスタブライブラリです。Unity はこれを使用して、実行ファイルを UnityPlayer.dll にリンクし、利用可能な UnityPlayer.dll API を公開します。 |
|
Il2CppOutputProject (IL2CPP スクリプティングバックエンドのみ) |
このプロジェクトには以下が含まれています。 • Unity がマネージセンブリから変換して生成した C++ コード • IL2CPP ランタイムのソースコード • IL2CPP のガベージコレクター このコードは Visual Studio 内からデバッグできます。 |
Visual Studio には、さまざまなビルド構成オプションがあります。このセクションのすべての最適化およびデバッグに関するリファレンスは、Visual Studio ソリューションのみを対象としています。オプションを選択するには、Release をクリックし、ドロップダウンメニューから選択します。
| 設定方法 | 用途 | 説明 |
|---|---|---|
| Debug | C++ コードをデバッグする場合は、Debug 設定を使用します。 |
• すべての最適化を無効にします。 • コード内のすべてのデバッグ情報を保持します。 • 実行速度が遅いコードになります。 |
| Release | ゲームのプロファイルを作成するには、Release 設定を使用します。 | • コードの最適化を有効にします。 |
| Master | ゲームの投稿や最終テストには、Master 設定を使用します。 | • プロファイラーを無効にします。 • Release 設定と同じビルド時間になります。 |
| MasterWithLTCG - IL2CPP スクリプティングバックエンドでのみ使用可能です。 | IL2CPP スクリプティングバックエンドを使用している場合は、ゲームの提出と最終テストのために、Master または MasterWithLTCG のいずれかを選択できます。 | • 生成された C++ コード、IL2CPP ランタイム、IL2CPP ガベージコレクションのリンクタイムコード生成を可能にします。 • Master 設定と比較してビルド時間が大幅に長くなります。 • 結果のアプリケーションの実行が速くなります。 |