Version: Unity 6.0 (6000.0)
言語 : 日本語
Set up the Android SDK Target API
Android キーストア

Android Player 設定

このページでは、Android プラットフォームでの Player 設定の詳細について説明します。一般的な Player 設定については、Player 設定を参照してください。

Android の Player 設定。
Android の Player 設定。

プロパティのドキュメントは、Player UI のそれぞれのセクションに応じてグループ化されています。

Icon

Icon セクションを使用して、デバイスのアプリケーションを表すアイコンを指定します。

Android のアイコン設定。
Android のアイコン設定。
設定 説明
Adaptive Android 8.0 (API レベル 26) 以降を実行するデバイスでアプリケーションを表すさまざまなサイズのテクスチャを指定します。
Round Android 7.1 (API レベル 25) 以降を実行するデバイスでアプリケーションを表すさまざまなサイズのテクスチャを指定します。
Legacy Android 7.1 (API レベル 25) より前のバージョンを実行するデバイスでアプリケーションを表すさまざまなサイズのテクスチャを指定します。

Resolution and Presentation

Resolution and Presentation セクションの以下の設定を使用して、画面の表示をカスタマイズします。

Resolution

Resolution セクションを使用して、画面モードとデフォルトサイズをカスタマイズします。

設定 説明
Run Without Focus このプロパティを有効にすると、画面分割モードをサポートするデバイスなど、フォーカスされていないものの表示されている状態であっても、アプリケーションの実行が維持されます。無効にすると、アプリケーションは一時停止しますが、表示されたままになります。
Fullscreen Mode デバイスでのウィンドウの表示方法を指定します。これによって起動時のデフォルトのウィンドウモードが設定されます。
Fullscreen Window アプリケーションウィンドウがデバイスの全画面のネイティブ解像度で表示されます。全画面のウィンドウを埋めるために、Unity はアプリケーションのコンテンツをスケールします。Resolution Scaling Mode は、Unity がコンテンツをスケールする方法を制御します。このモードでは、ナビゲーションバーは常に非表示になります。
Windowed アプリケーションは標準の、全画面ではない移動可能なウィンドウを使用します。ウィンドウのサイズはアプリケーションの解像度によって異なります。このモードでは、アプリケーションはデフォルトでサイズ変更可能です。アプリケーションのサイズが変更されないようにするには、Resizeable Activity を無効にします。
Resizeable Activity ユーザーがアプリケーションのサイズを変更できるかどうかを指定します。
この設定は、Android 携帯電話およびタブレットのアプリケーションでマルチウィンドウ機能を有効にします。詳細については、Google の開発者向けドキュメントを参照してください。
Default Window Width アプリケーションウィンドウのデフォルトの幅 (ピクセル単位)。このオプションは、Fullscreen ModeWindowed に設定されている場合にのみ使用できます。
Default Window Height アプリケーションウィンドウのデフォルトの高さ (ピクセル単位)。このオプションは、Fullscreen ModeWindowed に設定されている場合にのみ使用できます。
Minimum Window Width アプリケーションウィンドウの最小幅 (ピクセル単位)。このオプションは、Fullscreen ModeWindowed に設定されている場合にのみ使用できます。
Minimum Window Height アプリケーションウィンドウの最小の高さ (ピクセル単位)。このオプションは、Fullscreen ModeWindowed に設定されている場合にのみ使用できます。
Hide Navigation Bar ウィンドウの上部に表示されるナビゲーションバーを非表示にするかどうかを指定します。
セーフエリア外のレンダリング このオプションを有効にすると、アプリケーションが、切り取られた (ノッチされた) ディスプレイの領域を含め、レンダリングするすべての利用可能なスクリーンスペースを使用できます。詳細については、Android のディスプレイカットアウトのサポートドキュメントを参照してください。この設定の動作は、Android のバージョンによって異なります。以下の表に概要を示します。
Android 15 and newer アプリケーションがデフォルトでスクリーンスペース全体を使用するため、この設定には効果がありません。詳細については、Android ドキュメントを参照してください。
Android 11 to 14 有効にすると、アプリケーションは利用可能なスクリーンスペース全体を使用します。無効にすると、システムバー (デバイスの上部または下部) 内の場合にのみ、アプリケーションはカットアウトの周囲にあるスペースのみを使用し、それ以外の場合はカットアウト部分の上に黒色のバーが表示されます。アプリケーションがカットアウトの周囲にあるスペースを使用する場合の詳細については、Android ドキュメントを参照してください。
Android 10 and older 有効にすると、アプリケーションはデバイスの短い方の端 (上側または下側など) のカットアウトの周囲にあるスクリーンスペースを使用します。ただし、アプリケーションはデバイスの長い方の端 (側面など) のカットアウトを黒色のバーでブロックします。アプリケーションが短い方のエッジにあるカットアウトの周囲のスペースを使用する方法の詳細については、Android ドキュメントを参照してください。無効にすると、システムバー内の場合にのみ、アプリケーションはカットアウトの周囲にあるスペースを使用し、それ以外の場合はカットアウト部分の上に黒色のバーが表示されます。アプリケーションがカットアウトの周囲にあるスペースを使用する場合の詳細については、Android ドキュメントを参照してください。
Optimized Frame Pacing このオプションを有効にすると、Unity はフレームを均等に分配してフレームレートの変動を抑え、より滑らかな体験を作成できます。

解像度スケーリング

Resolution Scaling セクションを使用して、画面解像度のスケーリングに関する設定をカスタマイズします。デバイスのネイティブ解像度より低い解像度を使用すると、パフォーマンスとバッテリー寿命が改善する可能性があります。

設定 説明
Resolution Scaling Mode アプリケーションの解像度をスケールするかどうか、およびその方法を指定します。スケーリングをネイティブの画面解像度以下に設定できます。低い解像度を使用すると、パフォーマンスとバッテリー寿命が改善する可能性があります。
Disabled 解像度のスケーリングを適用せず、アプリケーションはデバイスのネイティブ画面解像度でレンダリングします。
FixedDPI ターゲット DPI を使用して解像度のスケーリングを適用します。これを使用して、パフォーマンスとバッテリー寿命を最適化する、または特定の DPI 設定をターゲットにすることができます。
Letterboxed レンダリングされた出力に黒色のバーを追加して、コンテンツが引き伸ばされないようにします。このプロセスはレターボックスと呼ばれます。
Target DPI アプリケーションの解像度。デバイスのネイティブ画面 DPI がこの値よりも高い場合、Unity はこの設定に合わせてアプリケーションの解像度をダウンスケールします。Unityは、min(Target DPI * Factor / Screen DPI, 1) を使用してスケールを計算します。ここで、FactorQuality 設定Resolution Scaling Fixed DPI Factor です。

注意このオプションは、Resolution Scaling ModeFixed DPI に設定されている場合にのみ表示されます。
Reset resolution on window resize ネイティブウィンドウサイズが変更されたときに、画面解像度を新しいネイティブウィンドウサイズに設定するかどうかを指定します。Resolution Scaling ModeFixed DPI に設定すると、Unity は Fixed DPI プロパティに基づいて解像度を再計算します。
Blit Type 最終的な画像を画面にレンダリングするために転送を使用するかどうかを制御します。転送の使用については、ほとんどのデバイスと互換性がありますが、通常は転送を使用しない場合よりも低速になります。
Always Unity はオフスクリーンバッファにレンダリングし、転送を使用してバッファの内容をデバイスのフレームバッファにコピーします。これはほとんどのデバイスと互換性がありますが、通常は転送を使用しない場合よりも低速になります。
Never Unity はデバイスの OS によって指定されたフレームバッファにレンダリングします。これに失敗した場合、アプリケーションはデバイスログに 1 回限りの警告を出力します。これは通常、転送を使用するよりも高速ですが、すべてのデバイスと互換性があるわけではありません。
Auto Unity は可能な場合は、デバイスの OS によって指定されたフレームバッファにレンダリングします。これに失敗した場合、Unity はデバイスコンソールに警告を出力し、転送を使用して最終画像を画面にレンダリングします。

