Version: 2021.1
Unity Remote
Android Keystore Manager

Android Player settings

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

Android Player 設定
Android Player 設定

Documentation for the properties is grouped according to their respective sections in the Player UI:

Icon

The Icon section of the Android Player settings
The Icon section of the Android Player settings
プロパティー 機能
Adaptive アプリケーションの Android アダプティブアイコンのテクスチャを設定します。
Round アプリケーションの Android 円形アイコンのテクスチャを設定します。
Legacy アプリケーションの Android の古いアイコンのテクスチャを設定します。
Enable Android Banner Android TV のビルドのカスタムバナーを有効にします。

Resolution and Presentation

Resolution and Presentation (解像度と表示) セクションを使用して、画面の表示をカスタマイズします。

Android プラットフォームの Resolution and Presentation の設定
Android プラットフォームの Resolution and Presentation の設定
設定 機能
Start in fullscreen mode スプラッシュスクリーンや最初のシーンが読み込まれている間、ナビゲーションバーを非表示にします。これを有効にしないと、スプラッシュスクリーンや最初のシーンがロードされている間、ナビゲーションバーが表示されます。
Render outside safe area Enable this option to allow rendering using all available screen space, including the display cutout (notch) area. For more information, see the display cutout support documentation on the Android developer website.
Optimized Frame Pacing Enable this option to allow Unity to evenly distribute frames for less variance in framerate, creating a smoother gameplay.

その他の Resolution and Presentation プロパティーは、以下のセクションにグループ化されています。

Resolution Scaling

Android プラットフォームの Resolution Scaling 設定
Android プラットフォームの Resolution Scaling 設定
設定 機能
Resolution Scaling Mode スケーリングをネイティブの画面解像度以下に設定します。
FixedDPI デバイスの画面解像度を元の解像度より低くし、Target DPI プロパティーを表示できます。これを使用してパフォーマンスとバッテリー寿命を最適化したり、特定の DPI 設定をターゲットにします。
Disabled スケーリングが適用されず、ゲームがネイティブの画像解像度にレンダリングされるようにします。
Target DPI Set the resolution of the game screen. Unity downscales the game screen to match this setting if the device’s native screen DPI is higher than this value. The scale is calculated as min(Target DPI * Factor / Screen DPI, 1). The Factor is controlled by the Resolution Scaling Fixed DPI Factor on the Quality settings.
Note: This option only appears when the Resolution Scaling Mode is set to Fixed DPI.
Blit Type 最終的な画像をスクリーンに描画するために転送を使用するかどうかを制御します。
Always これを選択すると、Unity はオフスクリーンバッファにレンダリングし、次に、システムのフレームバッファにコピーします。これはほとんどのデバイスと互換性がありますが、通常は Never より遅いです。
Never これを選択すると、Unity は OS が提供するフレームバッファにレンダリングします。アプリケーション実行中に失敗の原因となる条件が発生すると、アプリケーションはデバイスログに 1 回限りの警告を出力します。Never を選択すると、通常は Always を選択する場合より速いですが、すべてのデバイスと互換性があるわけではありません。
Auto 可能であれば、OS が提供するフレームバッファにレンダリングします。アプリケーションがシステムのフレームバッファにレンダリングできない場合、アプリケーションはオフスクリーンレンダリングに切り替え、デバイスコンソールに警告を出します。

Supported Aspect Ratio

Android プラットフォームの Aspect Ratio Mode 設定
Android プラットフォームの Aspect Ratio Mode 設定

デバイスの Aspect Ratio Mode を設定します。 Legacy Wide Screen(1.86)Native Aspect RatioCustom から選択できます。Custom を選択すると、Up To フィールドが表示されます。

Up To プロパティーでカスタムの最大画面幅を設定します。このプロパティーは、Aspect Ratio ModeCustom に設定されている場合にのみ使用できます。

Orientation

Android プラットフォームの Default Orientation 設定
Android プラットフォームの Default Orientation 設定

Default Orientation ドロップダウンからゲームの画面の向きを選択します。

