Create Visual Studio Solution ビルド設定では、ビルドされたアプリではなく、Visual Studio ソリューション を生成することができます。このオプションは、Windows ビルドターゲットを使用している場合にのみ可能です。
Create Visual Studio Solution を有効にするには、Edit > Build Settings > Target Platform と移動し、Windows ビルドターゲットを選択し、Create Visual Studio Solution ビルド設定を有効にします。その後、Build を選択して、ソリューションを生成します。
Visual Studio ソリューションを生成すると、ビルドプロセスを変更することができます。例えば、以下が可能になります。
注意: Unity プロジェクトを再構築する前に、Visual Studio で行った変更を必ず保存し、バックアップしてください。バックアップをしないと、ビルド時に Unity が変更内容を上書きしてしまいます。
デフォルトでは、Unity は生成した Visual Studio ソリューションを、ビルドしたプロジェクトと同じディレクトリに保存します。生成されたソリューションには、Mono スクリプティングバックエンドを使用した場合は 3 つのプロジェクト、IL2CPP スクリプティングバックエンドを使用した場合は 4 つのプロジェクトが含まれます。
別のスクリプティングバックエンドに切り替えるには、Edit > Project Setting > Player > Settings for PC, Mac & Linux Standalone > Other Settings > Configuration と移動し、Scripting Backend を選択します。
ノート: Windows IL2CPP の構築は、Windows マシンでのみ可能です。
以下は、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 内からデバッグできます。 |
Unity は、Visual Studio 2015 をターゲットにした Visual Studio ソリューションを生成します。より新しいバージョンの Visual Studio を使用している場合、Visual Studio ソリューションを開く際に、 Retarget Projects ダイアログボックスが表示されることがあります。
Retarget Projects ダイアログでは、インストールされている Visual Studio のバージョンに合わせて Visual Studio ソリューションをアップグレードするように促されます。この提案を受け入れるには、OK を選択します。
Visual Studio には、さまざまなビルド構成オプションがあります。このセクションのすべての最適化およびデバッグに関するリファレンスは、Visual Studio ソリューションのみを対象としています。
構成 | 使用 | 説明 |
---|---|---|
Debug | C++ コードをデバッグする場合は、Debug 構成を使用します。 | * すべての最適化を無効にします。 * コード内のすべてのデバッグ情報を保持します。 * 実行速度が遅いコードになります。 |
Release | ゲームのプロファイルを作成するには、Release 構成を使用します。 | * コードの最適化を可能にします。 |
Master | ゲームの投稿や最終テストには、Master 構成を使用します。 | * プロファイラーを無効にします。 * Release の設定と同じビルド時間になります。 |
MasterWithLTCG IL2CPP スクリプティングバックエンドでのみ使用可能です。 |
IL2CPP スクリプティングバックエンドを使用している場合は、ゲームの提出と最終テストのために、 Master または MasterWithLTCG のいずれかを選択できます。 | * 生成された C++コード、 IL2CPP ランタイム、IL2CPP ガベージコレクションのリンクタイムコード生成を可能にします。 * 結果として、Master 構成と比較して、ビルド時間が大幅に長くなります。 * 結果として、アプリケーションの実行が速くなります。 |