Supported Aspect Ratio

Supported Aspect Ratio セクションを使用して、サポートするデバイスのアスペクト比に関する設定をカスタマイズします。

設定 説明
Aspect Ratio Mode アプリケーションがサポートする最大アスペクト比を指定します。デバイスのアスペクト比がこのアスペクト比より大きい場合、Unity はこのアスペクト比をアプリケーションに使用し、アプリケーションが引き伸ばされないように黒色のバーを追加します。
Legacy Wide Screen (1.86) アプリケーションは、Android の従来のワイド画面のアスペクト比までのアスペクト比をサポートします。
Native Aspect Ratio アプリケーションは Android のネイティブアスペクト比までのアスペクト比をサポートします。
Custom アプリケーションは、Maximum で設定したアスペクト比までのアスペクト比をサポートします。
Minimum カスタムの最小アスペクト比。この値は Maximum 未満であることが必要です。

ノート: この設定は、Aspect Ratio ModeCustom に設定したときにのみ表示されます。
Maximum カスタムの最大アスペクト比。この値は Minimum より大きいことが必要です。

ノート: この設定は、Aspect Ratio ModeCustom に設定したときにのみ表示されます。

Miscellaneous

設定 説明
Show Loading Indicator ローディングインジケーターが表示されるかどうか、どのように表示されるかを指定します。
Don’t Show ローディングインジケーターは表示されません。
Large 大きなローディングインジケーターが表示されます。
Inversed Large 大きなローディングインジケーターが反転色で表示されます。
Small 小さなローディングインジケーターが表示されます。
Inversed Small 小さなローディングインジケーターが反転色で表示されます。

向き

プロパティ 説明
デフォルトの向き : デバイスの画面内でのアプリケーションウィンドウの向きを指定します。

ノート: この設定に設定した値は、Unity によって Android、iOS、UWP 間で共有されます。
Portrait : アプリケーションの下部が画面の下部と揃う縦向き。
Portrait Upside Down : アプリケーションの下部が画面の上部に揃う縦向き。
Landscape Right : アプリケーションの右側が画面の上部に揃う横向き。
Landscape Left : アプリケーションの左側が画面の上部に揃う横向き。
Auto Rotation : 画面は、Allowed Orientations for Auto Rotation セクションで指定した任意の向きに回転できます。
Auto Rotation Behavior Default OrientationAuto Rotation に設定されている場合に、デバイスの回転センサーと向きの設定に基づいてアプリケーションウィンドウの向きを調整する方法を指定します。

ノート:このプロパティは、Default OrientationAuto Rotation に設定したときのみ表示されます。デフォルトでは、このプロパティは User に設定されています。
User アプリケーションウィンドウは、デバイスの向きの設定に応じて向きを調整します。ユーザーがデバイスの自動回転の向き設定をロックすると、アプリケーションウィンドウは Allowed Orientations for Auto Rotation セクションで設定された環境設定に従いません。ユーザーがデバイスの自動回転の向き設定をオフにした場合、アプリケーションウィンドウは設定された環境設定に従ってのみ回転します。
Sensor アプリケーションウィンドウは、デバイスの向きの設定を問わず、デバイスの回転センサーに応じて向きを調整します。ただし、アプリケーションウィンドウは Allowed Orientations for Auto Rotation セクションで設定された環境設定に従ってのみ回転します。

Allowed Orientations for Auto Rotation

Allowed Orientations for Auto Rotation セクションを使用して、Default OrientationAuto Rotation に設定したときにアプリケーションがサポートする向きを指定します。これは、例えば、アプリケーションを横向きにロックしながら、ユーザーが横左向きと横右向きを切り替えられるようにする場合に便利です。

ノート: このセクションは、Orientation セクションで Default OrientationAuto Rotation に設定した場合のみ表示されます。

プロパティ 説明
Portrait アプリケーションの下部を画面の下部に合わせて縦向きにできます。
Portrait Upside Down : アプリケーションの下部を画面の上部に合わせて縦向きにできます。
Landscape Right アプリケーションの右側を画面の上部に揃えて横向きにできます。
Landscape Left : アプリケーションの左側を画面の上部に揃えて横向きにできます。

その他の解像度とプレゼンテーションの設定

プロパティ 説明
Use 32-bit Display Buffer ディスプレイバッファが 16 ビット色値ではなく 32 ビット色値を保持するかどうかを示します。バンディングが表示されるか、ポストプロセスエフェクト でアルファ値が必要な場合は、この設定を有効にします。ポストプロセスエフェクトの中には、ディスプレイバッファと同じ形式で レンダーテクスチャ を作成するため、これを必要とするものがあります。
Disable Depth and Stencil 深度バッファとステンシルバッファを無効にします。
Render Over Native UI ネイティブ UI の上にアプリケーションを強制的に描画します。この設定を有効にするには、カメラの Clear Flags を Solid Color に設定し、アルファ値を 1 未満にします。

##Splash Image

Virtual Reality Splash Image 設定を使用して、仮想現実 (VR) ディスプレイのカスタムスプラッシュ画像を選択します。一般的なスプラッシュスクリーン設定については、スプラッシュスクリーンを参照してください。

仮想現実 (VR) のスプラッシュスクリーン設定。
仮想現実 (VR) のスプラッシュスクリーン設定。

一般的な Splash Screen 設定の下で、Android 固有の Static Splash Image を設定できます。

Android のスプラッシュスクリーン設定。
Android のスプラッシュスクリーン設定。
設定 説明
Image アプリケーションが Android のスプラッシュスクリーンに使用するテクスチャを指定します。スプラッシュスクリーン画像の標準サイズは 320x480 です。
Scaling デバイスの画面に合わせてスプラッシュ画像をスケーリングする方法を指定します。
Center (only scale down) (スケールダウンのみ) 画像が大きすぎない限り、ネイティブサイズで画像を描画します。大きすぎる場合は、Unity は画像をフィットするように縮小します。
Scale to Fit (letter-boxed) (レターボックス) 縦横どちらか長い方を画面サイズにぴったり合わせるようにスケーリングします。短辺側の空きスペースは、黒色で塗りつぶされます。
Scale to Fill (cropped)  (短い方に合わせ長い方を切る) 縦横どちらか短い方を画面サイズにぴったり合わせるようにします。長辺側の画面に収まりきらない部分は、クロップされます。

##Other Settings

Other Settings のセクションでは、以下のグループに分類されたさまざまなオプションをカスタマイズできます。

###Rendering

これらの設定を使用して、Android プラットフォーム向けにゲームをレンダリングする方法をカスタマイズします。

