Version: 2022.3
言語: 日本語
Android について
Android の Gradle

Android の要件と互換性

Unity で Android アプリケーションの開発を始めるにあたっては、Android に関わる Unity の要件と互換性についての情報を参照し、同プラットフォーム用の Unity アプリケーション開発に関する制約事項を確認してください。

Android のサポート

Unity は Android 5.1 “Lollipop” (API level 22) 以上をサポートしています。詳細は AndroidSdkVersions を参照してください。

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

Android デバイスは VulkanOpenGL ES をサポートしています。このセクションでは、Unity が Android でサポートするグラフィックス API に関する情報を提供しています。

グラフィックス 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 をリストに追加します。

レンダーパイプラインの互換性

一部、ハードウェアやグラフィックス API の制約により、Android との互換性がない レンダーパイプライン もあります。

機能 ビルトインレンダーパイプライン ユニバーサルレンダーパイプライン HD レンダーパイプライン カスタムスクリプタブルレンダーパイプライン
Android あり あり なし あり

マニフェスト要素の属性

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

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

エミュレーターの互換性

Unity は Android エミュレーターをサポートしていません。アプリケーションのテストは、以下の方法で行えます。

テクスチャ圧縮

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 からは不可視で、多くの場合、互換性の問題が何であるかを説明しています。

Android について
Android の Gradle