Android 用 Unity アプリケーションを作成するには、まず Android をサポートするように Unity プロジェクトを設定する必要があります。Unity プロジェクトは、Android をサポートするために以下の依存関係を必要とします。
開始する前に、Android の 要件と互換性に関する Unity ドキュメント を参照し、Android 用の Unity アプリケーション開発に関わる制限事項を確認してください。
Unity は依存関係を モジュール として配布しているため、Unity Hub を使用してインストールする必要があります。新しいバージョンの Unity エディターのインストール時にインストールすることも、既存の Unity エディターのインストールに追加することも可能です。モジュールをインストールする場合は、以下を参照してください。
インストールするモジュールは以下の 3 つです。
Unity は、Android SDK & NDK Tools と OpenJDK をそれぞれ、/[EditorVersion]/Editor/Data/PlaybackEngines/AndroidPlayer/ の下の SDK、NDK、OpenJDK フォルダーにインストールします。
Android SDK & NDK Tools と OpenJDK のインストールは、正しいバージョンと設定をインストールするために、Unity Hub を使用して行う必要があります。ただし、Unity が Android 用アプリケーションのビルドに使用する SDK、NDK、JDK を変更することが有用な場合もあります。例えば、同じ依存関係を持つ複数のバージョンの Unity があり、SDK、NDK、JDK のインストールを重複させたくない場合には、共有の場所を指定することもできます。
Unity にカスタムバージョンの依存関係を使用させるには、以下を行ってください。
このセクションには、Unity の各バージョンが、各依存関係のどのバージョンをサポートしているかについての情報が含まれています。Unity はバージョンごとに特定のバージョンの Android NDK および Android JDK を必要としますが、Android SDK に関しては厳密なバージョン要件はありません。
Unity は Android SDK の提供するツールに依存しており、異なるバージョンの SDK でも通常は同じツールが使用できます。つまり、最近のバージョンの SDK ならどれでも (Unity が必要とするビルドツールを含んでいるので) 使用することができます。
以下の表は、各 Unity バージョンとともにインストールされた Android SDK ツールのサポートされているバージョンを示しています。
| Unity バージョン | SDK ツールのバージョン | SDK ビルドツールのバージョン | SDK コマンドラインツールのバージョン | SDK プラットフォームツールのバージョン |
|---|---|---|---|---|
| 6000.0 | 26.1.1 | 34.0.0 | 6 | 34.0.5 |
| 2022.3 LTS | 26.1.1 | 32.0.0 | 6 | 32.0.0 |
| 2021.3 LTS | 26.1.1 | 32.0.0 | 6 | 32.0.0 |
| 2020.3 LTS | 26.1.1 | 30.0.2 | 2 | 28.0.1 |
重要: Unity バージョン 2020.3 および 2021.3 LTS は、バージョン 31 以降の Android SDK ビルドツールをサポートしません。
Unity の各バージョンがサポートする NDK のバージョンは、以下の通りです。
| Unity バージョン | NDK バージョン |
|---|---|
| 6000.0 | r23b (23.1.7779620) |
| 2022.3 LTS | r23b (23.1.7779620) |
| 2021.3 LTS | r21d (21.3.6528147) |
| 2020.3 LTS | r19 (19.0.5232133) |
Unity の各バージョンがサポートする JDK のバージョンは、以下の通りです。
| Unity バージョン | JDK バージョン |
|---|---|
| 6000.0 | 17 (OpenJDK バージョン 17) |
| 2022.3 LTS | 11 (OpenJDK バージョン 11) |
| 2021.3 LTS | 11 (OpenJDK バージョン 11) |
| 2020.3 LTS | 8 (OpenJDK バージョン 1.8) |
ノート: Unity バージョン 2023.2 のみが CMake バージョン 3.22.1 をサポートします。Unity バージョン 2022.3 以下は CMake をサポートしません。
Android 用の External Tools セクションでは、Android デバイスで Unity プロジェクトを設定するために使用される Android 開発ツールを設定できます。Android 用の External Tools セクションにアクセスするには、Edit > Preferences に移動してから (macOS の場合: Unity > Settings)、External Tools > Android に移動します。
一般的な Preferences 設定については、環境設定 を参照してください。
| 設定 | 説明 |
|---|---|
| JDK installed with Unity(recommended) | Unity とともにインストールされた推奨バージョンの Java Development Kit (JDK) を使用するか、カスタム JDK インストールを使用するかを指定します。有効にすると、JDK インストールフォルダーのパスが表示されます。カスタム JDK バージョンを使用するには、このオプションを無効にし、Browse をクリックしてカスタム JDK インストールフォルダーのパスを設定します。 |
| Android SDK tools installed with Unity(recommended) | Unity とともにインストールされた推奨バージョンの Android SDK ツールを使用するか、カスタム SDK ツールのインストールを使用するかを指定します。有効にすると、SDK ツールのインストールフォルダーのパスが表示されます。カスタム SDK ツールバージョンを使用するには、このオプションを無効にし、Browse をクリックしてカスタム SDK ツールのインストールフォルダーのパスを設定します。 |
| Android NDK installed with Unity(recommended) | Unity とともにインストールされた推奨バージョンの Android Native Development Kit (NDK) を使用するか、カスタム NDK インストールを使用するかを指定します。有効にすると、NDK インストールフォルダーのパスが表示されます。カスタム NDK バージョンを使用するには、このオプションを無効にし、Browse をクリックしてカスタム NDK インストールフォルダーのパスを設定します。 |
| Gradle installed with Unity(recommended) | Unity とともにインストールされた推奨バージョンの Android Gradle を使用するか、カスタム Gradle インストールを使用するかを指定します。有効にすると、Gradle インストールフォルダーのパスが表示されます。カスタム Gradle バージョンを使用するには、このオプションを無効にし、Browse をクリックしてカスタム Gradle インストールフォルダーのパスを設定します。 |
| Stop Gradle daemons on exit | Unity エディターの終了時に Gradle デーモンを停止するかどうかを指定します。このオプションはデフォルトで有効になっており、コンピューターのリソースを解放するのに役立ちます。 |
| Kill ADB server on exit | Unity エディターの終了時に Android Debug Bridge (adb) サーバーを終了するかどうかを指定します。このオプションはデフォルトで有効になっており、コンピューターのリソースを解放するのに役立ちます。 |
| Kill external ADB instances | 外部 Android Debug Bridge (ADB) インスタンスを終了するかどうかを指定します。これらは、Android SDK tools installed with Unity(recommended) の Android SDK セットに属していない別のインスタンスです。複数の ADB インスタンスが互いに競合し、Android SDK の使用時に問題が発生する場合があります。例えば、API の更新時やアプリケーションの起動時などです。 ノート: このオプションは、異なる ADB インスタンス間の衝突を防ぐためにデフォルトで有効になっています。 |
| Maximum JVM heap size, Mbyte | Android ビルドプロセス中に割り当てることができる Java の最大ヒープサイズを指定します。値は MB 単位で指定され、デフォルト値は 4096 です。この値は、プロジェクト要件に基づいて増減できます。ヒープスペースエラーが発生した場合は、この値を増やします。 |
| Keystores Dedicated Location | Android キーストアへのフォルダーパスを指定します。Unity は、ビルドプロセス中に Android アプリケーションに署名するときにこのパスを使用します。アプリケーションに新しいパスを設定するには、Browse をクリックし、Android キーストアを格納するフォルダーに移動します。詳細については、キーストアの場所の選択を参照してください。 |
Unity Hub は、Google Play の要求する Android SDK Target API の最新バージョンをインストールします。より新しいバージョンを使用する必要がある場合は Android Player 設定 で変更可能です。手順は以下のとおりです。
インストールされている最新のバージョンよりも新しいバージョンのターゲット API を選択した場合、Unity Android SDK Updater は、新しいバージョンのダウンロードとインストールを自動で行うことができます。Unity によってプロンプトが表示され、以下のいずれかの方法を選択できます。
インストールされている最新のものより古く、まだインストールされていないバージョンのターゲット API を選択すると、Unity Android SDK Updater はアップデートを実行できず、エラーメッセージが表示されます。この場合、Android SDK Target API をアップデートするには、Android Studio または コマンドラインツール から Android sdkmanager を使用する必要があります。いずれの方法を選択した場合でも、Edit > Preferences > External Tools ウィンドウで、Unity 用の正しい Android SDK フォルダーが選択されていることを確認してください。詳細については、依存関係のカスタマイズ を参照してください。
重要: Windows で Unity エディターをデフォルトのフォルダー (/Program Files/) にインストールした場合、アップデートを実行するには、昇格した権限 (Run as Administrator) で sdkmanager を実行する必要があります。