プロパティ 説明
Color Space レンダリングに使用する色空間を選択します。詳細は、リニアレンダリング概要 を参照してください。
Gamma ガンマ色空間は通常、フレームバッファ形式がチャンネルあたり 8 ビットに制限された古いハードウェアのライティングの計算に使用されます。最近のモニターはデジタルですが、入力に依然としてガンマエンコードされた信号を使用している場合もあります。
Linear リニア色空間レンダリングでは、より正確な結果が得られます。リニア色空間の使用を選択すると、エディターはデフォルトで sRGB サンプリングを使用します。テクスチャ がリニア色空間の場合は、リニア色空間を使用し、各テクスチャの sRGB サンプリングを無効にする必要があります。
Auto Graphics API これを無効にすると、グラフィックス API を手動で選択して並べ替えることができます。デフォルトでは、このオプションは有効になっており、Unity は Vulkan を使用しようとします。デバイスが Vulkan をサポートしていない場合、Unity は GLES3.2、GLES3.1、または GLES3.0 にフォールバックします。

重要: Unity が Android アプリケーションマニフェストに GLES3.1/GLES3.1+AEP/GLES3.2 要件を追加するのは、Auto Graphics API が有効になっている場合、または Graphics APIsOpenGLES3 が含まれている場合のみです。
グラフィックス API アプリケーションがサポートするグラフィックス API を指定します。Unity はリストの一番上のグラフィックス API を最初に使用しようとし、デバイスがサポートしない場合は、リスト内の次のグラフィックス API にフォールバックします。

ノート: このプロパティは、Auto Graphics API が false に設定されている場合にのみ表示されます。
Vulkan Vulkan を API としてターゲットに追加します。
OpenGLES3 OpenGLES 3 を API としてターゲットに追加します。
ES3.1 が必要 OpenGL ES 3 マイナーバージョンが 3.1 以上であることを要求するかどうかを指定します。
このプロパティは、 Auto Graphics API を有効にするか、Graphics APIsOpenGLES3 が含まれている場合にのみ表示されます。
Require ES3.1+AEP OpenGL ES 3 マイナーバージョンが 3.1+AEP 以上であることを要求するかどうかを指定します。
このプロパティは、 Auto Graphics API を有効にするか、Graphics APIsOpenGLES3 が含まれている場合にのみ表示されます。
Require ES3.2 OpenGL ES 3 マイナーバージョンが 3.2 以上であることを要求するかどうかを指定します。
このプロパティは、 Auto Graphics API を有効にするか、Graphics APIsOpenGLES3 が含まれている場合にのみ表示されます。
Color Gamut レンダリングに使用する 色域 を追加または削除できます。プラス (+) アイコンをクリックすると、使用可能な色域のリストが表示されます。色域は、特定のデバイス (モニタやスクリーンなど) で使用可能な色の範囲を定義します。sRGB 色域はデフォルトの (また必須の) 色域です。
Multithreaded Rendering これを有効にすると、グラフィックス API の呼び出しを Unity のメインスレッドから別のワーカースレッドに移動します。これにより、メインスレッドで CPU 使用率が高いアプリケーションのパフォーマンスを向上することが可能です。
Static Batching static batching を使用するには、これを有効にします。
Dynamic Batching 動的バッチ処理 をビルドに使用します (デフォルトで有効)。

ノート: 動的バッチ処理は、スクリプタブルレンダーパイプライン がアクティブな場合は効果がないため、Graphics 設定の Scriptable Render Pipeline Asset が無効の場合にのみ表示されます。
Sprite Batching Threshold バッチ処理時に使用される最大頂点しきい値を制御します。
GPU Skinning シェーダーを介して GPU のメッシュスキニングとブレンドシェイプを計算し、CPU リソースを解放してパフォーマンスを向上させます。
GPU このオプションを選択すると、GPU のメッシュスキニングとブレンドシェイプの計算を実行します。
CPU このオプションを選択すると、CPU のメッシュスキニングとブレンドシェイプの計算を実行します。
GPU (Batched) このオプションを選択すると、バッチ処理と並べ替えを使用して、GPU のメッシュスキニングとブレンドシェイプの計算を実行します。バッチ処理は、GPU へのディスパッチ呼び出しの数を減らし、パフォーマンスを向上させることができます。
Graphics Jobs (Experimental) : このオプションを有効にすると、グラフィックスタスク (レンダリングのループ) を他の CPU コアで動作するワーカースレッドにオフロードするよう Unity に指示されます。この機能は、多くの場合にボトルネックとなるメインスレッドの Camera.Render の作業時間を削減することを目的としています。

注意: この機能は実験的なものであり、プロジェクトのパフォーマンスが向上しない場合があり、新たなクラッシュの原因となる可能性もあります。
Graphics Jobs Mode アプリケーションで使用するグラフィックスジョブモードを指定します。Unity のジョブについては、ジョブシステムの概要 を参照してください。

ノート:このオプションは、Graphics Jobs が有効になっており、Graphics APIs が Vulkan に設定されている場合にのみ使用できます。
ネイティブ メインスレッドは、ワーカースレッドの Unity グラフィックスコマンドを書き込みます。ワーカースレッドは、レンダースレッドが使用するコマンドをタスクエグゼキュターに書き込みます。
Legacy メインスレッドは、ワーカースレッドの Unity グラフィックスコマンドを書き込みます。ワーカースレッドは、レンダースレッドに直接コマンドを書き込みます。レンダースレッドは Unity グラフィックスコマンドを読み取り、ネイティブのグラフィックスコマンドに変換します。
Split メインスレッドは、ワーカースレッドの Unity グラフィックスコマンドを書き込みます。レンダースレッドは Unity グラフィックスコマンドを読み取り、ネイティブのグラフィックスコマンドに変換します。その後、レンダースレッドはワーカースレッドを起動し、ネイティブグラフィックスコマンドを書き込みます。
テクスチャ圧縮形式 ASTC、ETC2、ETC (RGB の場合は ETC1、RGBA の場合は ETC2)、DXTC、DXT + RGTC (BC4、BC5) から選択できます。正しい形式の選択方法の詳細については、テクスチャ圧縮形式の概要 を参照してください。このリストに複数のテクスチャ圧縮形式を追加して テクスチャ圧縮ターゲティング をサポートすることは可能ですが、このリストに DXT と DXT + RGTC (BC4, BC5) を同時に指定することはできません。テクスチャ圧縮ターゲティングを有効にすると、Unity は Split アプリケーションバイナリ も有効にします。
これによって ビルド設定 のテクスチャ圧縮設定を操作する方法の詳細については、テクスチャ圧縮設定 を参照してください。

ノート:アプリケーションを APK として エクスポート またはビルドする場合、Unity はこのリストの最初のテクスチャ圧縮形式のみを使用します。
Normal Map Encoding : XYZ または DXT5nm-style を選択して、法線マップのエンコードを設定します。この設定は、法線マップに使用されるエンコードスキームと圧縮形式に影響します。DXT5nm-style 法線マップは高品質ですが、シェーダーでのデコードにコストがかかります。
Lightmap Encoding ライトマップのエンコードスキームと圧縮形式を定義します。
Low QualityNormal QualityHigh Quality から選択できます。
Lightmap Streaming ライトマップに Mipmap Streaming を使用するには、このオプションを有効にします。Unity では、ライトマップの生成時に、この設定がすべてのライトマップに適用されます。
ノート: この設定を使用するには、Texture Mipmap Streaming Quality 設定を有効にする必要があります。
Streaming Priority ミニマップストリーミングシステム のすべてのライトマップの優先順位を設定します。Unity では、ライトマップの生成時に、この設定がすべてのライトマップに適用されます。
正の数は優先度を高くします。有効な値は -128 から 127 までです。
Frame Timing Stats これを有効にすると、CPU/GPUフレームタイミング統計を収集します。
OpenGL:Profiler GPU Recorders OpenGL でレンダリングするときにプロファイラーレコーダーを有効にするかどうかを指定します。このオプションは、他のレンダリング API では常に有効ですが、OpenGL では、フレームタイミング統計と GPU プロファイラーとの互換性の問題があるため任意です。
Allow HDR Display Output アプリケーション実行時に HDR モード出力を有効にします。これは、この機能をサポートするディスプレイでのみ機能します。ディスプレイが HDR モードをサポートしない場合、ゲームは標準モードで実行されます。
Use HDR Display Output: メインディスプレイが HDR をサポートしているかどうかを確認し、サポートしている場合は、アプリケーションの起動時に HDR 出力に切り替えます。

