Unity は、異なるプラットフォーム、および異なる設定で、アプリケーションをビルドすることができます。このドキュメントでは、ビルドのための、シーン、ターゲットプラットフォーム、設定の定義方法について説明します。
To select your platform and settings, and start the build process, use the Build Settings window. To access the Build Settings window: from Unity’s main menu, go to File > Build Settings.
Unity が生成するビルドには、以下の 2 つのタイプがあります。
For faster iteration during development, Unity uses an incremental build pipeline that rebuilds artifacts only if they have changed since the previous build. Artifacts include the output of build steps like asset serialization, code compilation, data compression and signing. This is the default for all builds, both release and development.
The incremental build pipeline automates the Scripts Only Build feature. The Scripts Only Build option is therefore only available in the Build Settings window for the platforms that do not use incremental builds.
Note: The incremental build pipeline is currently available only for the Standalone (Windows, Mac and Linux) Android, and WebGL platforms.
You can force a clean (non-incremental) build if you need to. For example, the following circumstances might require a clean build:
The build cannot know how a user callback impacts an asset, so it cannot determine when to rebuild an asset manipulated by a callback. In a development build, if you change a callback or its input data and you want Unity to rebuild the asset it impacts, force a clean build.
As an example, you might need to force a clean build when you use the callbacks IPreprocessShaders.OnProcessShader, PostProcessSceneAttribute and IPreprocessComputeShaders.OnProcessComputeShader, if you expect the result of these callbacks to have changed since the previous build, and you need the build to reflect those changes.
You do not need to force a clean build for:
If changes are not present after an incremental build, and you suspect there is a problem with the incremental build pipeline, force a clean build.
アプリケーションのビルド時に、Unity は Scenes In Build ペインで選択された全てのシーンをビルドします。Unity は、リストに表示されている順序でシーンをビルドします。
You can add, exclude, remove and reorder scenes in the list:
各ビルドには、必ずターゲットプラットフォームが必要です。Platform ペインには、ビルドのターゲットにできる全てのプラットフォームが表示されます。
コンピューターにインストールされている Unity のバージョンごとにプラットフォームのリストがあります。
必要なプラットフォームがリストにない場合は、以下のいずれかを行ってください。
Build Settings ウィンドウ内で:
In Unity Hub > Installs:
ビルドのターゲットプラットフォームの変更は、以下の手順で行えます。
プラットフォームを選択すると、そのビルドで調整可能なオプションのリストが表示されます。全てのプラットフォームに適用される設定と、プラットフォーム固有の設定があります。
以下の設定は全てのプラットフォームに適用されます。
設定 | 機能 | |
---|---|---|
Development Build | Include scripting debug symbols and the Profiler in your build. You should use this setting when you want to test your application. When you select this option, Unity sets the DEVELOPMENT_BUILD scripting define. Your build then includes preprocessor directives that set DEVELOPMENT_BUILD as a condition (see Platform-dependent compilations). |
|
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 | Compress the data in your Project when you build the Player. This includes Assets, Scenes, Player settings, and GI data. This option is not available for the Lumin and WebGL platforms. |
|
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 に設定した場合と同様です。 |
プラットフォームごとに固有のビルド設定もあります。
アプリケーションをビルドするにあたっては、以下のいずれかを選択してください。