Unity 6で作ったゲームを出力しよう ― Build ProfilesでWebとAndroidにビルドする
はじめに
前回は、Input SystemとRigidbody2Dで、動いてジャンプするPlayerを作りました。ゲームは作って動かして終わりではなく、ほかの人が遊べる形に出力するところまでできて、はじめて「完成」です。
Unity 6の Build Profiles の画面の見方は、Unity 6 の「Build Profiles」とは?で、Windows向けの例を使って説明しました。今回は、実際に Web と Android に出力して、動かすところまで進めます。
今回やること
- Build Profiles で、WebとAndroid用のプロファイルを作る
- Web版を出力して、ブラウザで動かす
- Android版を出力して、端末に入れる準備と手順を知る
- 開発用と提出用のプロファイルを分ける
なお、Unity 6.6の公式マニュアルでは、以前「WebGL」と呼ばれていたプラットフォームは Web という名前で説明されています。古い記事やテキストの「WebGL」は、この「Web」のことだと読み替えてください。
ビルドする前に確認すること
① Scene List にシーンが入っているか
ビルドに含まれるのは、Scene List に登録されたシーンだけです。登録されていないシーンは、出力したゲームに入りません。ビルドの前に、遊ぶシーンが入っていることを確認しましょう。
② Platforms が見えないときは
Unity 6.6の公式マニュアルによると、新規プロジェクトでは、Build Profiles の Platforms ペインが既定で非表示です。見えない場合は、次の設定を変えます。
- メニューの Edit → Project Settings → Editor を開く
- Build Profiles の項目で、Hide Classic Platforms を無効にする
Build Profile の作り方(共通の手順)
WebでもAndroidでも、プロファイルの作り方は同じです。
- File → Build Profiles を開く
- Add Build Profile を押して、Platform Browser を開く
- 出力したいプラットフォームを選ぶ。入っていない場合は Install with Unity Hub からインストールする
- Name にプロファイルの名前を入力する(例:
WebBuild、AndroidBuild) - Add Build Profile を押す
- Switch Profile を押して、このプロファイルを有効にする(名前の横に Active と表示される)
プロファイルはアセットとして保存されるので、Gitで管理できます。数に制限はありません。名前を右クリックすると、コピー、名前の変更、削除ができます。
Web版を出力する
出力の手順
- 上の手順で、プラットフォームに Web を選んでプロファイルを作り、Switch Profile で有効にする
- Scene List に、遊ぶシーンが入っていることを確認する
- Build を押す
- 保存先のフォルダを選ぶ(空のフォルダ、または
Builds/Webのような専用のフォルダがおすすめ)
出力されるファイル
出力先には、ブラウザで動かすために必要なファイルが入った Build フォルダができます。主なファイルは次の通りです([名前] は出力時の名前です)。
| ファイル | 役割 |
|---|---|
[名前].loader.js | ページがUnityのコンテンツを読み込むためのJavaScript |
[名前].framework.js | JavaScriptのランタイムとプラグイン |
[名前].wasm | WebAssemblyのバイナリ(ゲーム本体のプログラム) |
[名前].data | アセットのデータとシーン |
圧縮を有効にしている場合は、ファイル名の最後に圧縮形式に応じた拡張子(.gz や .br)が付きます。
ブラウザで動かす
公式マニュアルには、出力したファイルをファイルシステムから直接開くと、ブラウザによっては動かないことがあると書かれています。ローカルのファイルを直接開く方法は、セキュリティの制限を受けるためです。
確認するときは、Build And Run を使ってUnityから開くか、Webサーバーを通して開きましょう。
公開するときの注意
Web版をサーバーに置いて公開する場合は、圧縮の設定に合わせたサーバー側の設定が必要になります。
| 設定 | 内容 |
|---|---|
| Compression Format | 既定は gzip。Brotli は圧縮率が高い反面、ビルドに時間がかかり、ChromeとFirefoxでは HTTPS でのみ標準対応 |
| Decompression Fallback | ブラウザが展開できない場合に備え、JavaScriptの展開処理をビルドに含める。サーバー設定に慣れていないときに向くが、読み込みの効率は下がる |
| サーバー設定 | 圧縮方式に合わせた Content-Encoding ヘッダーと、wasmファイル用の Content-Type: application/wasm が必要 |
授業の提出用なら、まずは既定の設定のままで出力し、サーバー設定が必要になったタイミングで公式マニュアルの「Deploy a Web application」を確認するとよいでしょう。
Android版を出力する
準備:必要なもの
Android向けにビルドするには、次のものが必要です。
- Android Build Support モジュール
- Android SDK
- Android NDK
- Java Development Kit(既定では OpenJDK を使用)
Android が Platform Browser の一覧に出ない場合は、Install with Unity Hub から追加します。インストール方法や各バージョンの詳細は、公式マニュアルの「Android environment setup」を確認してください。
出力の手順
- 共通の手順で、プラットフォームに Android を選んでプロファイルを作り、Switch Profile で有効にする
- Export Project を無効にする(Android Studioに書き出す場合だけ有効にします)
- 端末で動かしたいときは、Run Device で端末を選ぶ
- Build または Build And Run を押す
- 保存先を選んで Save を押すと、ビルドが始まる
Build And Run を選ぶと、ビルド後に端末へインストールして起動します。最初に保存先を決めたあとは、Ctrl+B(macOSは Cmd+B)でビルドと実行ができます。
実機をつなぐ
- 端末の「開発者向けオプション」を有効にし、USBデバッグを使えるようにする(手順は端末のメーカーやAndroidのバージョンで異なります)
- USBケーブルで、端末とパソコンをつなぐ(Windowsでは、端末専用のUSBドライバが必要な場合があります)
- Build Profiles の Android プロファイルで、Run Device から端末を選ぶ。出てこないときは Refresh を押す
- Build And Run で、ビルドと起動を行う
APK と AAB
Unityは、既定ではAPK形式で出力します。Google Playに公開する場合は、AAB(Android App Bundle)形式が必要です。その場合は、Androidのプロファイルで Build App Bundle (Google Play) を有効にします。授業の確認用なら、既定のAPKで問題ありません。
署名について
Androidのアプリは、署名がないと端末で動きません。新規プロジェクトでは、既定でデバッグ署名が使われます。デバッグ署名のアプリは端末で動かせますが、公開はできません。公開するときだけ、キーストアを作って署名情報を設定します。端末での確認だけなら、デバッグ署名のままで大丈夫です。
第1回のゲームをスマホで動かすときの注意
第1回で作ったPlayerは、A / Dキーとスペースキーで操作します。スマホにはキーボードがないため、そのままではPlayerを動かせません。今回は「ビルドして端末で起動できる」ところまでを確認します。タッチ操作への対応は、別の機会に扱います。
開発用と提出用のプロファイルを分ける
公式マニュアルによると、プラットフォームのプロファイル(Windows、Web、Androidなど)には共通の設定があります。たとえば、あるプラットフォームで Development Build を有効にすると、ほかのプラットフォームでも有効になります。
一方、名前を付けて作った Build Profile は、設定がほかのプラットフォームと共有されず、シーンも個別に割り当てられます。「開発用」と「提出用」を別々のプロファイルとして作っておくと、設定を切り替え忘れるミスを防げます。
| 名前の例 | 用途 | Development Build |
|---|---|---|
Web-Dev | 自分で確認する用 | ON |
Web-Release | 提出・公開用 | OFF |
提出用のビルドは、Development Build を OFF にしてから出力しましょう。
よくあるつまずき
| 症状 | 原因と直し方 |
|---|---|
| Platforms が見えない | 新規プロジェクトでは既定で非表示。Edit → Project Settings → Editor → Build Profiles で Hide Classic Platforms を無効にする |
| Web / Android が選べない | モジュールが未インストール。Platform Browser の Install with Unity Hub から追加する |
| 出力したゲームでシーンが切り替わらない・始まらない | Scene List に必要なシーンが入っていない |
| Web版をダブルクリックで開いても動かない | ファイルを直接開くと、ブラウザの制限で動かないことがある。Build And Run か、Webサーバー経由で開く |
| Androidの端末が一覧に出ない | USBデバッグが有効か、USBケーブルが充電専用でないか、Windowsの場合はUSBドライバが入っているかを確認し、Refresh を押す |
| スマホで操作できない | キーボード用の操作しか作っていない。タッチ操作への対応が必要 |
まとめ
- ビルドの前に、Scene List に遊ぶシーンが入っているかを確認する
- プロファイルは Add Build Profile → プラットフォームを選ぶ → Switch Profile で作って有効にする
- Web版は出力後、ファイルを直接開かず Build And Run などで確認する
- Android版は、モジュールのインストールと、端末のUSBデバッグが必要。授業の確認用はAPK・デバッグ署名のままで十分
- 開発用と提出用は、別のBuild Profileに分ける
次回は、ここまでの内容を使って、ジャンプで障害物を避けるミニゲームを作り、Web版に出力するところまで進めます。
参考(公式マニュアル)
- Create and manage build profiles
- Web Build folder
- Deploy a Web application
- Build your application for Android
- Debug on Android devices








ディスカッション
コメント一覧
まだ、コメントがありません