ノート: このオプションは、Allow HDR Display Output がアクティブな場合にのみ使用できます。
Virtual Texturing (Experimental) 仮想テクスチャリング を有効にするかどうかを指定します。

ノート: 仮想テクスチャリングは Android と互換性がありません。
360 Stereo Capture Unity がステレオスコピック 360 画像とビデオをキャプチャできるかどうかを示します。

ノート: 360 立体キャプチャは Android と互換性がありません。
Load/Store Action Debug Mode: モバイルプラットフォームでのレンダリングに関する問題の原因となる可能性がある未定義のピクセルを強調表示します。これは Unity エディターのゲームビューと、Build Settings で Development Build を選択した場合のビルドされたアプリケーションに影響します。詳細については、LoadStoreActionDebugModeSettings を参照してください。
Editor Only: Load/Store Action Debug Mode を Unity エディターでのみ実行するかどうかを示します。

ノート: このプロパティは、Load/Store Action Debug Mode が true に設定されている場合にのみ表示されます。

Vulkan Settings

プロパティ 説明
SRGB Write Mode : このオプションを有効にすると、ランタイムに Graphics.SetSRGBWrite() レンダラーが sRGB 書き込みモードを切り替えることができます。つまり、一時的にリニアから sRGB への書き込み色変換をオフにする必要がある場合は、このプロパティを使用することで実現できます。これを有効にすると、モバイルタイルベースの GPU のパフォーマンスに悪影響を与えます。そのため、モバイルでは有効にしないでください。
Number of swapchain buffers Vulkan レンダラーでダブルバッファリングを使用するにはこのオプションを 2 に設定し、トリプルバッファリングを使用するには 3 に設定します。プラットフォームによってはこの設定で待ち時間が短くなる可能性がありますが、ほとんどの場合にデフォルト値 3 を変更しないでください。ダブルバッファリングは、パフォーマンスに悪影響を及ぼす可能性があります。Android ではこの設定を使用しないでください。
Acquire swapchain image late as possible 有効にすると、Vulkan はフレームをオフスクリーン画像にレンダリングするまで、バックバッファの取得を遅らせます。これを実現するために、Vulkan はステージング画像を使用します。この設定を有効にすると、バックバッファを表示する際に、余分なブリットの原因になります。この設定をダブルバッファリングと組み合わせることで、パフォーマンスを向上させることができます。ただし、追加のブリットによって使用する帯域幅が増えるため、パフォーマンスの問題が生じる可能性もあります。
Recycle command buffers Unity が実行した コマンドバッファ をリサイクルするか解放するかを示します。
Apply display rotation during rendering : これを有効にすると、すべてのレンダリングがディスプレイのネイティブな向きで行われます。これには、多くのデバイスでパフォーマンス上の利点があります。詳細については、フレームバッファの向き に関するドキュメントを参照してください。
Android Vulkan Deny Filter List Unity アプリケーションの実行時に Vulkan API を使用することを回避する必要がある Android デバイスを特定するための基準を指定します。

以下の一連のパラメーターを使用して、拒否基準を定義します。すべてのパラメーターは任意です。正規表現 を使用して、Vulkan API バージョンとドライバーバージョンのパラメーター以外のパラメーターを設定できます。無効な正規表現のエラーは Unity エディターに表示されます。
詳細については、Vulkan APIの使用を許可または拒否する のドキュメントを参照してください。

ノート: OpenGLES3 などの代替グラフィックス API をプレイヤー設定に配置しないと、アプリケーションは拒否基準を満たすデバイスで起動しません。
Vendor Android デバイスで使用される GPU ハードウェアのベンダー名。例えば、Qualcomm、ARM。
Device Name Android デバイスで使用される GPU モデルの名前。例えば、Adreno (TM) 740。
Brand Android デバイスのメーカー名。例えば、google、samsung。
Product Name Android デバイスの製品コード名。例えば、バーベット、マーメイドなど。
Android OS バージョン デバイスが実行されている Android オペレーティングシステムのバージョン。例えば、13
Vulkan API version Android デバイスで使用可能な Vulkan API の最小要件バージョン。以下のいずれかの形式でバージョン番号を入力します。
MajorVersion.MinorVersion.PatchVersion (MinorVersion と PatchVersion は任意)。例えば、1.1.128
0x で始まる最大 8 桁の 16 進数形式。例えば、0x00401080

ノート: このパラメーターには正規表現は使用できません。
Driver version 最小要件の Vulkan デバイスドライバーバージョン。以下のいずれかの形式でバージョン番号を入力します。
MajorVersion.MinorVersion.PatchVersion (MinorVersionPatchVersion は任意)。例えば、0.676.0
0x で始まる最大 8 桁の 16 進数形式。例えば、0x002a4000

ノート: このパラメーターには正規表現は使用できません。
Android Vulkan 許可フィルターリスト Unity アプリケーションの実行時に常に Vulkan グラフィックス API を使用する Android デバイスを指定する基準を指定します。

デバイスが拒否フィルターリストと許可フィルターリストの両方に含まれている場合は、許可フィルターが優先され、デバイスは Vulkan API を使用します。これらのリストを使用して、パフォーマンスの低い大きなカテゴリのデバイスが Vulkan API を使用しないように制限し、カテゴリ内のデバイスで Vulkan API を使用してパフォーマンスを向上させることができます。拒否フィルターと許可フィルターのリストの両方に同じ値が含まれている場合、Unity はリストで指定された基準を無視します。
詳細については、Vulkan APIの使用を許可または拒否する のドキュメントを参照してください。

ノート: 条件の定義に使用されるパラメーターの説明については、Android Vulkan の拒否フィルターリスト を参照してください。

Identification

Android プラットフォームの ID 設定
Android プラットフォームの ID 設定
プロパティ 機能
Override Default Package Name アプリケーションのデフォルトパッケージ名をオーバーライドするかどうかを指定します。

