Version: 2022.1
言語: 日本語
Unity for Android
Android の Gradle

Android の要件と互換性

This page contains system requirements and compatibility information for Android development in Unity.

Android のサポート

Unity supports Android 5.1 “Lollipop” (API level 22) and above. For more information, see AndroidSdkVersions.

グラフィックス API のサポート

Android devices support Vulkan and OpenGL ES. This section contains information about the graphics APIs Unity supports for Android.

グラフィックス API サポート
Vulkan あり
OpenGL ES 1.0 なし
OpenGL ES 1.1 なし
OpenGL ES 2.0 あり (1)
OpenGL ES 3.0 あり
OpenGL ES 3.1 あり
OpenGL ES 3.2 あり

ノート:

  1. 新規の Unity プロジェクトは、デフォルトでは OpenGL ES 2.0 をサポートしていません。OpenGL ES 2.0 のサポートを追加する方法については OpenGL ES 2.0 を参照してください。

OpenGL ES 2.0

デフォルトでは、Unity ビルトインの Android 用グラフィックス API のセットには、OpenGL ES 2.0 は含まれていません。OpenGL ES 2.0 のサポートの追加は、以下の手順で行えます。

  1. Edit > Project Settings を開きます。
  2. Project Settings ウィンドウで Player タブを選択し、Android の Player 設定 を開きます。
  3. Other Settings の折り畳みメニューを開きます。Rendering セクション内で Auto Graphics API を無効にしてください。Graphics APIs リストが表示されます。
  4. OpenGL ES 2.0 のサポートを追加するには、Add (+) を選択し、OpenGLES2 を選択します。

Auto Graphics API を使用している古いプロジェクトを、デフォルトで OpenGL ES 2.0 を含まない Unity バージョンにアップグレードした場合、Unity は Auto Graphics API を無効化し、OpenGL ES 2.0 をリストに追加します。

マニフェスト要素の属性

このセクションには、Android アプリマニフェスト要素 の属性の、互換性についての情報が掲載されています。

  • <Activity> 要素に関しては、Unity は singleTask launchMode のみをサポートしています。

テクスチャ圧縮

Android の標準的なテクスチャ圧縮形式は Ericsson Texture Compression (ETC)Adaptable Scalable Texture Compression (ASTC) です。最も幅広い種類の Android デバイスをターゲットにするには、これらのテクスチャ圧縮フォーマットのいずれかを使用してください。Unity デフォルトのテクスチャ圧縮形式は ASTC です。テクスチャに使用したテクスチャ圧縮形式が Android デバイスでサポートされていない場合、Unity は、ランタイムでそのテクスチャを解凍します。これは、メモリ使用量を増加させ、レンダリング速度を低下させます。

Android デバイスのサブセットは、DXT および PVRTC テクスチャ圧縮形式をサポートします。これらの形式は、アルファチャンネルを持つテクスチャや、高圧縮率、高画質をサポートします。テクスチャ圧縮形式に基づいてコンテンツをフィルタリングするデジタル配信サービス向けには、テクスチャ圧縮形式ごとにアプリケーションのビルドを作成するのが効率的です。

アプリケーションのデフォルトのテクスチャ圧縮形式は、以下の 2 つの方法で変更できます。

ビルド設定で設定した値は、Player 設定で設定した値よりも優先されます。特定のビルドのテクスチャ圧縮形式を変更する場合に使用してください。

個々のテクスチャのテクスチャ圧縮形式をカスタマイズすることも可能です。個々のテクスチャに設定した値は、デフォルトのテクスチャ圧縮形式の値をオーバーライドします。個々のテクスチャのテクスチャ形式を変更する方法については、テクスチャのインポート設定 を参照してください。

ビデオファイルの再生

このセクションには、Android でのビデオファイルの再生に関する追加情報を掲載しています。

  • Android でビデオファイルを再生するには、Video Player コンポーネントを使用してください。アプリケーションがデバイスのサポートしていないビデオファイルを再生しようとした場合、Unity はビデオを再生しません。

  • ターゲットデバイスがサポートしている範囲内であれば、使用できる解像度やオーディオチャンネル数に制限はありません。ノート: 640 × 360 を超える解像度はサポートしていないデバイスもあります。

  • Unity は非圧縮アセットバンドルからの再生をサポートしています。Android Pie 以上の場合、Unity は圧縮アセットバンドルからの再生をサポートします。

  • Unity はネイティブの webM/VP8 の透明度をサポートしていません。VP8 でエンコードされた透明度を持つ webM クリップを再生するには、サポートされている形式にクリップをトランスコードする必要があります。

  • 6.0.1 より前のバージョンの Android では、透明度を持つ、解像度がデバイスのサポート解像度より高いビデオの場合に、サポート解像度を超えるピクセルが白としてレンダリングされます。

  • Unity は adb logcat 出力内で形式の互換性の問題をレポートし、それにプレフィックス AndroidVideoMedia を付加します。このファイルは、Unity がレポートするビデオ形式関連の問題の近くに、デバイス固有の他のエラーメッセージを表示する場合があります。こうしたデバイス固有のエラーは Unity からは不可視で、多くの場合、互換性の問題が何であるかを説明しています。

Unity for Android
Android の Gradle