Version: 2023.1
言語: 日本語
ショートカットマネージャー
インクリメンタルビルドパイプライン

ビルド設定

Unity は、異なるプラットフォーム、および異なる設定で、アプリケーションをビルドすることができます。このドキュメントでは、ビルドのための、シーン、ターゲットプラットフォーム、設定の定義方法について説明します。

プラットフォームと設定を選択し、ビルドプロセスを開始するには、Build Settings ウィンドウを使用します。Build Settings ウィンドウにアクセスするには、Unity のメインメニューから File > Build Settings と選択してください。

ビルドのタイプ

Unity が生成するビルドには、以下の 2 つのタイプがあります。

  • リリース ビルド: アプリケーションの実行に必要なものだけが含まれています。これがデフォルトのビルドタイプです。
  • 開発 ビルド: スクリプトデバッグシンボルとプロファイラーが含まれています。開発ビルドオプションを選択すると、ディーププロファイリングサポートやスクリプトデバッグなどの追加的なオプションが使用可能になります。これらのオプションについては Generic Platform Settings セクションで説明しています。

開発中のイテレーションを高速化するために、Unity では インクリメンタルビルドパイプライン を使用します。これは、前回のビルド以降に変更があった場合にのみアーティファクトを再ビルドします。詳細は インクリメンタルビルドパイプライン を参照してください。

ビルド内のシーンの管理

アプリケーションのビルド時に、Unity は Scenes In Build ペインで選択された全てのシーンをビルドします。Unity は、リストに表示されている順序でシーンをビルドします。

リスト内のシーンは、追加、除外、削除、並び替えすることが可能です。

  • 現在開いている全てのシーンをリストに追加するには: Add Open Scenes を選択します。Project ウィンドウからシーンをリストにドラッグすることもできます。
  • リスト内のシーンをビルドから除外するには: そのシーンの隣にあるチェックボックスをオフにします。これにより、そのシーンはビルドから除外されますが、リストからは除外されません。
  • リストからシーンを削除するには: シーンを選択して Delete を押します。
  • シーンの順序を調整するには: リスト内のシーンをドラッグアンドドロップしてシーンの順序を入れ替えます。
Window、Mac、Linux のビルド設定
Window、Mac、Linux のビルド設定

Platform リスト

各ビルドには、必ずターゲットプラットフォームが必要です。Platform ペインには、ビルドのターゲットにできる全てのプラットフォームが表示されます。

コンピューターにインストールされている Unity のバージョンごとにプラットフォームのリストがあります。

必要なプラットフォームがリストにない場合は、以下のいずれかを行ってください。

  • Build Settings ウィンドウ内で:

    1. 追加したいプラットフォームを選択します。
    2. Install または Download を選択します。
  • Unity Hub > Installs 内で:

    1. 使用している Unity バージョンに表示されている 3 つの点を選択します。
    2. Add Modules を選択します。
    3. ガイドに従ってプラットフォームモジュールをインストールします。

ビルドのターゲットプラットフォームの変更は、以下の手順で行えます。

  1. ターゲットにしたいプラットフォームを選択します。
    ヒント: リスト内で、現在ターゲットプラットフォームとして選択されているプラットフォームの横に Unity のアイコンが表示されます。
  2. Switch Platforms を選択します。
    ターゲットプラットフォームに適した形式でアセットが再インポートされる必要がある場合は、切り替え処理に長い時間がかかることがあります。

Build settings

プラットフォームを選択すると、そのビルドで調整可能なオプションのリストが表示されます。全てのプラットフォームに適用される設定と、プラットフォーム固有の設定があります。

汎用のプラットフォーム設定

以下の設定は全てのプラットフォームに適用されます。

設定 機能
Development Build スクリプトデバッグシンボルとプロファイラーをビルドに含めます。アプリケーションをテストする時はこの設定を使用してください。
このオプションを選択すると、Unity によって DEVELOPMENT_BUILD スクリプト定義が設定されます。これにより、ビルドに、 DEVELOPMENT_BUILD を条件として設定するプリプロセッサーディレクティブが含まれます (プラットフォーム依存のコンパイルに関するドキュメント を参照してください)。
Autoconnect Profiler Unity プロファイラーをビルドに自動的に接続します。

このオプションは、Development Build を選択した場合にのみ使用可能です。
Deep Profiling Support プロファイラーの ディーププロファイリング を有効にします。これを有効にすると、プロファイラーは、これにより、プロファイラーはアプリケーションのすべての関数呼び出しを検査し、より詳細なプロファイリングデータを返します。このオプションを有効にするとスクリプトの実行が遅くなる場合があります。

このオプションは Development Build を選択した場合にのみ使用可能です。
Script Debugging スクリプトコードのデバッグを許可します。

このオプションは、Development Build を選択した場合のみ使用可能です。
このオプションは WebGL には使用できません。
Wait for Managed Debugger プレイヤーがスクリプトコードの実行前にデバッガーがアタッチされるのを待機するようにします。