注意この設定は、macOS、iOS、tvOS、Android に影響します。
Package Name デバイスと Google Play ストアでアプリケーションを一意に識別するためのアプリケーション ID を設定します。アプリケーション ID は規則 com.YourCompanyName.YourProductName に従い、英数字とアンダースコアのみで構成されている必要があります。各セグメントはアルファベット文字で開始する必要があります。詳細については、アプリケーション ID の設定を参照してください。
重要: Unity は、無効な文字が入力されると自動的に削除します。
このプロパティを設定するには、Override Default Package Name を有効にします。
バージョン バンドルのイテレーション (リリースされたかどうかにかかわらず) を示す、バンドルのビルドバージョン番号を入力します。バージョンはドットで区切られた数字を含む一般的な文字列の形式 (4.3.2 など) で指定されます。これは iOS と Android 間で共有されます。
Bundle Version Code 内部バージョン番号。この数値は、あるバージョンが他のバージョンよりも新しいかどうかを判断するためだけに使用されます。数値が大きいほど、新しいバージョンであることを示します。これはユーザーに表示されるバージョン番号ではありません。この番号は versionName 属性によって設定されます。値は “100” などの整数で設定する必要があります。連続する各バージョンにより大きな数値が設定されていれば、自由に定義できます。

例えば、ビルド番号が該当します。または、“x” と “y” を下位 16 ビットと上位 16 ビットで別々にエンコードすることで、“x.y” 形式のバージョン番号を整数に変換できます。または、新しいバージョンがリリースされるたびに 1 単位で数値を引き上げることもできます。

Split APKs by target architecture が有効になっている場合は、この数値を 100000 未満に維持します。各 APK には一意のバージョンコードが必要です。そのため、Unity は ARMv7 の場合は 100000、ARM64 の場合は 200000 を数値に追加します。
Minimum API Level アプリケーションを実行するのに必要な API の最小バージョン (API レベル)
Target API Level アプリケーションをコンパイルするターゲットの Android バージョン (API レベル)

設定方法

プロパティ 説明
Scripting Backend : 使用するスクリプティングバックエンドを選択します。スクリプティングバックエンドは、プロジェクトの C# コードを Unity がコンパイルし実行する方法を決定します。
Mono :C# コードを .NET Common Intermediate Language (CIL) にコンパイルし、その CIL を Common Language Runtime を使用して実行します。詳細については、Mono を参照してください。
IL2CPP : C# コードを CIL にコンパイルし、CIL を C++ に変換して、次に、その C++ をネイティブのマシンコードにコンパイルします。これは、ランタイムに直接実行されます。詳細については、IL2CPP を参照してください。
API Compatibility Level プロジェクトに使用する .NET API を選択します。この設定はサードパーティ製のライブラリとの互換性に影響します。ただし、エディター固有のコード (エディターディレクトリまたはエディター固有の Assembly Definition 内のコード) には影響しません。

ヒント: サードパーティ製のアセンブリで問題が発生した場合は、下の API Compatibility Level セクションを参照してください。
.Net Framework .NET Framework 4 (.NET Standard 2.0 プロファイルのすべてと追加 API を含む) と互換性があります。.NET Standard 2.0 に含まれていない API にアクセスするライブラリを使用する場合は、このオプションを選択します。より大きいビルドを作成し、使用可能な追加の API を作成することがすべてのプラットフォームで必ずしもサポートされるわけではありません。詳細については、追加のクラスライブラリアセンブリの参照 を参照してください。
.Net Standard 2.1 ビルドのサイズが小さくなり、完全なクロスプラットフォームをサポートします。
エディターアセンブリ互換性レベル エディターアセンブリで使用する .NET API を選択します。
.NET Framework .NET Framework 4 (.NET Standard 2.1 プロファイルのすべてと追加 API を含む) と互換性があります。.NET Standard 2.1 に含まれていない API にアクセスするライブラリを使用する場合は、このオプションを選択します。より大きいビルドを作成し、使用可能な追加の API を作成することがすべてのプラットフォームで必ずしもサポートされるわけではありません。詳細については、追加のクラスライブラリアセンブリの参照 を参照してください。
.NET Standard .NET Standard 2.1 と互換性があります。ビルドのサイズが小さくなり、完全なクロスプラットフォームをサポートします。
IL2CPP Code Generation Unity での IL2CPP コード生成の管理方法を定義します。

ノート: これを使用するには、Scripting BackendIL2CPP に設定します。
C++ Compiler Configuration IL2CPP 生成コードをコンパイルするときに使用する C++ コンパイラーの設定を選択します。
Debug デバッグ設定はすべての最適化をオフにするため、コードのビルドは速くなりますが、実行は遅くなります。
Release リリース設定によって最適化が有効になるため、コンパイルされたコードの実行が速くなり、バイナリサイズは小さくなりますが、コンパイルに時間がかかります。
Master マスター設定により、用意されているすべての最適化が可能になり、対象となるすべてのビットのパフォーマンスが制限されます。例えば、MSVC++ コンパイラーを使用するプラットフォームでは、このオプションを使用すると、リンク時のコードの生成が可能になります。この設定を使用したコードのコンパイルには、リリース設定を使用した場合よりも、大幅に時間がかかる場合があります。Unity では、ビルド時間の増加が許容できる場合は、ゲームの出荷バージョンをマスター設定を使用してビルドすることをお勧めしています。
IL2CPP Stacktrace Information スタックトレースに加える情報を選択します。情報タイプの詳細は、IL2CPP によるマネージスタックトレース を参照してください。
Method Name スタックトレースに各マネージメソッドを加えます。
Method Name, File Name, and Line Number スタックトレースにファイルと行番号の情報を持つ各マネージメソッドを加えます。

ノート:このオプションを使用すると、ビルド時間とビルドされたプログラムの最終的なサイズの両方が増加する可能性があります。
Use incremental GC インクリメンタルガベージコレクターを使用します。これにより、ガベージコレクションをいくつかのフレームに広げ、フレーム継続時間中にガベージコレクションに関連するスパイクを軽減します。詳しくは、自動メモリ管理 を参照してください。
Allow downloads over HTTP HTTP 経由でのコンテンツのダウンロード許可を設定します。より安全な HTTPS プロトコルが推奨されているため、デフォルトではこのオプションは Not allowed になっています。
Not Allowed HTTP 経由でのコンテンツのダウンロードを許可しません。
Allowed in Development Builds 開発ビルドでのみ HTTP 経由のダウンロードを許可します。
Always Allowed 開発ビルドとリリースビルドで HTTP 経由のダウンロードを許可します。
Mute Other Audio Sources : Unity のアプリケーションが、バックグラウンドで実行されているアプリケーションのオーディオを停止するかどうかを指定します。これを無効にすると、バックグラウンドアプリケーションのオーディオが Unity のアプリケーションとともに再生されます。
Target Architectures どのアーキテクチャをターゲットにするかを指定します。
ARMv7 ARMv7 アーキテクチャのサポートを有効にします。
ARM64 ARM64 アーキテクチャのサポートを有効にします。

ノート:このプロパティは、Scripting BackendIL2CPP に設定した場合のみ有効です。
x86–64 (Magic Leap 2) x86–64 アーキテクチャのサポートを有効にします。

ノート:このプロパティは、Scripting BackendIL2CPP に設定した場合のみ有効です。
Enable Armv9 Security Features for Arm64 ARM64 ビルドの Pointer Authentication (PAuth、PAC) と Branch ターゲット Identification (BTI) を有効にします。

