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 ペインが既定で非表示です。見えない場合は、次の設定を変えます。

  1. メニューの Edit → Project Settings → Editor を開く
  2. Build Profiles の項目で、Hide Classic Platforms を無効にする

Build Profile の作り方(共通の手順)

WebでもAndroidでも、プロファイルの作り方は同じです。

  1. File → Build Profiles を開く
  2. Add Build Profile を押して、Platform Browser を開く
  3. 出力したいプラットフォームを選ぶ。入っていない場合は Install with Unity Hub からインストールする
  4. Name にプロファイルの名前を入力する(例:WebBuild、AndroidBuild)
  5. Add Build Profile を押す
  6. Switch Profile を押して、このプロファイルを有効にする(名前の横に Active と表示される)

プロファイルはアセットとして保存されるので、Gitで管理できます。数に制限はありません。名前を右クリックすると、コピー、名前の変更、削除ができます。

Web版を出力する

出力の手順

  1. 上の手順で、プラットフォームに Web を選んでプロファイルを作り、Switch Profile で有効にする
  2. Scene List に、遊ぶシーンが入っていることを確認する
  3. Build を押す
  4. 保存先のフォルダを選ぶ(空のフォルダ、または Builds/Web のような専用のフォルダがおすすめ)

出力されるファイル

出力先には、ブラウザで動かすために必要なファイルが入った Build フォルダができます。主なファイルは次の通りです([名前] は出力時の名前です)。

ファイル役割
[名前].loader.jsページがUnityのコンテンツを読み込むためのJavaScript
[名前].framework.jsJavaScriptのランタイムとプラグイン
[名前].wasmWebAssemblyのバイナリ(ゲーム本体のプログラム)
[名前].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」を確認してください。

出力の手順

  1. 共通の手順で、プラットフォームに Android を選んでプロファイルを作り、Switch Profile で有効にする
  2. Export Project を無効にする(Android Studioに書き出す場合だけ有効にします)
  3. 端末で動かしたいときは、Run Device で端末を選ぶ
  4. Build または Build And Run を押す
  5. 保存先を選んで Save を押すと、ビルドが始まる

Build And Run を選ぶと、ビルド後に端末へインストールして起動します。最初に保存先を決めたあとは、Ctrl+B(macOSは Cmd+B)でビルドと実行ができます。

実機をつなぐ

  1. 端末の「開発者向けオプション」を有効にし、USBデバッグを使えるようにする(手順は端末のメーカーやAndroidのバージョンで異なります)
  2. USBケーブルで、端末とパソコンをつなぐ(Windowsでは、端末専用のUSBドライバが必要な場合があります)
  3. Build Profiles の Android プロファイルで、Run Device から端末を選ぶ。出てこないときは Refresh を押す
  4. 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版に出力するところまで進めます。

参考(公式マニュアル)

訪問数 1 回, 今日の訪問数 1回

広告