Unity は、異なるプラットフォーム、および異なる設定で、アプリケーションをビルドすることができます。このドキュメントでは、ビルドのための、シーン、ターゲットプラットフォーム、設定の定義方法について説明します。
プラットフォームと設定を選択し、ビルドプロセスを開始するには、Build Settings ウィンドウを使用します。Build Settings ウィンドウにアクセスするには、Unity のメインメニューから File > Build Settings と選択してください。
Unity が生成するビルドには、以下の 2 つのタイプがあります。
開発中のイテレーションを高速化するために、Unity では インクリメンタルビルドパイプライン を使用します。これは、前回のビルド以降に変更があった場合にのみアーティファクトを再ビルドします。詳細は インクリメンタルビルドパイプライン を参照してください。
アプリケーションのビルド時に、Unity は Scenes In Build ペインで選択された全てのシーンをビルドします。Unity は、リストに表示されている順序でシーンをビルドします。
リスト内のシーンは、追加、除外、削除、並び替えすることが可能です。
各ビルドには、必ずターゲットプラットフォームが必要です。Platform ペインには、ビルドのターゲットにできる全てのプラットフォームが表示されます。
コンピューターにインストールされている Unity のバージョンごとにプラットフォームのリストがあります。
必要なプラットフォームがリストにない場合は、以下のいずれかを行ってください。
Build Settings ウィンドウ内で:
Unity Hub > Installs 内で:
ビルドのターゲットプラットフォームの変更は、以下の手順で行えます。
プラットフォームを選択すると、そのビルドで調整可能なオプションのリストが表示されます。全てのプラットフォームに適用される設定と、プラットフォーム固有の設定があります。
以下の設定は全てのプラットフォームに適用されます。
設定 | 機能 | |
---|---|---|
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 を参照してください。 |
インポートとプラットフォームの切り替え時間を短縮するために、全てのテクスチャインポート設定をローカルでオーバーライドすることができます。通常は、オーバーライドしたインポート設定で最終ビルドを公開することはありませんが、開発中は、特にアセット (この場合はテクスチャ) の見栄えにこだわらない場合は、反復時間の短縮に役立ちます。
プロジェクトの最初のインポートにアセットインポートのオーバーライドを設定するには、エディターの コマンドライン引数 -overrideMaxTextureSize
および -overrideTextureCompression
を使用します。
両方のオーバーライドオプションのデフォルト値は No Override です。
設定 | 機能 | |
---|---|---|
Max Texture Size | インポートされるテクスチャの最大サイズをオーバーライドします。Unity は、この値と、テクスチャのインポート設定 に設定された Max Size 値の、どちらか低い方の値でテクスチャをインポートします。 テクスチャのインポートにかかる時間は、含まれるピクセルの数にほぼ比例するため、テクスチャの最大許容サイズを小さくすることで、インポート時間を短縮することが可能です。ただし、結果のテクスチャの解像度が低くなるため、この設定は開発中にのみ使用してください。 |
|
Texture Compression |
テクスチャのインポート設定 で設定されたテクスチャ圧縮オプションをオーバーライドします。 これは、いずれかの 圧縮テクスチャ形式 でインポートされたテクスチャにのみ影響します。 |
|
Force Fast Compressor | より高速で低品質のテクスチャ圧縮モードを、それをサポートする形式 (BC7、BC6H、ASTC、ETC、ETC2) に使用します。この結果、通常は圧縮アーティファクトが増加しますが、多くの形式で、圧縮自体が 2 - 20 倍高速になります。 また、この設定は、Crunch テクスチャ圧縮形式を持つ全てのテクスチャで、それを無効にします。 この設定の効果は、全てのテクスチャのプラットフォームの テクスチャのインポート設定 で Compressor Quality を Fast に設定した場合と同様です。 |
|
Force Uncompressed | テクスチャを圧縮せず、非圧縮形式を使用します。 テクスチャ圧縮のプロセス全体が省略されるため、インポートが高速になりますが、結果のテクスチャがより多くのメモリとゲームデータサイズを消費し、レンダリングパフォーマンスに影響を与える可能性があります。 この設定の効果は、全てのテクスチャのプラットフォームの テクスチャのインポート設定 で Compression を None に設定した場合と同様です。 |
プラットフォームごとに固有のビルド設定もあります。
アプリケーションをビルドするにあたっては、以下のいずれかを選択してください。