ノート:このプロパティは、ARM64 をターゲットゲットアーキテクチャとして設定した場合にのみ有効になります。
ターゲットアーキテクチャごとの APK の分割 このオプションを有効にすると、Target Architectures で選択した CPU アーキテクチャごとに個別の APK を作成できます。これにより、Google Play ストアユーザーのダウンロードサイズが小さくなります。これは主に Google Play ストア機能であり、他のストアでは使用できない場合があります。詳細については、Multiple APK Support を参照してください。
Install Location デバイス上でアプリケーションをインストールする場所を指定します (詳細については、Android Developer documentation on install locations を参照してください)。
Automatic オペレーティングシステムに決定させます。ユーザーはアプリケーションのインストール場所を移動できます。
Prefer External 可能であれば、外部ストレージ (SD カード) にアプリケーションをインストールします。オペレーティングシステムはそれを保証できません。可能でない場合は、アプリケーションは内部メモリにインストールされます。
Force Internal 強制的に内部メモリにアプリケーションをインストールします。ユーザーは外部ストレージにアプリケーションを移動することはできません。
Internet Access ネットワーク API をまったく使用していなくても、Android アプリマニフェスト に常にネットワーキング (INTERNET) 権限を加えるかを選択します。開発ビルドではデフォルトで Require に設定します。
Auto ネットワーキング API を使用している場合にのみ、インターネットアクセス権限を追加してください。
Require 常にインターネットアクセス権限を追加します。
Write Permission SD カードなどの外部ストレージへの書き込みアクセスを有効にし、対応する権限を Android アプリマニフェストに追加するかを選択します。開発ビルドではデフォルトで External(SDCard) に設定します。
Internal 内部ストレージにのみ書き込み許可を与えます。
External(SDCard) 外部ストレージへの書き込み許可を有効にします。
Filter Touches When Obscured これを有効にすると、他の表示ウィンドウが Unity アプリケーションに重なっている場合、受信したタッチを破棄します。これは、タップジャック攻撃を防ぐための機能です。
Sustained Performance Mode これを有効にすると、サーマルスロットリングなしで長期間にわたり、予測可能で一貫したレベルのデバイス性能を設定します。これを設定すると、全体のパフォーマンスレベルは、通常よりも低くなる場合があります。Android Sustained Performance API に基づきます。
Maximum Java Heap Size ビルドに使用するJava の最大ヒープサイズを設定します (メガバイト)。デフォルトは 4096 です。
Low Accuracy Location これを有効にすると、Android Location API で低精度の値を使用します。
Predictive Back Gesture Support これを有効にすると、Android 13 以降で Android の OnBackInvokedCallback を使用してバックイベントを処理します。
Android TV Compatibility これを有効にすると、アプリケーションを Android TV と互換性のあるものと認識させます。
Android Game これを有効にすると、出力パッケージ (APK) を通常のアプリケーションではなく、ゲームとして認識させます。

ノート: このプロパティは、Android TV Compatibility が true に設定されている場合にのみ表示されます。
Android Gamepad Support Level アプリケーションがゲームパッドに提供するサポートレベルを設定します。

ノート: このプロパティは、Android TV Compatibility が true に設定されている場合にのみ表示されます。
Works with D-Pad アプリケーションは十字キーで完全に動作します。ゲームパッドは必要ありません。
Supports Gamepad アプリケーションはゲームパッドで動作しますが、必須ではありません。
Requires Gamepad アプリケーションを使用するにはゲームパッドが必要です。
Warn about App Bundle size これを有効にすると、Android App Bundle のサイズが特定のしきい値を超えたときに警告を受けます。このオプションはデフォルトで選択されており、ビルドタイプをリリースとして選択し、ビルド設定Build App Bundle (Google Play) オプションを有効にする場合にのみ設定できます。
App Bundle size threshold MB 単位でサイズを入力します。アプリケーションバンドルがこのサイズを超えると、Unity は警告を表示し、Google Play のサイズの上限 に従って、生成されたリリースアプリケーションバンドルのフルサイズの検証を行うことを推奨しています。
Warn about Symbols size これを有効にすると、シンボルの zip パッケージまたは Android アプリケーションバンドル 内に埋め込まれたシンボルのサイズが特定のしきい値を超えたときに警告を受けます。このオプションはデフォルトで選択されており、ビルド設定Debug Symbols to Public/Debugging を設定する場合にのみ設定できます。
Symbols size threshold MB 単位でサイズを入力します。シンボルパッケージがこのサイズを超えると、Unity は警告を表示します。
Application Entry Point アプリケーションに生成するアプリケーションエントリーポイント。詳細については、Android アプリケーションエントリーポイント を参照してください。
アクティビティ アクティビティアプリケーションエントリーポイント を生成します。
GameActivity GameActivity アプリケーションエントリーポイント を生成します。
Active Input Handling ユーザーの入力をどのように処理するかを選択します。
Input Manager (Old) 従来の Input 設定を使用します。
Input System Package (New) Input システムを使用します。このオプションを使用するには、InputSystem パッケージ をインストールする必要があります。
Both 両方のシステムを使用します。

ノート: このオプションは Android ではサポートされません。

API Compatibility Level

すべてのターゲットに対する Mono の API 互換性レベルを選択できます。サードパーティの .NET ライブラリで、.NET 互換性レベルに該当しない機能が使用されることがあります。そのような場合に、状況を把握し、最適な修正方法を見つけるには、以下のお勧めの手順を試してください。

  1. ILSpy for Windows をインストールします。
  2. API 互換性レベルに問題がある .NET アセンブリを ILSpy にドラッグします。これらは Frameworks/Mono/lib/mono/YOURSUBSET/ の下にあります。
  3. サードパーティのアセンブリをドラッグします。
  4. サードパーティのアセンブリを右クリックし、Analyze を選択します。
  5. 分析レポートで Depends on セクションを調べます。サードパーティのアセンブリが依存していても、選択した .NET 互換性レベルで使用できないものは、赤字でハイライトされます。

Shader Settings

プロパティ 説明
Shader Precision Model シェーダーが使用するデフォルトの精度を選択します。詳細については、シェーダーでの 16 ビット精度の使用を参照してください。
Platform default モバイルプラットフォームでは精度を低くし、他のプラットフォームでは最高精度にします。
Unified プラットフォームでサポートされている場合は、低い精度を使用します。
Strict shader variant matching このオプションを有効にすると、シェーダーバリアントがプレイヤーのビルドにない場合にレンダリングするエラーシェーダーを使用し、コンソールにエラーを表示します。エラーには、シェーダー、サブシェーダーインデックス、パス、およびシェーダーバリアント検索に使用されたキーワードが表示されます。
Keep Loaded Shaders Alive ロードされたすべてのシェーダーを存続させ、アンロードされないようにします。

Shader Variant Loading Settings

これらの設定を使用して、ランタイムにシェーダーが使用するメモリ量を制御します。

プロパティ 説明
Default chunk size (MB) すべてのプラットフォームのビルドされたアプリケーション内に Unity が保存する、圧縮されたシェーダーバリアントのデータチャンクの最大サイズを設定します。デフォルト値は 16 です。詳細は、シェーダーのロード を参照してください。
Default chunk count Unity がすべてのプラットフォームのメモリに保持する解凍チャンク数のデフォルト制限を設定します。デフォルトは 0、つまり制限はありません。
Override このビルドターゲットの Default chunk sizeDefault chunk count のオーバーライドを有効にします。
Chunk size (MB) このビルドターゲットの Default chunk size (MB) の値をオーバーライドします。
Chunk count このビルドターゲットの Default chunk count の値をオーバーライドします。

スクリプトのコンパイル

Android プラットフォームのスクリプトコンパイル設定
Android プラットフォームのスクリプトコンパイル設定
プロパティ 説明
Scripting Define Symbols カスタムコンパイルフラグを設定します。