設定 機能
Portrait ホームボタンが下部に表示されます。
Portrait Upside Down ホームボタンが上部に表示されます。
Landscape Left ホームボタンが右側に表示されます。
Landscape Right ホームボタンが左側に表示されます。
Auto Rotation Allow Orientations for Auto Rotation 設定で指定されたいずれかの向きに画面が自動的に回転するようにします。これがデフォルトです。

Note: This setting is shared between iOS and Android devices.

画面の向きを Auto Rotation に設定すると、Allowed Orientations for Auto Rotation セクションが表示されます。

Allowed Orientations for Auto Rotation

このセクションは Default OrientationAuto Rotation に設定されている場合にのみ表示されます。

Android プラットフォームの Auto Rotation Player 設定で可能な向きを許可
Android プラットフォームの Auto Rotation Player 設定で可能な向きを許可

Auto Rotation は画面の向きをデバイスに合わせて変更するため、可能な画面の向きを制限できます (例えば、デバイスを横向きにロックするなど)。

このセクションのボックスにチェックを入れると、向きを有効にできます。

設定 機能
Portrait 縦向きが可能。
Portrait Upside Down 縦向き (逆さ) が可能。
Landscape Right 横向き (右) (ホームボタンが にある状態) が可能。
Landscape Left 横向き (左) (ホームボタンが にある状態) が可能。

Other

Other Resolution and Presentation settings for the Android platform
Other Resolution and Presentation settings for the Android platform
設定 機能
Use 32-bit Display Buffer これを有効にすると、32 ビットカラー値 (デフォルトは 16 ビット) を格納するためのディスプレイバッファを作成します。縞模様が見えたり、 ポストプロセスエフェクト でアルファを必要とする場合に使用します。なぜなら、ディスプレイバッファと同じ形式で レンダーテクスチャ を作成するからです。
Disable Depth and Stencil これを有効にすると、深度バッファとステンシルバッファが無効になります。
Render Over Native UI Enable this option if you want Unity to render on top of native UI on Android or iOS. The camera’s Clear Flags have to be set to Solid color with an alpha less than 1 for this to have any effect.
Show Loading Indicator ローディングインジケーターの表示方法を選択します。オプションは Don’t ShowLargeInversed LargeSmallInversed Small です。

Splash Image

共通の Splash Screen 設定 の上に表示された Virtual Reality Splash Image 設定を使用して、Virtual Reality ディスプレイのカスタムスプラッシュ画像を指定します。

Android プラットフォームプレイヤーのスプラッシュ設定
Android プラットフォームプレイヤーのスプラッシュ設定

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

Android Player プラットフォームのストーリーボードを起動画面に使用
Android Player プラットフォームのストーリーボードを起動画面に使用

Android Splash Screen プロパティーを使用して、Android のスプラッシュスクリーンに使用するテクスチャを指定します。スプラッシュスクリーン画像の標準サイズは 320x480 です。

Splash Scaling ドロップダウンからデバイスの画面に合わせてスプラッシュ画像を拡大する方法を選択します。選択肢は以下のとおりです。

  • Center (only scale down) (スケールダウンのみ)
  • Scale to Fit (letter-boxed) (レターボックス)
  • Scale to Fill (cropped)  (短い方に合わせ長い方を切る)

Other Settings

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

Rendering

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

