このページでは、Android プラットフォームに特化した Player 設定について説明します。一般的な Player 設定の説明については、Player 設定を参照してください。
プロパティのドキュメントは、Player UI のそれぞれのセクションに応じてグループ化されています。
プロパティ | 機能 |
---|---|
Adaptive | アプリケーションの Android アダプティブアイコンのテクスチャを設定します。 |
Round | アプリケーションの Android 円形アイコンのテクスチャを設定します。 |
Legacy | アプリケーションの Android の古いアイコンのテクスチャを設定します。 |
Enable Android Banner | Android TV のビルドのカスタムバナーを有効にします。 |
Resolution and Presentation (解像度と表示) セクションを使用して、画面の表示をカスタマイズします。
設定 | 機能 |
---|---|
Start in fullscreen mode | スプラッシュスクリーンや最初のシーンが読み込まれている間、ナビゲーションバーを非表示にします。これを有効にしないと、スプラッシュスクリーンや最初のシーンがロードされている間、ナビゲーションバーが表示されます。 |
Render outside safe area | このオプションを有効にすると、ディスプレイのカットアウト (ノッチ) 領域を含むすべての使用可能なスクリーンスペースを使用してレンダリングできます。詳細については、 Android 開発者 向け Webサイトのディスプレイカットアウトのサポート ドキュメントを参照してください。 |
Optimized Frame Pacing | このオプションを有効にすると、Unity はフレームレートをより均等に分配し、よりスムーズなゲームプレイを作成できます。 |
その他の Resolution and Presentation プロパティは、以下のセクションにグループ化されています。
設定 | 機能 | |
---|---|---|
Resolution Scaling Mode | スケーリングをネイティブの画面解像度以下に設定します。 | |
FixedDPI | デバイスの画面解像度を元の解像度より低くし、Target DPI プロパティを表示できます。これを使用してパフォーマンスとバッテリー寿命を最適化したり、特定の DPI 設定をターゲットにします。 | |
Disabled | スケーリングが適用されず、ゲームがネイティブの画像解像度にレンダリングされるようにします。 | |
Target DPI | ゲーム画面の解像度を設定します。デバイスの付属の画像解像度がこの値よりも高い場合、ゲーム画面はこの設定に合わせて縮小されます。このスケールは、min(Target DPI * Factor / Screen DPI, 1) で計算されます。Factor は、Quality 設定の Resolution Scaling Fixed DPI Factor によって制御されます。ノート このオプションは、Resolution Scaling Mode が Fixed DPI に設定されている場合にのみ表示されます。 |
|
Blit Type | 最終的な画像をスクリーンに描画するために転送を使用するかどうかを制御します。 | |
Always | これを選択すると、Unity はオフスクリーンバッファにレンダリングし、次に、システムのフレームバッファにコピーします。これはほとんどのデバイスと互換性がありますが、通常は Never より遅いです。 | |
Never | これを選択すると、Unity は OS が提供するフレームバッファにレンダリングします。アプリケーション実行中に失敗の原因となる条件が発生すると、アプリケーションはデバイスログに 1 回限りの警告を出力します。Never を選択すると、通常は Always を選択する場合より速いですが、すべてのデバイスと互換性があるわけではありません。 | |
Auto | 可能であれば、OS が提供するフレームバッファにレンダリングします。アプリケーションがシステムのフレームバッファにレンダリングできない場合、アプリケーションはオフスクリーンレンダリングに切り替え、デバイスコンソールに警告を出します。 |
デバイスの Aspect Ratio Mode を設定します。 Legacy Wide Screen(1.86)、Native Aspect Ratio、Custom から選択できます。Custom を選択すると、Up To フィールドが表示されます。
Up To プロパティでカスタムの最大画面幅を設定します。このプロパティは、Aspect Ratio Mode が Custom に設定されている場合にのみ使用できます。
Default Orientation ドロップダウンからゲームの画面の向きを選択します。
設定 | 機能 |
---|---|
Portrait | ホームボタンが下部に表示されます。 |
Portrait Upside Down | ホームボタンが上部に表示されます。 |
Landscape Left | ホームボタンが右側に表示されます。 |
Landscape Right | ホームボタンが左側に表示されます。 |
Auto Rotation | Allow Orientations for Auto Rotation 設定で指定されたいずれかの向きに画面が自動的に回転するようにします。これがデフォルトです。 |
ノート: この設定は iOS と Android デバイスで共通です。
画面の向きを Auto Rotation に設定すると、Allowed Orientations for Auto Rotation セクションが表示されます。
このセクションは Default Orientation が Auto Rotation に設定されている場合にのみ表示されます。
Auto Rotation は画面の向きをデバイスに合わせて変更するため、可能な画面の向きを制限できます (例えば、デバイスを横向きにロックするなど)。
このセクションのボックスにチェックを入れると、向きを有効にできます。
設定 | 機能 |
---|---|
Portrait | 縦向きが可能。 |
Portrait Upside Down | 縦向き (逆さ) が可能。 |
Landscape Right | 横向き (右) (ホームボタンが 左 にある状態) が可能。 |
Landscape Left | 横向き (左) (ホームボタンが 右 にある状態) が可能。 |
設定 | 機能 |
---|---|
Use 32-bit Display Buffer | これを有効にすると、32 ビットカラー値 (デフォルトは 16 ビット) を格納するためのディスプレイバッファを作成します。縞模様が見えたり、 ポストプロセスエフェクト でアルファを必要とする場合に使用します。なぜなら、ディスプレイバッファと同じ形式で レンダーテクスチャ を作成するからです。 |
Disable Depth and Stencil | これを有効にすると、深度バッファとステンシルバッファが無効になります。 |
Render Over Native UI | このオプションを有効にすると、Android または iOS のネイティブの UI の上に描画します。この効果が適用されるためには、カメラの Clear Flags をソリッドカラーに設定し、アルファを 1 より小さくします。 |
Show Loading Indicator | ローディングインジケーターの表示方法を選択します。オプションは Don’t Show、Large、Inversed Large、Small、Inversed Small です。 |
共通の Splash Screen 設定 の上に表示された Virtual Reality Splash Image 設定を使用して、Virtual Reality ディスプレイのカスタムスプラッシュ画像を指定します。
一般的な Splash Screen 設定の下で、Android 特有の Static Splash Image を設定できます。
Android Splash Screen プロパティを使用して、Android のスプラッシュスクリーンに使用するテクスチャを指定します。スプラッシュスクリーン画像の標準サイズは 320x480 です。
Splash Scaling ドロップダウンからデバイスの画面に合わせてスプラッシュ画像を拡大する方法を選択します。選択肢は以下のとおりです。
Other Settings のセクションでは、以下のグループに分類されたさまざまなオプションをカスタマイズできます。
これらの設定を使用して、Android プラットフォーム向けにゲームをレンダリングする方法をカスタマイズします。
プロパティ | 機能 |
---|---|
Color Space | レンダリングに Gamma と Linear どちらの色空間を使用するかを選択します。 2 つの色空間の違いについては リニアレンダリングの概要 を参照してください。 |
Auto Graphics API | これを無効にすると、手動でグラフィックス API を選択することができます。デフォルトでは、この機能は有効で、有効にすると、Unity は GLES3.2 の使用を試みます。デバイスが GLES3.2 に対応していない場合は GLES3.1、GLES3、GLES2 を代わりに使用します。リストに GLES3 しかない場合は、2 つの追加チェックボックス、Require ES3.1 と Require ES3.1+AEP が表示され、対応するグラフィックス API を強制的に使用できます。注意 GLES3/GLES3.1/AEP/3.2 の要件は、GLES2 がリストになく、かつ、最小 API レベル が JellyBean (API レベル18) 以上に設定されている場合にのみ、Android マニフェストに追加されます。この場合にのみ、Google Play Store 内で、サポートされないデバイスに対しアプリケーションは表示されません。 |
Color Gamut | レンダリングに使用する Android プラットフォームの色域を追加または削除できます。プラス (+) アイコンをクリックすると、使用可能な色域のリストが表示されます。色域は、特定のデバイス (モニタやスクリーンなど) で使用可能な色の範囲を定義します。sRGB 色域はデフォルトの (また必要な) 色域です。広色域ディスプレイを備えたデバイスをターゲットにする場合は、ディスプレイ機能を完全に利用するために DisplayP3 を使用します。 |
Multithreaded Rendering | これを有効にすると、グラフィックス API の呼び出しを Unity のメインスレッドから別のワーカースレッドに移動します。これにより、メインスレッドで CPU 使用率が高いアプリケーションのパフォーマンスを向上することが可能です。 |
Static Batching | これを有効にすると、静的バッチング をビルドに使用します (デフォルトでは有効になっています)。 |
Dynamic Batching | これを有効にすると、ビルドで 動的バッチング を使用できます (デフォルトでは有効)。 ノート: 動的バッチングは、スクリプタブルレンダーパイプライン がアクティブな場合は効力がありません。そのため、この設定は、Graphics 設定で Scriptable Render Pipeline アセットが設定されていない場合にのみ表示されます。 |
Compute Skinning | これを有効にすると、GPU コンピュートスキニングを使用します。GPU コンピュートスキニングは CPU リソースを解放します。コンピュートスキニングは OpenGL ES 3.1 または Vulkan をサポートするデバイスでサポートされます。GPU コンピュートスキニングの詳細は、Wikipedia のスケルタルアニメーションに関するページ を参照してください。 |
Graphics Jobs | これを有効にすると、Unity がグラフィックスタスク (レンダリングのループ) を他の CPU コア上で動作するワーカースレッドにオフロードします。これは、しばしばボトルネックとなるメインスレッドの Camera.Render で費やされる時間を短縮します。 ノート: 現在、Unity は、Vulkan を使用している時のみ Graphics Jobs をサポートします。そのため、この設定は、OpenGL ES を使用しているときには効力がありません。 |
Lightmap Encoding | ライトマップのエンコードを設定するには、Low Quality、Normal Quality、High Quality のいずれかを選択します。この設定は、ライトマップのエンコードスキームと圧縮形式に影響します。 |
Lightmap Streaming Enabled | これを有効にすると、現在のゲームのカメラをレンダリングするために、必要な場合にライトマップのミップマップのみを読み込みます。テクスチャを生成するときに、マップテクスチャにこの値を適用します。 ノート: この設定を使用するには、Texture Streaming Quality 設定を有効にする必要があります。 |
Streaming Priority | リソースに矛盾がある場合は、ライトマップのミップマップストリーミングの優先順位を定義します。有効な範囲は –127 から 128で、正の数が高い優先度を持ちます。この設定は、Lightmap Streaming Enabled が選択されている場合にのみ使用可能です。この値を使用するには、Texture Streaming Quality 設定 を有効にします。 |
Protect Graphics Memory | これを有効にすると、ハードウェアによって保護されたパスを通したときだけグラフィックスバッファを表示するように強制します。これをサポートするデバイスでのみ作動します。 |
Enable Frame Timing Stats | CPU と GPU でフレームが費やす時間の統計を収集します。 |
SRGB Write Mode オプションを有効にすると、Vulkan レンダラーの Graphics.SetSRGBWrite() を sRGB の書き込みモードに切り替えることができます。
注意 この機能を有効にすると、パフォーマンスが低下する場合があります。特にタイル分割された GPU (tiled GPU) の場合は、パフォーマンスを低下させる可能性があります。
プロパティ | 機能 |
---|---|
Package Name | アプリケーション ID を設定します。デバイス上と Google Play Store でアプリケーションを確認するのに使用されます。ID の基本的な構成は com.CompanyName.AppName で、任意に選択できます。これは iOS と Android 間で共有されます。 |
Version | バンドルのイテレーション (リリースされたかどうかにかかわらず) を示す、バンドルのビルドバージョン番号を入力します。バージョンはドットで区切られた数字を含む一般的な文字列の形式 (4.3.2 など) で特定されます。これは iOS と Android 間で共有されます。 |
Bundle Version Code | 内部バージョン番号。この数は、あるバージョンがもう 1 つのバージョンよりも新しいかを判断するためだけに使用されます。大きい数はより最近のバージョンであることを表します。これは、ユーザーに表示されるバージョン番号ではありません。その番号は、versionName 属性によって設定されます。値は、100 のような整数で設定する必要があります。ただし、後に続くバージョンに大きな数を与える限り、好きな数を決定できます。例えば、ビルド番号も可能です。または、“x.y” 形式のバージョン番号を “x” と “y” を下位と上位の 16 ビットに別々にエンコードすることによって、整数に変換できます。 Split APKs by target architecture が有効になっている場合、この数を 100000 未満にしてください。各 APK には一意のバージョンコードが必要であるため、Unity は ARMv7 の数に 100000、ARM64 に 200000 を加えます。 |
Minimum API Level | アプリケーションを実行するのに必要な API の最小バージョン (API レベル) |
Target API Level | アプリケーションをコンパイルするターゲットの Android バージョン (API レベル) |
設定 | 機能 | |
---|---|---|
Scripting Backend | 使用したいスクリプティングバックエンドを選択します。スクリプティングバックエンドは Unity のプロジェクトで C# コードをコンパイルし実行する方法を決定します。 | |
Mono | C# コードを .NET Common Intermediate Language (CIL) にコンパイルし、それを Common Language Runtime を使用して実行します。詳細は、Mono プロジェクト に関するウェブサイトを参照してください。 | |
IL2CPP | C# コードを CIL にコンパイルし、CIL を C++ に変換し、次に、その C++ をネイティブのマシンコードにコンパイルします。これは、ランタイムに直接実行されます。詳細は IL2CPP を参照してください。 | |
API Compatibility Level | プロジェクトに使用する .NET API を選択します。この設定は、サードパーティ製ライブラリとの互換性に影響を与えます。 ヒント: サードパーティ製アセンブリに問題がある場合は、後述の API Compatibility Level セクションを参照してください。 |
|
.Net 2.0 | .NET 2.0 ライブラリ。最大の .Net 互換性、最大ファイルサイズ。非推奨の .NET 3.5 ランタイムの一部。 | |
.Net 2.0 Subset | 完全な .Net 互換性のサブセット。ファイルサイズは小さくなります。非推奨の .NET 3.5 ランタイムの一部。 | |
.Net Standard 2.0 | .NET Standard 2.0 と互換性があります。ビルドは小さく、完全なクロスプラットフォームをサポートします。 | |
.Net 4.x | .NET Framework 4 (.NET Standard 2.0 プロファイルのすべてと追加 API を含む) と互換性があります。.NET Standard 2.0 に含まれていない API にアクセスするライブラリを使用する場合は、このオプションを選択します。より大きいビルドを作成し、使用可能な追加の API を作成することがすべてのプラットフォームで必ずしもサポートされるわけではありません。詳細は、追加のクラスライブラリアセンブリの参照 を参照してください。 | |
C++ Compiler Configuration | IL2CPP 生成コードをコンパイルするときに使用する C++ コンパイラーの設定を選択します。 注意: このプロパティは、Scripting Backend が IL2CPP に設定されない限り、無効です。 |
|
Use incremental GC | インクリメンタルなガベージコレクターを使用します。これは、ガベージコレクションをいくつかのフレームに広げ、フレーム継続時間中に GC に関連するスパイクを軽減します。 | |
Mute Other Audio Sources | これを有効にすると、Unity は、バックグラウンドで実行しているアプリケーションからのオーディオを止めます。これを無効にすると、バックグラウンドアプリケーションからのオーディオを Unity のアプリケーションと一緒に再生します。 | |
Target Architectures | アプリケーションの実行を許可する CPU を選択します (32 ビット ARM、64 ビット ARM、32 ビット Intel)。 ノート Android アプリケーションを 64 ビット環境で実行するとパフォーマンスが向上し、64 ビットアプリケーションは 4GB を超えるメモリ空間に対応できます。 |
|
Split APKs by target architecture (Experimental) | このオプションを有効にすると、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 で低精度の値を使用します。 | |
Android TV Compatibility | これを有効にすると、アプリケーションを Android TV と互換性のあるものと認識させます。 | |
Android Game | これを有効にすると、出力パッケージ (APK) を通常のアプリケーションではなく、ゲームとして認識させます。 | |
Android Gamepad Support Level | アプリケーションがゲームパッドに提供するサポートレベルを設定します。 オプションは Works with D-Pad、Supports Gamepad、Requires Gamepad です。 | |
Warn about App Bundle size | これを有効にすると、Android App Bundle のサイズが特定のしきい値を超えたときに警告を受けます。 このオプションはデフォルトで選択されており、 Build 設定 で Build App Bundle (Google Play) オプションを有効にする場合にのみ設定できます。 | |
App Bundle size threshold | サイズを MB で入力します。App Bundle がこのサイズを超えると、Unity は警告を表示します。 | |
Input Manager | 従来の Input 設定を使用します。 | |
Input System (Preview) | 新しい Input (入力) システムを使用します。入力システムはこのリリースのプレビューパッケージとして提供されています。Input System のプレビュー版を使用するには、InputSystem パッケージ をインストールしてください。 | |
Both | 両方のシステムを同時に使用できます。 |
すべてのターゲットに対する Mono の API Compatibility Level (API 互換性レベル) を選択できます。時にはサードパーティ製の .NET ライブラリが、.NET 互換性レベル外の機能を使用することがあります。そのような場合に何が起きているか理解し、最良の修正処理を行うためには、以下を試みると良いでしょう。
Frameworks/Mono/lib/mono/YOURSUBSET/
にあります。Setting | Function | |
---|---|---|
Scripting Define Symbols | Set custom compilation flags. For more details, see the documentation on Platform dependent compilation. | |
Additional Compiler Arguments | Add entries to this list to pass additional arguments to the Roslyn compiler. Use one new entry for each additional argument. To create a new entry, press the ‘+’ button. To remove an entry, press the ‘-’ button. When you have added all desired arguments, click the Apply button to include your additional arguments in future compilations.The Revert button resets this list to the most recent applied state. |
|
Suppress Common Warnings | Disable this setting to display the C# warnings CS0169 and CS0649. | |
Allow ‘unsafe’ Code | Enable support for compiling ‘unsafe’ C# code in a pre-defined assembly (for example, Assembly-CSharp.dll ). For Assembly Definition Files ( .asmdef ), click on one of your .asmdef files and enable the option in the Inspector window that appears. |
|
Use Deterministic Compilation | Disable this setting to prevent compilation with the -deterministic C# flag. With this setting enabled, compiled assemblies are byte-for-byte identical each time they are compiled. For more information, see Microsoft’s deterministic compiler option documentation. |
|
Enable Roslyn Analyzers | Disable this setting to compile user-written scripts without Roslyn analyzer DLLs that might be present in your project. | |
Use Roslyn Reference Assemblies | Disable this setting to the compiler not to skip compilation reference assemblies when the metadata of the assembly does not change. |
設定 | 機能 | |
---|---|---|
Prebake Collision Meshes | ビルド時に衝突データをメッシュに加えるには、このオプションを有効にします。 | |
Keep Loaded Shaders Alive | シェーダーがアンロードされないようにするには、このオプションを有効にします。 | |
Preloaded Assets | 起動時にプレイヤーが読み込むためのアセットの配列を設定します。 新しいアセットを加えるには、Size プロパティの値を増やし、表示される新しい Element ボックスに読み込むようにアセットへの参照を設定します。 |
|
Strip Engine Code (IL2CPP only) | プロジェクトで使用されていない Unity エンジン機能のコードを、Unity Linker ツールが削除するかどうかを指定します。 | |
Managed Stripping Level | Unityが 未使用のマネージ (C#) コードをどれだけ積極的に削除するかを定義します。 Unity がゲームやアプリケーションをビルドするとき、Unity Linker プロセスは、プロジェクトで使用されている動的にリンクされたマネージライブラリから未使用のコードをストリップします。コードを削除すると、結果として得られる実行ファイルはかなり小さくなりますが、誤って実際に使用されているコードを削除することがあります。この設定では、未使用のコードをどれだけ積極的に削除するかを選択できます。 |
|
Disabled (Mono only) | いかなるコードも削除しません。(マネージコードのストリッピングは IL2CPP を使用する場合は常に有効です。) | |
Normal | ビルドサイズと Mono/IL2CPP のビルド時間を減らすために、アクセス不能なマネージコードを削除します。 | |
Aggressive (Experimental) | Normal オプションよりもより積極的にコードを削除します。コードサイズはさらに削減されますが、この追加の削減は悪い影響を伴う可能性があります。例えば、メソッドの一部がデバッガで表示されなくなったり、リフレクションによってアクセスされるコードが削除される、などです。カスタムの link.xml ファイルを作成して、特定のクラスとメソッドを保持することができます。詳細は IL2CPP を使ったマネージバイトコードストリップ を参照してください。 | |
Enable Internal profiler (Deprecated) | これを有効にすると、プロジェクトのテスト中に Android SDK の adblogcat が出力するデバイスのプロファイラーデータを取得できます。開発ビルドでのみ使用可能。 | |
Script Call Optimization | ランタイムの速度を上げるために任意で例外処理を無効にする方法を設定します。詳しくは iOS 固有の最適化 を参照してください。 | |
Slow and Safe | 完全な例外処理を行います (Mono スクリプティングバックエンドを使用する場合は、デバイスのパフォーマンスに影響を与えることがあります)。 | |
Fast but no Exceptions | デバイスの例外に対してデータを提供しません (Mono スクリプティングバックエンドを使用すると、ゲームはより高速で実行されます)。 ノート: この機能を IL2CPP スクリプティングバックエンド と一緒に使用してもパフォーマンスに影響を与えません。ただし、リリース用ビルドで未定義の動作を避けることができます。 |
|
Vertex Compression | チャンネルごとに頂点圧縮を設定します。例えば、位置とライトマップ UV 以外のすべてに対して圧縮を有効にすることができます。インポートされた各オブジェクトに設定されたメッシュ全体の圧縮は、オブジェクトに設定された頂点圧縮を上書きします。 | |
Optimize Mesh Data | これを有効にすると、メッシュに適用されるマテリアルに必要のないすべてのデータはメッシュから削除されます。 |
特定のコンテキストで許可するログのタイプを選択します。
各ログタイプ (Error、Assert、Warning、Log、Exception) に対して、以下のオプションから 1 つ選択します。スクリプト実行中にログを行う (ScriptOnly)、常に行なう (Full)、決して行なわない (None)。
Clamp BlendShapes (Deprecated) オプションを有効にすると、SkinnedMeshRenderers でブレンドシェイプのウェイトの範囲を固定できます。
Publishing Settings を使って、Unity が Android アプリケーションをビルドする方法を設定します。 Publishing 設定を開くには、Edit > Project Settings に移動し、Player を選択し、Android アイコンを選択し、Publishing Settings パネルを開きます。
このセクションでは、Publishing Settings パネルの各部分とその機能について説明します。以下の内容が含まれます。
Project Keystore
Project Key
Build
Minify
Split Application Binary
ノート: セキュリティ上の理由から、Unity は Keystore や Project Key のパスワードを保存しません。
Keystore Manager ウィンドウを使用して、キーとキーストアを作成、構成、およびロードします。 KeystoreManager またはメインの Android Publishing パネルから、既存のキーストアとキーをロードすることができます。Keystore Manager からこれらをロードすることを選択する場合、Unity は Project Keystore フィールドと Project Key フィールドに自動的に入力します。 詳細については、Keystore Manager のドキュメントを参照してください。
キーストアとは、アプリケーションのセキュリティのための署名鍵を保持するコンテナです。詳しくは、Android 開発者向けドキュメント Android keystore system を参照してください。
Project Keystore の設定で、開いているプロジェクトに使用するキーストアを選択します。キーストアをロードすると、Unity はそのキーストア内のすべてのキーをロードします。 開いているプロジェクトに既存のキーストアをロードして使用するには、以下を行います。
既存のキーストアがない場合は、カスタムキーストア を無効にしておきます。
Unity では、アプリケーションの署名にデバッグ用の鍵ストアを使用します。 デバッグ用のキーストアは、作業用のキーストアです。これにより、アプリケーションを署名し、ローカルでテストすることができます。ただし、アプリストアはこの方法で署名されたアプリを拒否します。これは、アプリストアが、デバッグ用のキーストアを使用したアプリケーションの有効性と所有権を検証できないためです。
プロパティ | 説明 |
---|---|
Custom Keystore | Custom Keystore を有効にして、既存のキーストアをロードして使用します。 |
Select | Custom Keystore が有効な場合、これを使って使用するキーストアを選択します。 Select のドロップダウンにあるパーティション以下のキーストアは、あらかじめ定義された専用の場所に保存されています。詳しくは、キーストアの場所の選択 を参照してください。 |
パス | キーストアのパスを入力する必要はありません。選択したキーストアに基づいて Unity が提供します。 |
Password | キーストアのパスワードを入力して、選択したキーストアをロードします。 |
キーストアをロードすると、Unity はそのキーストア内のすべてのキーをロードします。Project Key 設定を使ってキーストアから 1 つのキーを選択し、開いているプロジェクトのアクティブキーとして使います。
プロパティ | 説明 |
---|---|
Alias | 開いているプロジェクトで使用するキーを選択します。 |
Password | キーとなるパスワードを入力します。 |
デフォルトでは、Unity は、Unity のインストール時に提供された Android マニフェスト、Gradle テンプレート、Proguard ファイルを使ってアプリケーションをビルドします。これらを変更するには、Android Publishing Settings の Build セクションを使用します。
カスタムの Android マニフェスト、Gradle テンプレート、Proguard ファイルを使用する場合は、以下を行います。
Build セクションの設定は、現在のプロジェクトのビルドプロセスにのみ適用されます。
プロパティ | 説明 |
---|---|
Custom Main Manifest | Android LibraryManifest.xml ファイルのカスタマイズ可能版です。このファイルには、Android アプリケーションに関する重要なメタデータが含まれています。Main/Library Manifest の役割については、Android Manifest に関するドキュメントを参照してください。 |
Custom Launcher Manifest | Android LauncherManifest.xml ファイルのカスタマイズ可能版です。このファイルには、Android アプリケーションに関する重要なメタデータが含まれています。Launcher Manifest の役割については、Android Manifest に関するドキュメントを参照してください。 |
Custom Main Gradle Template |
mainTemplate.gradle ファイルのカスタマイズ可能版です。このファイルには、Android アプリケーションをライブラリとして構築する方法に関する情報が含まれています。詳細については、カスタムの Gradle テンプレート のドキュメントを参照してください。 |
Custom Launcher Gradle Template |
launcherTemplate.gradle_ ファイルのカスタマイズ可能版です。このファイルには、Android アプリケーションを構築する方法に関する情報が含まれています。詳細については、build.gradle templates のドキュメントを参照してください。 |
Custom Base Gradle Template |
baseProjectTemplate.gradle ファイルのカスタマイズ可能版です。このファイルには、他のすべてのテンプレートと Gradle プロジェクトの間で共有される設定が含まれています。詳細については、build.gradle templates のドキュメントを参照してください。 |
Custom Gradle Properties Template |
gradle.properties ファイルのカスタマイズ可能版です。このファイルには、Gradle のビルド環境の構成設定が含まれています。これには以下が含まれます。- JVM(Java Virtual Machine)のメモリ設定 - Gradle が複数の JVM を使ってビルドできるようにするためのプロパティ - 最小化を行うツールを選択するためのプロパティ - アプリケーションバンドルのビルド時にネイティブリブを圧縮しないためのプロパティ |
Custom Proguard File | proguard.txt ファイルのカスタマイズ可能版です。このファイルには、最小化処理のための構成設定が含まれています。最小化によって、残すべき Java コードが削除されてしまった場合、そのコードを残すためのルールをこのファイルに追加する必要があります。詳細については、Minification のドキュメントを参照してください。 |
小型化 (Munification) とは、アプリケーションのコードを縮小、難読化、最適化するプロセスです。コードサイズを縮小し、コードを逆アセンブルしにくくすることができます。Minify の設定を使って、いつ、どのように Unity がビルドに小型化を適用するかを定義します。
ほとんどの場合、リリースビルドにのみ小型化を適用し、デバッグビルドには適用しないのが良い習慣です。小型化には時間がかかり、ビルドが遅くなる可能性があるからです。また、コードが小型化されることで、デバッグがより複雑になる可能性があります。
Munify セクションの設定は、現在のプロジェクトのビルドプロセスにのみ適用されます。
プロパティ | 説明 |
---|---|
Use R8 | デフォルトでは、Unity は小型化に Proguard を使用します。このチェックボックスを有効にすると、代わりに R8 を使用します。 |
Release | リリースビルド時にアプリケーションのコードを小型化したい場合は、このチェックボックスを有効にします。 |
Debug | デバッグビルド時にアプリケーションのコードを小型化したい場合は、このチェックボックスを有効にします。 |
Split Application Binary オプションを有効にすると、出力パッケージをメイン (APK) パッケージと拡張 (OBB) パッケージに分割します。これは 100 MB を超えるアプリケーションを公開する場合は、 Goolge Play ストアによって必須とされています。
ノート: XR SDK のビルトインサポートは非推奨となり、Unity の将来のバージョンで廃止される予定です。 代わりに Unity XR プラグインシステムを使用してください。詳細については、XR プラグインアーキテクチャ を参照してください。
設定 | 機能 | |
---|---|---|
Virtual Reality Supported | VR アプリケーションの場合、これを有効にします。次に、必要な VR SDK をリストに加えます。 | |
Virtual Reality SDKs | リストに Virtual Reality SDK を加えたり、削除したりします。このリストは、Virtual Reality Supported が有効な場合にのみ利用可能です。 SDK をリストに加えるには、プラス (+) ボタンをクリックします。 SDK をリストから削除するには、選択してからマイナス (-) ボタンをクリックします。 一部の SDK は追加設定をここに表示します。詳細は XR SDK を参照してください。 |
|
Stereo Rendering Mode | VR デバイスのレンダリング方法を選択します。 | |
Multi Pass | これが通常のレンダリングモードです。Unity はシーンを 2 度レンダリングします。最初に左眼画像をレンダリングしてから右眼画像をレンダリングします。 | |
Single Pass Multiview or Instanced (Preview) | 両方の眼の画像を同時にまとまった 1 つのレンダーテクスチャにレンダリングします。つまり、シーン全体が 1 回だけレンダリングされるため、CPU の処理時間が大幅に削減されます。 |