詳細については、プラットフォーム依存のコンパイルを参照してください。
Additional Compiler Arguments このリストにエントリーを追加し、Roslyn コンパイラーに追加の引数を渡します。引数を追加するごとに 1 つの新しいエントリーを使用します。
新しいエントリーを作成するには、Add (+) をクリックします。エントリーを削除するには、Remove (-) をクリックします。

必要な引数をすべて追加して、Apply をクリックすると、その後のコンパイルに追加の引数が含まれるようになります。Revert をクリックすると、このリストが最近適用された状態にリセットされます。
Suppress Common Warnings C# の警告 CS0169CS0649 を表示するかどうかを指定します。
Allow ‘unsafe’ Code 事前定義されたアセンブリ (例えば Assembly-CSharp.dll など) での ‘unsafe’ C# コード のコンパイルのサポートを有効にします。
アセンブリ定義ファイル (.asmdef) の場合は、.asmdef ファイルの 1 つをクリックして、表示される Inspector ウィンドウでオプションを有効にします。
Use Deterministic Compilation deterministic C# フラグを使用して、コンパイルを阻止するかどうかを指定します。この設定を有効にすると、コンパイルされるアセンブリは、コンパイルされるたびにバイト単位で同じになります。

詳細については、コード生成を制御する C# コンパイラーオプションを参照してください。

Optimization