Android プラットフォームのレンダリング設定
Android プラットフォームのレンダリング設定
プロパティー 機能
Color Space レンダリングに GammaLinear どちらの色空間を使用するかを選択します。
2 つの色空間の違いについては リニアレンダリングの概要 を参照してください。
Auto Graphics API Disable this option to manually pick and reorder the graphics APIs. (OpenGL). By default this option is enabled, and Unity tries GLES3.2. If the device doesn’t support GLES3.2, Unity falls back to GLES3.1, GLES3 or GLES2. If only GLES3 is in the list, additional checkboxes appear: Require ES3.1, Require ES3.1+AEP and Require ES3.2. These allow you to force the corresponding graphics API.
Important: Unity adds the GLES3/GLES3.1/AEP/3.2 requirement to your Android manifest only if GLES2 is not in the list and the Minimum API Level is set to JellyBean (API level 18) or higher. In this case only, your application does not appear on unsupported devices in the Google Play Store.
Color Gamut You can add or remove color gamuts for the Android platform to use for rendering. Click the plus (+) icon to see a list of available gamuts. A color gamut defines a possible range of colors available for a given device (such as a monitor or screen). The sRGB gamut is the default (and required) gamut. When targeting devices with wide color gamut displays, use DisplayP3 to utilize full display capabilities.
Multithreaded Rendering 有効にすると、グラフィックス API の呼び出しを Unity のメインスレッドから別のワーカースレッドに移動します。これにより、メインスレッドで CPU 使用率が高いアプリケーションのパフォーマンスを向上することが可能です。
Static Batching 有効にすると、静的バッチング をビルドに使用します (デフォルトでは有効になっています)。
Dynamic Batching Enable this option to use Dynamic Batching on your build (enabled by default).
Note: Dynamic batching has no effect when a Scriptable Render Pipeline is active, so this setting is visible only when no Scriptable Render Pipeline asset is set in Graphics Settings.
Compute Skinning Enable this option to use GPU compute skinning, which frees up CPU resources. Compute Skinning is supported on devices that support OpenGL ES 3.1 or Vulkan. To learn more about GPU compute skinning, see the Wikipedia page on skeletal animation.
Graphics Jobs Enable this option to instruct Unity to offload graphics tasks (render loops) to worker threads running on other CPU cores. This reduces the time spent in Camera.Render on the main thread, which is often a bottleneck.
Note: Unity currently only supports Graphics Jobs when using Vulkan and this setting has no effect when using OpenGL ES.
Normal Map Encoding Choose XYZ or DXT5nm-style to set the normal map encoding. This affects the encoding scheme and compression format used for normal maps. DXT5nm-style normal maps are of higher quality, but more expensive to decode in shaders.
Lightmap Encoding Choose Low Quality, Normal Quality, or High Quality to set the lightmap encoding. This setting affects the encoding scheme and compression format of the lightmaps.
Lightmap Streaming Enabled Enable this option to load only the lightmap mipmaps when needed. To render the current game Cameras, Unity applies this value to the lightmap textures when it generates the textures.
Note: To use this value, enable the Texture Streaming Quality setting.
Streaming Priority Define the lightmap mipmap streaming priority when there’s contention for resources. The valid range is –127 to 128, where a positive number represents higher priority. This setting is only available when Lightmap Streaming Enabled is checked. To use this value, enable the Texture Streaming Quality setting.
Protect Graphics Memory 有効にすると、ハードウェアによって保護されたパスを通したときだけグラフィックスバッファを表示するように強制します。これをサポートするデバイスでのみ作動します。
Enable Frame Timing Stats CPU と GPU でフレームが費やす時間の統計を収集します。

Vulkan Settings

Android プラットフォームの Vulkan 設定
Android プラットフォームの Vulkan 設定
プロパティー 機能
SRGB Write Mode Enable this option to allow Graphics.SetSRGBWrite() on Vulkan renderer to toggle the sRGB write mode during the frame. Enabling this has a negative impact on performance.
Number of swapchain buffers Set this option to 2 for double-bufferin, or 3 for triple-buffering. Double-buffering might have a negative impact on performance.
Acquire swaichain image late as possible Enable this option to acquire the backbuffer image right before the image is presented. This might improve performance if double-buffering is selected, but should otherwise be avoided on Android because it introduces additional memory bandwidth costs.
Apply display rotation during rendering Enable this to perform all rendering in the native orientation of the display. This has a performance benefit on many devices. For more information, see documentation on Vulkan swapchain pre-rotation.

Identification

Android プラットフォームの ID 設定
Android プラットフォームの ID 設定
プロパティー 機能
Package Name アプリケーション ID を設定します。デバイス上と Google Play Store でアプリケーションを確認するのに使用されます。ID の基本的な構成は com.CompanyName.AppName で、任意に選択できます。これは iOS と Android 間で共有されます。
Version バンドルのイテレーション (リリースされたかどうかにかかわらず) を示す、バンドルのビルドバージョン番号を入力します。バージョンはドットで区切られた数字を含む一般的な文字列の形式 (4.3.2 など) で特定されます。これは iOS と Android 間で共有されます。
Bundle Version Code An internal version number. This number is used only to determine whether one version is more recent than another, with higher numbers indicating more recent versions. This is not the version number shown to users; that number is set by the versionName attribute. The value must be set as an integer, such as “100”. You can define it however you want, as long as each successive version has a higher number.