このオプションは Script Debugging を選択した場合にのみ使用可能です。
IL2CPP Code Generation Unity が IL2CPP のコード生成を管理する方法を定義します。
このオプションは、スクリプティングバックエンドに Mono ではなく IL2CPP を使用している場合のみ使用可能です。
スクリプティングバックエンドを変更するには、Player Settings > Configuration > Scripting Backend と選択し、Mono から IL2CPP に変更してください。
Faster runtime ランタイムのパフォーマンス用に最適化されたコードを生成します。これがデフォルトの動作であり、以前のバージョンの Unity での動作です。
Faster (smaller) builds ビルドのサイズと反復処理に重点を置いて最適化されたコードを生成します。生成されるコードが少なくなり、作成されるビルドが小さくなりますが、(特に汎用コードで) ランタイムのパフォーマンスに影響が出る可能性があります。このオプションは、変更による反復処理を行う場合など、ビルド時間の短縮が重要な場合に役立ちます。
Compression Method プレイヤーのビルド時にプロジェクトのデータを圧縮します。これには、アセットシーンPlayer 設定GI データ が含まれます。このオプションは WebGL プラットフォームには使用できません。
Default Windows、macOS、Linux スタンドアロン、iOS では、デフォルトの圧縮はありません。Android では ZIP がデフォルトの圧縮です。ZIP の圧縮結果は LZ4HC よりも若干良くなりますが、データの解凍がより遅くなります。
LZ4 開発ビルドに役立つ高速な圧縮形式です。詳細は BuildOptions.CompressWithLz4 を参照してください。
LZ4HC 高圧縮型の LZ4 です。ビルドに時間がかかりますが、リリースビルド用により良い結果が得られます。詳細は BuildOptions.CompressWithLz4HC を参照してください。

Asset Import Overrides

インポートとプラットフォームの切り替え時間を短縮するために、全てのテクスチャインポート設定をローカルでオーバーライドすることができます。通常は、オーバーライドしたインポート設定で最終ビルドを公開することはありませんが、開発中は、特にアセット (この場合はテクスチャ) の見栄えにこだわらない場合は、反復時間の短縮に役立ちます。

プロジェクトの最初のインポートにアセットインポートのオーバーライドを設定するには、エディターの コマンドライン引数 -overrideMaxTextureSize および -overrideTextureCompression を使用します。

両方のオーバーライドオプションのデフォルト値は No Override です。

設定 機能
Max Texture Size インポートされるテクスチャの最大サイズをオーバーライドします。Unity は、この値と、テクスチャのインポート設定 に設定された Max Size 値の、どちらか低い方の値でテクスチャをインポートします。

テクスチャのインポートにかかる時間は、含まれるピクセルの数にほぼ比例するため、テクスチャの最大許容サイズを小さくすることで、インポート時間を短縮することが可能です。ただし、結果のテクスチャの解像度が低くなるため、この設定は開発中にのみ使用してください。
Texture Compression テクスチャのインポート設定 で設定されたテクスチャ圧縮オプションをオーバーライドします。

これは、いずれかの 圧縮テクスチャ形式 でインポートされたテクスチャにのみ影響します。
Force Fast Compressor より高速で低品質のテクスチャ圧縮モードを、それをサポートする形式 (BC7、BC6H、ASTC、ETC、ETC2) に使用します。この結果、通常は圧縮アーティファクトが増加しますが、多くの形式で、圧縮自体が 2 - 20 倍高速になります。

また、この設定は、Crunch テクスチャ圧縮形式を持つ全てのテクスチャで、それを無効にします。

この設定の効果は、全てのテクスチャのプラットフォームの テクスチャのインポート設定Compressor QualityFast に設定した場合と同様です。
Force Uncompressed テクスチャを圧縮せず、非圧縮形式を使用します。 テクスチャ圧縮のプロセス全体が省略されるため、インポートが高速になりますが、結果のテクスチャがより多くのメモリとゲームデータサイズを消費し、レンダリングパフォーマンスに影響を与える可能性があります。

この設定の効果は、全てのテクスチャのプラットフォームの テクスチャのインポート設定CompressionNone に設定した場合と同様です。

プラットフォームごとの設定

プラットフォームごとに固有のビルド設定もあります。

アプリケーションのビルド

アプリケーションをビルドするにあたっては、以下のいずれかを選択してください。

  • Build する: プレイヤーをコンパイルし、その後は何も実行しません。デフォルトのビルドはインクリメンタルです (常に完全な非インクリメンタル [クリーン] ビルドになる最初のビルドを除く)。インクリメンタルビルドの代わりに クリーンなビルド を強制するには、ドロップダウンメニューから Clean Build を選択してください。
  • Build and run: Player をコンパイルし、それをターゲットプラットフォームで開きます (詳細は、各プラットフォームのページを参照してください)。このオプションは、常にインクリメンタルビルドを使用します。
ショートカットマネージャー
インクリメンタルビルドパイプライン