プロパティ 説明
Prebake Collision Meshes ビルド時に メッシュ に衝突データを追加します。
Preloaded Assets 起動時にプレイヤーが読み込むためのアセットの配列を設定します。
新しいアセットを追加するには、Size プロパティの値を引き上げ、表示される新しい Element ボックスに読み込むようにアセットへの参照を設定します。
Strip Engine Code : プロジェクトが使用しない Unity エンジン機能のコードを Unity Linker ツールが削除するように設定する必要がある場合に、このオプションを有効にします。この設定は、IL2CPP スクリプティングバックエンド でのみ利用可能です。ほとんどのアプリケーションは、利用可能なすべての DLL を使用するわけではありません。このオプションは、アプリケーションが使用しない DLL を削除し、ビルドされたプレイヤーのサイズを縮小します。現在の設定で通常は削除される 1 つ以上のクラスをアプリケーションが使用している場合に、アプリケーションをビルドしようとすると、Unity はデバッグメッセージを表示します。
Managed Stripping Level 使用していないマネージ (C#) コードを Unity がどれだけ積極的に削除するかを選択します。Unity がアプリケーションをビルドするとき、Unity リンカーの処理により、プロジェクトが使用するマネージ DLL から未使用のコードを取り除くことができます。コードストリッピングは、結果の実行ファイルを小さくできますが、使用中のコードを削除する場合があります。

これらのオプションと IL2CPP によるバイトコードストリッピングの詳細については、ManagedStrippingLevel を参照してください。
最低限 これを使用して、クラスライブラリ、UnityEngine、Windows ランタイムアセンブリを削除し、他のすべてのアセンブリをコピーします。
ビルドサイズと Mono/IL2CPP のビルド時間を減らすために、アクセス不能なマネージコードを削除します。
UnityLinker を実行して、Low で達成できる範囲を超えるコードサイズを削減します。カスタム link.xml ファイルのサポートが必要な場合があります。また、リフレクションコードパスの中には、同じ動作をしないものがあります。
UnityLinker は可能な限り多くのコードを削除します。これにより、Medium で達成できる範囲を超えてコードサイズがさらに削減されますが、一部のメソッドのマネージコードが機能しなくなる場合があります。カスタム link.xml ファイルのサポートが必要な場合があります。また、リフレクションコードパスの中には、同じ動作をしないものがあります。
Enable Internal Profiler (Deprecated) : この機能は非推奨であり、Unity の将来のバージョンで廃止される予定です。代わりに Profiler ウィンドウ を使用してください (メニュー: Window > Analytics > Profiler)。

プロファイラーはアプリケーションのパフォーマンスデータを収集し、レポートをコンソールに出力します。レポートには、Unity の各サブシステムがそれぞれのフレームで実行に要したミリ秒数が 30 フレーム平均で表示されます。
Vertex Compression チャンネルごとに頂点圧縮を設定します。これはプロジェクト内のすべてのメッシュに影響します。
通常、頂点圧縮は、メモリ内のメッシュデータのサイズを縮小し、ファイルサイズを削減し、GPU パフォーマンスを向上するために使用します。

頂点圧縮の設定方法とこの設定の制限については、メッシュデータの圧縮 を参照してください。
Optimize Mesh Data このオプションを有効にすると、ビルドで使用されるメッシュから未使用の頂点属性が削除されます。このオプションは、メッシュ内のデータ量を削減し、ビルドサイズ、ロード時間、ランタイムのメモリ使用量の削減を支援します。

注意: この設定を有効にしている場合は、ランタイムにマテリアルやシェーダーの設定を変更しないようにしてください。

詳細については PlayerSettings.stripUnusedMeshComponents を参照してください。
テクスチャミップマップのストリッピング すべてのプラットフォームでミップマップのストリッピングを有効にします。これにより、ビルド時にテクスチャから未使用のミップマップレベルが削除されます。
Unity は、ミップマップのレベルを現在のプラットフォームの品質設定と比較して、未使用のミップマップレベルを判別します。ミップマップレベルが現在のプラットフォームのすべての品質設定の範囲外にある場合は、ビルド時にそれらのミップマップレベルをビルドから削除します。QualitySettings.globalTextureMipmapLimit が削除されたミップマップレベルに設定されている場合、Unity は削除されていない最も近いミップマップレベルに値を設定します。

Stack Trace

スタックトレース方法を選択するには、必要なログの種類に基づいて対応する各 Log Type オプション (ErrorAssertWarningLogException) を有効にします。

Android プラットフォームのロギング設定
Android プラットフォームのロギング設定
プロパティ 説明
なし ログは記録されません。
ScriptOnly スクリプトの実行時にのみログを記録します。
full 常にログを記録します。

詳細については、スタックトレースのログを参照してください。

Legacy

Clamp BlendShapes (Deprecated) オプションを有効にすると、SkinnedMeshRenderers でブレンドシェイプのウェイトの範囲を固定できます。

Publishing Settings

以下の Publishing Settings を使用して、Unity が Android アプリケーションをビルドする方法を設定します。

Android 公開パネル
Android 公開パネル

ノート: セキュリティ上の理由から、Unity は Keystore や Project Key のパスワードを保存しません。

Keystore Manager ウィンドウを使用して、キーとキーストアを作成、構成、およびロードします。Keystore Manager またはメインの Android Publishing パネルから、既存のキーストアとキーをロードすることができます。Keystore Manager からこれらをロードすることを選択する場合、Unity は Project Keystore フィールドと Project Key フィールドに自動的に入力します。詳細については、Keystore Manager のドキュメントを参照してください。

Project Keystore

キーストアは、アプリケーションセキュリティのための署名キーを保持するコンテナです。詳細については、Android 開発者ドキュメントを参照してください。Android のキーストアシステム。

Project Keystore 設定を使用して、開いているプロジェクトに使用するキーストアを選択します。キーストアをロードすると、Unity はそのキーストア内のすべてのキーをロードします。開いているプロジェクトに既存のキーストアをロードして使用するには、以下を行います。

  1. Custom Keystore を有効にします。
  2. Select ドロップダウンを開き、 Browse を選択して、ファイルシステムからキーストアを選択します。
  3. キーストアのパスワードを入力します。

既存のキーストアがない場合は、Custom Keystore を無効のままにしておきます。

Unity では、アプリケーションの署名にデバッグ用の鍵ストアを使用します。デバッグ用のキーストアは、作業用のキーストアです。これにより、アプリケーションを署名し、ローカルでテストすることができます。ただし、アプリストアはこの方法で署名されたアプリを拒否します。これは、アプリストアが、デバッグ用のキーストアを使用したアプリケーションの有効性と所有権を検証できないためです。

プロパティ 説明
Custom Keystore Custom Keystore を有効にして、既存のキーストアをロードして使用します。
選択する Custom Keystore が有効になっている場合は、これを使用して使用するキーストアを選択します。Select のドロップダウンにあるパーティションの下のキーストアは、あらかじめ定義された専用の場所に保存されています。詳細については、キーストアの場所の選択を参照してください。
パス キーストアのパスを入力する必要はありません。選択したキーストアに基づいて Unity が提供します。
Password キーストアのパスワードを入力して、選択したキーストアをロードします。

Project Key

キーストアをロードすると、Unity はそのキーストア内のすべてのキーをロードします。Project Key 設定を使用してキーストアから 1 つのキーを選択し、開いているプロジェクトのアクティブキーとして使います。

プロパティ 説明
Alias 開いているプロジェクトで使用するキーを選択します。
Password キーとなるパスワードを入力します。

Build

デフォルトでは、Unity は、Unity のインストール時に提供されたマニフェストファイル、Gradle テンプレート、Proguard ファイルを使用してアプリケーションをビルドします。これらを変更するには、Android Publishing Settings の Build セクションを使用します。

カスタムのマニフェストファイル、Gradle テンプレート、Proguard ファイルを使用する場合は、以下の操作を行います。

  1. 該当するチェックボックスをオンにします。Unity はプロジェクト内にデフォルトファイルを作成し、チェックボックスの下にファイルの場所が表示されます。
  2. 新しいファイルを開いて、変更を加えます。
  3. このファイルに変更を保存します。Unity は、このファイルに保存された変更を次回のアプリケーションビルド時に自動的に使用します。

Build セクションの設定は、現在のプロジェクトのビルドプロセスにのみ適用されます。

プロパティ 説明
Custom Main Manifest Android LibraryManifest.xml ファイルのカスタマイズ可能なバージョン。このファイルには、Android アプリケーションに関する重要なメタデータが含まれています。Main/Unity Library Manifest の機能の詳細については、Unity ライブラリマニフェストを参照してください。
Custom Launcher Manifest Android LauncherManifest.xml ファイルのカスタマイズ可能なバージョン。このファイルには、Android アプリケーションのランチャーに関する重要なメタデータが含まれています。Unity Launcher Manifest の役割の詳細については、Unity Launcher Manifest を参照してください。
Custom Main Gradle Template mainTemplate.gradle ファイルのカスタマイズ可能なバージョン。このファイルには、Android アプリケーションをライブラリとしてビルドする方法に関する情報が含まれています。詳細については、Gradle プロジェクトファイルに関するドキュメントを参照してください。
Custom Launcher Gradle Template launcherTemplate.gradle ファイルのカスタマイズ可能なバージョン。このファイルには、Android アプリケーションのビルド方法に関する指示が含まれています。詳細については、Gradle プロジェクトファイルに関するドキュメントを参照してください。
Custom Base Gradle Template baseProjectTemplate.gradle ファイルのカスタマイズ可能なバージョン。このファイルには、他のすべてのテンプレートおよび Gradle プロジェクトの間で共有される設定が含まれています。詳細については、Gradle プロジェクトファイルに関するドキュメントを参照してください。
Custom Gradle Properties Template gradle.properties ファイルのカスタマイズ可能なバージョン。このファイルには、Gradle のビルド環境の設定が含まれています。これには次が含まれます。
• JVM (Java Virtual Machine) メモリ設定。
• Gradle が複数の JVM を使用してビルドできるようにするプロパティ。
• 小型化を行うツールを選択するためのプロパティ。
アプリケーションバンドルのビルド時にネイティブライブラリを圧縮しないように設定するためのプロパティ。
カスタム Gradle 設定テンプレート settingsTemplate.gradle ファイルのカスタマイズ可能なバージョン。このファイルには、アプリケーションに必要な外部依存関係を解決するためのアーティファクトリポジトリの宣言が含まれています。
Custom Proguard File proguard.txt ファイルのカスタマイズ可能版です。このファイルには、小型化処理の構成設定が含まれます。残すべき Java コードが小型化によって削除される場合は、そのコードを残すルールをこのファイルに追加する必要があります。詳細については、Minification に関するドキュメントを参照してください。

Minify

小型化 (Munification) とは、アプリケーションのコードを縮小、難読化、最適化するプロセスです。コードサイズを縮小し、コードを逆アセンブルしにくくすることができます。Minify の設定を使って、いつ、どのように Unity がビルドに小型化を適用するかを定義します。

ほとんどの場合、リリースビルドにのみ小型化を適用し、デバッグビルドには適用しないのが良い習慣です。小型化には時間がかかり、ビルドが遅くなる可能性があるためです。また、コードが小型化されることで、デバッグがより複雑になる可能性があります。

ノート: Java コードがリフレクションを介して参照されている場合、小型化プロセス (R8/Proguard) はコードが使用中であると推測できず、そのコードを削除します。カスタム Proguard ファイルを使用して、必要なコードを保持できます。

Munify セクションの設定は、現在のプロジェクトのビルドプロセスにのみ適用されます。

プロパティ 説明
Release リリースビルド時にアプリケーションのコードを小型化したい場合は、このチェックボックスを有効にします。
Debug デバッグビルド時にアプリケーションのコードを小型化したい場合は、このチェックボックスを有効にします。

Split Application Binary

Split Application Binary オプションを有効にすると、出力パッケージをメイン (APK) パッケージと拡張 (OBB) パッケージに分割します。これは 100 MB を超えるアプリケーションを公開する場合は、 Google Play ストアによって必須とされています。

Report Dependencies in App Bundle

このオプションを有効にすると、Google Play 用の Android アプリケーションバンドル (AAB) としてアプリケーションをビルドする場合に、アプリケーションバンドルに依存関係に関する情報が配置されます。詳細については、アプリケーションの依存関係のレポートセクションを参照してください。

ノート: この設定は、Android Build SettingsBuild App Bundle (Google Play) オプションを有効にした場合にのみ操作できます。



  • 5.5 で更新された機能
  • 2017 年 3 月に追加された Sustained Performance Mode
  • 2018 年 1 月に追加された .NET 4.x ランタイム
  • 2018 年 2 月に追加された Android Multiple APK 機能
  • 2019 年 1 月 NewIn20191 で追加された Android 用の OpenGL ES 3.2 サポート
  • Unity 2019.1 で追加された Input System プレビュー版
  • Unity 2019.1 で追加された__セーフエリア外のレンダリング__
  • Unity 2019.2 で追加された Warn about App Bundle size オプション
  • Unity 2019.3 で Compute Skinning に名称変更された GPU Skinning
  • Unity 2019.3 で削除された Vuforia
  • Unity 2019.3.NewIn20193 で非推奨となったビルトイン XR SDK のサポート
  • テクスチャ圧縮形式の更新

PlayerSettingsAndroid

Set up the Android SDK Target API
Android キーストア