For example, it could be a build number. Or you could translate a version number in “x.y” format to an integer by encoding the “x” and “y” separately in the lower and upper 16 bits. Or you could simply increase the number by one each time a new version is released.

Keep this number under 100000 if Split APKs by target architecture is enabled. Each APK must have a unique version code so Unity adds 100000 to the number for ARMv7, and 200000 for ARM64.
Minimum API Level アプリケーションを実行するのに必要な API の最小バージョン (API レベル)
Target API Level アプリケーションをコンパイルするターゲットの Android バージョン (API レベル)

Configuration

Android プラットフォームの設定
Android プラットフォームの設定
設定 機能
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 Choose which .NET APIs can be used in your project. This setting can affect compatibility with 3rd-party libraries.
Tip: If you are having problems with a third-party assembly, you can try the suggestion in the API Compatibility Level section below.
.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 Compatible with the .NET Framework 4 (which includes everything in the .NET Standard 2.0 profile as well as additional APIs). Choose this option when using libraries that access APIs not included in .NET Standard 2.0. Produces larger builds and any additional APIs available are not necessarily supported on all platforms. See Referencing additional class library assemblies for more information.
C++ Compiler Configuration Choose the C++ compiler configuration used when compiling IL2CPP generated code.
Note: This property is disabled unless Scripting Backend is set to 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 Install the application to external storage (SD card) if possible. The operating system doesn’t guarantee it; if not possible, the app will be installed to internal memory.
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 Choose the level of support your application offers for a gamepad. The options are Works with D-Pad, Supports Gamepad, and Requires Gamepad.
Warn about App Bundle size Enable this option to receive a warning when the size of the Android App Bundle exceeds a certain threshold. This option is selected by default and you can only configure it if you enable the Build App Bundle (Google Play) option in the Build settings.
App Bundle size threshold Enter a size in Mb. When your App Bundle exceeds this size, Unity will display a warning.
Input Manager 従来の Input 設定を使用します。
Input System (Preview) 新しい Input (入力) システムを使用します。入力システムはこのリリースのプレビューパッケージとして提供されています。Input System のプレビュー版を使用するには、InputSystem パッケージ をインストールしてください。
Both 両方のシステムを同時に使用できます。

API Compatibility Level

すべてのターゲットに対する Mono の API Compatibility Level (API 互換性レベル) を選択できます。時にはサードパーティ製の .NET ライブラリが、.NET 互換性レベル外の機能を使用することがあります。そのような場合に何が起きているか理解し、最良の修正処理を行うためには、以下を試みると良いでしょう。

  1. Windows の場合は Reflector をインストールします。
  2. Drag the .NET assemblies for the API compatibility level you are having issues with into Reflector. You can find these under Frameworks/Mono/lib/mono/YOURSUBSET/.
  3. サードパーティ製のアセンブリをドラッグします。
  4. サードパーティ製のアセンブリを右クリックし、Analyze を選択します。
  5. 分析レポートの中で、Depends on セクションを調べます。サードパーティ製品依存でありながら、選択した .NET 互換性レベルで対応しないものはすべてここで赤字でハイライトされます。

Script Compilation

Script compilation settings for the Android platform
Script compilation settings for the Android platform
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.

Optimization

