えんじにあ・めも

日々の生活に役立つ記事をエンジニア視点で

【個人的おすすめ】Unity導入(Androidビルド環境)

よくUnityのAndroidビルド環境の構築を調べると、 Android Studio まで入れている解説記事が殆どです。(初心者向け記事は特に)
もちろんそれで動くんですが、以下の問題があります。

  • Unity で Android ビルドをしたいだけなのに、Android Studio という滅茶苦茶重いIDEを入れないといけない
  • Unity とAndroid Studio が同じSDKを共有することによる、バージョンアップ時の突然の不具合
    (Unity でビルドできない、Android Studio でビルドできないetc)

本来必要なのは Android SDK Tools なので、Unity で Android のビルドをする時に Android Studio は必須ではありません。
特に Unity 開発者は Android 開発について詳しいとは限らないので
Android ビルド周りで問題が発生した際のトラブルシューティングはかなり面倒です。
ゲーム開発中にこれが起こると本当に余計な労力を消費するのでなるべく問題は避けたいです。
今回は仕事でも使っている、おすすめの方法を書きたいと思います。
※ちなみに Windows を前提にしていますが、MacOS でも同じような方法でインストールができます。

必要なもの(入れる順)

一つづつ紹介していきます。

Java SE Development Kit 8

現行の Android のビルドには Java 8 が必要なので Oracle

Java SE Development Kit 8 - Downloads

から64Bit版JDKをダウンロードしてインストールします。(Windows x64)
32Bitでも普通に(殆どの場合)ビルドは可能なのですが、
64Bit版のJDKじゃないと Firebase Unity SDK などのGoogle製ライブラリを導入した時にビルドエラーが発生するものが存在します。
これもハマりポイントなので最近はOSもUnity Editorも64Bitですし
ここは素直に64Bit版で合わせるのがおすすめです。
※ 今回はUnity 2017 LTS版を想定してるので余談ですが、Unity 2018.3.x からは Oracle JDK ではなく OpenJDK がデフォルトJDKになります
(JDK は Unity をインストール時に自動でインストールされます。)

Android SDK Tools

こちらは Android Studio は入れる必要はなく

developer.android.com

の下にあるコマンドライン ツールのみというところからSDK単体を落とせます。
これもダウンロードして適当な所に解凍します
(今回は C:\Users\%USERNAME%\sdk\ )
さて、この SDK Tools ですが、中身はほぼ空っぽで中に入っているsdkmanagerコマンドを使って
SDKをセットアップする必要があります。
が、Unity を使うのであればその操作は不要です。
実は Unity 側でSDKに足らない物があればビルド時に勝手にセットアップしてくれます。
のでこのまま次へ行きます。

Unity(Unity Hubを使用)

次に Unity ですが、(特に個人開発者なら)Unity 単体をインストールするよりも
公式から提供されている Unity Hub を入れることをおすすめします。
これは Unity のバージョン管理を容易にするランチャーで
同時に違うバージョンをインストールしたりすることができます。
単体インストールでも複数バージョンは使えますが、インストール先設定などが面倒なので今回はUnity Hubを用います。

入れるバージョンは何でも良いのですが、今回はLTS版の Unity 2017.4.17f1 を入れてみます。
Unity 2018.3.x からは OpenJDK が標準になっていますので注意
Unity Hubは、

unity3d.com

からダウンロードすることができます。 Hubを起動し、

f:id:kurokuru:20181225002127j:plain

今回はLTS版の Unity 2017.4.17f1 を選択しインストールしてみます。
LTS版とは Long Term Support の略で長期サポート
つまりはサポート期間が長いバージョンになります。
Unityの場合は、長期サポートの他バージョンアップ時に
LTS間のバージョンアップがしやすいように配慮されているようです。
特に新機能を使いたいという理由がなければLTS版で開発することをオススメします。
Hubの場合は簡単に複数バージョンを入れられるので、便利ですね。

f:id:kurokuru:20181225002152j:plain

さてこの時、インストーラーでAndroidiOSBuild Supportも一緒にインストールしましょう。 (初期ではチェックが入ってないので注意です)
Android のみの開発であってもiOSのBuild Supportを入れることを強くオススメします。
これは世のサンプルやアセットストアなどのコードは
iOS(Android)のBuild Supportが入ってることが前提になっているものが多く
iOS(Android)の開発ツールが入ってないと名前解決でコンパイルエラーが発生することがあります。
アセットストアなどから持ってきたコードは可能な限り触りたくないし
トラブル回避のため両方のBuild Supportを入れておきましょう!
Documentation,Standard Assets,Example Project は任意ですが
はじめての場合は入れておくと良いでしょう。
※余談ですが、Unity 2018からはMonoDevelopは外されてVisual Studioが標準のIDEになっています。
2017でもVisual Studioを導入すると良いと思います
(設定で起動するIDEは切り替えられます)

さて無事にインストールが完了したら、いよいよ新規プロジェクトを作って JDKAndroid SDK Tools の設定です。
Edit -> Preferences -> External Tools のAndroidの項目で
インストールしたJDKAndroid SDK Toolsのパスを指定します。

f:id:kurokuru:20181225010507j:plain

Android SDK Toolsはtoolsではなく、その上のsdk-tools-windows-xxxxxxフォルダを指定します。
(例 C:\Users\%USERNAME%\sdk\sdk-tools-windows-4333796)

設定が終わったら、適当なシーンを作成して追加し File -> Build SettingsでAndroidにSwitch Platformします。
Player SettingsのBundle Identiferでパッケージ名を設定するのも忘れずに行いましょう!
そしておもむろにBuildボタンを押します。
すると、

f:id:kurokuru:20181225010631j:plain

という表示がでます。 ここでUpdate Android SDKを選択します。
するとSDKのセットアップを自動で行い、

f:id:kurokuru:20181225010657j:plain

さらに

f:id:kurokuru:20181225010729j:plain

とPlatform APIが必要だと言われるので
ここもUpdate Android SDKを選択します。
これでUnityの設定で使用するBuild ToolsとPlatform SDKの両方がインストールされ
無事にビルドが完了するはずです。

いかがでしたでしょうか?
本来はAndroid Studioを入れたりsdkmanagerの使い方を知っている必要がありますが
この方法ではUnity側に任せる事ができます。
この方法はAndroid StudioSDKとは別にすることもできます。
何よりゲームを作る時に余計なトラブルや導入は避けたいですからね!

※今回は初心者や手軽に開発ということで省いていますが、Android NDKを使う場合はもうひと手間必要です。
こちらもハマりポイントが結構あるので、また記事にできればと思います。