Version: 2021.3
ビルド設定
プロジェクト設定

インクリメンタルビルドパイプライン

開発中のイテレーションを高速化するために、Unity はインクリメンタルな (増分) ビルドパイプラインを使用しており、アプリケーションの一部が前回のビルド以降に変更された場合のみ再ビルドされます。これには、アセットシリアライゼーション、コードコンパイル、データ圧縮、署名などのビルドステップが含まれます。デフォルトでは、Unity はリリース用と開発用の両方のビルドにインクリメンタルビルドパイプラインを使用します。

インクリメンタルビルドパイプラインは、Scripts Only Build 機能も自動化します。 そのため、インクリメンタルビルドを使用しないプラットフォームでは、Scripts Only Build は Build Settings ウィンドウでのみ利用可能です。

インクリメンタルビルドパイプラインは、Mono と IL2CPP スクリプトバックエンド の両方で動作します。ただし、出力ファイルの構造は、プロジェクトがどちらのスクリプトバックエンドを使用するかによって変わります。

プラットフォームの互換性

Unity は以下のプラットフォームに対して、インクリメンタルビルドパイプラインをサポートします。

  • スタンドアロン (Windows、Mac、Linux)
  • WebGL
  • Android

非インクリメンタルビルドの作成

あるシナリオでは、インクリメンタルビルドパイプラインを使用しないビルドを作成することが有用または必要になる場合があります。

インクリメンタルでない、クリーンなビルドを作成するためには、以下を行います。

  1. Build Settings のウィンドウを開きます。
  2. Build ボタンの横のドロップダウンを選択します。
  3. Clean Build を選択します。

一般に、インクリメンタルビルド後に期待した変更がなく、インクリメンタルビルドパイプラインに問題があると考えられる場合は、クリーンビルドを作成します。この問題の最も一般的な理由は、アセットに影響を与えるビルドプロセスのコールバックの実装または変更によるものです。

ビルドプロセスは、実装したコールバックがどのようにアセットに影響を与えたかを知ることはできないので、アセットをどのように再ビルドするかを決定することができません。Unity は、ファイルの依存関係が変更された場合のみファイルを再生成します。つまり、コールバックが Unity が生成するファイルを変更し、ファイルの依存関係が変更されない場合、コールバックは既に変更されたファイルに変更を適用します。例えば、コールバックが Android App Manifest に新しいエントリーを追加し、Android App Manifest の依存関係が変更されない場合、コールバックは新しいエントリーを追加したままで、無効なファイルが生成されることになります。

開発ビルドの場合、コールバックまたはその入力データを変更し、コールバックが影響するアセットを Unity で再ビルドしたい場合は、クリーンビルドを作成します。リリースビルドの場合、Unity はすべてのアセットを再ビルドするので、クリーンビルドを作成する必要はありません。コールバックの例としては、コールバックまたはその入力データを変更し、コールバックが影響するアセットを Unity で再ビルドする場合、クリーンビルドを作成します。以下もコールバックの例です。

ノート: アセットに変更を加える場合、Unity はアプリケーションをビルドする際にそのアセットを再ビルドします。これには、それに影響するすべてのコールバックの処理も含まれます。つまり、アセットを変更する際にビルドプロセスのコールバックのみを変更する場合は、クリーン ビルドを作成する必要はありません。

ビルド設定
プロジェクト設定