Android プラットフォームの最適化設定
Android プラットフォームの最適化設定
設定 機能
Prebake Collision Meshes ビルド時に衝突データをメッシュに加えるには、このオプションを有効にします。
Keep Loaded Shaders Alive シェーダーがアンロードされないようにするには、このオプションを有効にします。
Preloaded Assets 起動時にプレイヤーが読み込むためのアセットの配列を設定します。
新しいアセットを加えるには、Size プロパティーの値を増やし、表示される新しい Element ボックスに読み込むようにアセットへの参照を設定します。
Strip Engine Code (IL2CPP only) Specify whether the Unity Linker tool removes code for Unity Engine features that your Project doesn’t use.
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 No data provided for exceptions on the device (the game runs faster when using the Mono scripting backend).
Note: If you use this option with the IL2CPP Scripting Backend it won’t impact performance; however, using it can avoid undefined behavior on release builds.
Vertex Compression チャンネルごとに頂点圧縮を設定します。例えば、位置とライトマップ UV 以外のすべてに対して圧縮を有効にすることができます。インポートされた各オブジェクトに設定されたメッシュ全体の圧縮は、オブジェクトに設定された頂点圧縮を上書きします。
Optimize Mesh Data これを有効にすると、メッシュに適用されるマテリアルに必要のないすべてのデータはメッシュから削除されます。

Logging

特定のコンテキストで許可するログのタイプを選択します。

Androidプラットフォームのログ設定
Androidプラットフォームのログ設定

スクリプト実行中にログを行う (ScriptOnly)、常に行なう (Full)、決して行なわない (None) のそれぞれに対して、ログのタイプ (ErrorAssertWarningLogException) にチェックを入れます。

Legacy

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

Android プラットフォームの Legacy (古い) 設定
Android プラットフォームの Legacy (古い) 設定

Publishing Settings

Use the Publishing Settings to configure how Unity builds your Android app. To open the Publishing Settings, go to Edit > Project Settings, select Player, select the Android icon, and open the Publishing Settings panel.

This section describes the different parts of the Publishing Settings panel and what they do. These include:

Project Keystore
Project Key
Build
Minify
Split Application Binary

Android publishing panel
Android publishing panel

Note: For security reasons, Unity doesn’t save your Keystore or Project Key passwords.

Use the Keystore Manager window to create, configure and load your keys and keystores. You can load existing keystores and keys from either the Keystore Manager or the main Android Publishing panel. If you choose to load these from inside the Keystore Manager, Unity automatically fills the Project Keystore and Project Key fields.
For further information see documentation on the Keystore Manager.

Project Keystore

A keystore is a container that holds signing keys for application security. For details, see Android developer documentation: Android keystore system.

Use the Project Keystore settings to choose which keystore to use for the open project. When you load a keystore, Unity loads all of the keys in that keystore. To load and use an existing keystore in your open project:

  1. Enable Custom Keystore.
  2. Open the Select dropdown, select Browse, and choose a keystore from your file system.
  3. Enter your Keystore password.

If you don’t have an existing keystore, leave Custom Keystore disabled.

Unity uses a debug keystore to sign your application. A debug keystore is a working keystore. It allows you to sign the application and to test it locally. However, the app store will decline apps signed in this way. This is because the app store is unable to verify the validity and ownership of the application using a debug keystore.

プロパティー 説明
Custom Keystore Enable Custom Keystore to load and use an existing Keystore.
Select When Custom Keystore is enabled, use this to select the keystore you want to use. The keystores below the partition in the Select dropdown are stored in a predefined dedicated location. For more details, see Choosing your keystore location.
Path You do not need to enter your keystore path. Unity provides this based on the keystore you choose.
Password Enter your keystore password to load your chosen keystore.

Project Key

When you load a keystore, Unity loads all of the keys in that keystore. Use the Project Key settings to choose one key from that keystore to use as the active key for the open project.

プロパティー 説明
Alias Select the key you want to use for the open project.
Password Enter your key Password.

Build

By default, Unity builds your application with the Android manifests, Gradle templates and Proguard files provided with the Unity installation. Use the Build section of the Android Publishing Settings to change these.

To use a custom Android manifest, Gradle template or Proguard file:

  1. Enable the appropriate checkbox. Unity creates a default file in your project, and the file location appears below the checkbox.
  2. Open the new file and make your changes.
  3. Save your changes to this file. Unity automatically uses the changes saved to this file next time it builds the application.

The settings in the Build section only apply to the build process for the current project.

プロパティー 説明
Custom Main Manifest Customisable version of the Android LibraryManifest.xml file. This file contains important metadata about your Android application. For further information about the responsibilities of the Main/Library Manifest see documentation on Android Manifest.
Custom Launcher Manifest Customisable version of the Android LauncherManifest.xml file. This file contains important metadata about your Android application’s launcher. For further information about the responsibilities of the Launcher Manifest see documentation on Android Manifest.
Custom Main Gradle Template Customisable version of the mainTemplate.gradle file. This file contains information on how to build your Android application as a library. For further information see documentation on Providing a custom Gradle Template.
Custom Launcher Gradle Template Customisable version of the launcherTemplate.gradle_ file. This file contains instructions on how to build your Android application. For further information see documentation on build.gradle templates.
Custom Base Gradle Template Customisable version of the baseProjectTemplate.gradle file. This file contains configuration that is shared between all other templates and Gradle projects. For further information see documentation on build.gradle templates.
Custom Gradle Properties Template Customisable version of the gradle.properties file. This file contains configuration settings for the Gradle build environment. This includes:
- The JVM (Java Virtual Machine) memory configuration.
- A property to allow Gradle to build using multiple JVMs.
- A property for choosing the tool to do the minification.
- A property to not compress native libs when building an app bundle.
Custom Proguard File Customisable version of the proguard.txt file. This file contains configuration settings for the minification process. If minification removes some Java code which should be kept, you should add a rule to keep that code in this file. For further information see documentation on Minification.

Minify

Minification is a process which shrinks, obfuscates and optimises the code in your application. It can reduce the code size and make the code harder to disassemble. Use the Minify settings to define when and how Unity should apply minification to your build.

In most cases, it’s good practice to only apply minification to release builds, and not debug builds. This is because minification takes time, and can make the builds slower. It can also make debugging more complicated due to the optimisation that the code undergoes.

The settings in the Minify section only apply to the build process for the current project.

プロパティー 説明
Use R8 By default, Unity uses Proguard for minification. Enable this checkbox to use R8 instead.
Release Enable this checkbox if you want Unity to minify your application’s code in release builds.
Debug Enable this checkbox if you want Unity to minify your application’s code in debug builds.

Split Application Binary

Enable the Split Application Binary option to split your output package into main (APK) and expansion (OBB) packages. The Google Play Store requires this if you want to publish applications larger than 100 MB.

XR Settings

Note: Built-in support for XR SDKs is deprecated and will be retired in a future version of Unity. Use the Unity XR Plug-in System instead. For more information, see XR Plug-in Architecture.

Android Playerの XR 設定
Android Playerの XR 設定
設定 機能
Virtual Reality Supported VR アプリケーションの場合、これを有効にします。次に、必要な VR SDK をリストに加えます。
Virtual Reality SDKs Add and remove Virtual Reality SDKs from the list. This list is only available when the Virtual Reality Supported is enabled.
To add an SDK to the list, click the plus (+) button.
To remove an SDK from the list, select it and then click the minus (-) button.
Some of the SDKs provide extra settings that appear here. For details, see XR SDKs.
Stereo Rendering Mode VR デバイスのレンダリング方法を選択します。
Multi Pass これが通常のレンダリングモードです。Unity はシーンを 2 度レンダリングします。最初に左眼画像をレンダリングしてから右眼画像をレンダリングします。
Single Pass Multiview or Instanced (Preview) 両方の眼の画像を同時にまとまった 1 つのレンダーテクスチャにレンダリングします。つまり、シーン全体が 1 回だけレンダリングされるため、CPU の処理時間が大幅に削減されます。



  • 5.5 のアップデート機能
  • Sustained Performance Mode は 2017.3 で追加
  • .NET 4.x ランタイムは 2018.1 で追加
  • Android 複数のAPK 機能は 2018.2 で追加
  • OpenGL ES 3.2 support for Android added in 2019.1 NewIn20191
  • Input System プレビューは Unity 2019.1 で追加
  • Render outside safe area added in Unity 2019.1
  • Warn about App Bundle size option added in Unity 2019.2
  • GPU Skinning renamed to Compute Skinning in Unity 2019.3
  • Vuforia は Unity 2019.3 で削除
  • Support for built-in XR SDKs deprecated in Unity 2019.3.NewIn20193
Unity Remote
Android Keystore Manager