Skip to content

第10回 ビルドと公開

前回: 第09回 UIとシーン遷移

今回の授業内容

  • Unity Projectとビルドしたゲームの違いを理解する
  • Windows向けのBuild Profileを準備する
  • SceneとPlayer Settingsを確認する
  • Development BuildとRelease Buildを使い分ける
  • ビルド出力を起動し、公開できる形へまとめる
  • ZIPファイルと公開ページに必要な情報を用意する

これ以上のゲーム機能の追加はありません。

今回は第09回までに作成したUnity Projectから単体起動できるゲームをビルドし、公開できる形にまとめます。 制作したゲームを正しくビルドし、公開までの流れを体験することが目的です。

最終配布コード

10.zipには第09回終了時点の全スクリプトが収録されています。

Scene、Prefab、Input Actions、Animator Controller、Animation Clip、MaterialなどのUnityアセットは自分のProjectにあるものを利用してください。 現在のProjectが第09回までの内容を実装済みで動作している場合は、そのままビルド作業に進んでください。

ビルド

ビルドとは

ソフトウエア開発の世界では、ソースコードとデータを実行可能なアプリケーションとしてまとめること、あるいはその成果物をビルドと呼ぶことがあります。 Unityでのビルドは、指定したプラットフォームでゲームを実行するためのPlayerを作成する作業です。 Unity Project内のリソースを対象プラットフォームに合わせて変換し、実行可能な形式にまとめます。

Unity Projectとビルドの違い

Unity製ゲームを遊ぶ際にUnity Editorが必要ないように、配布の際にUnity Projectを同梱する必要はありません。 UnityプロジェクトをWindows向けにビルドした場合は、生成された.exeと関連ファイルを配布します。

WARNING

通常.exeだけを配布してもゲームは起動できません。 ゲームの動作には実行ファイルだけでなく、ゲームを構成する様々な外部リソースが必要です。 ビルド出力フォルダ内の.exe_Dataフォルダ、UnityPlayer.dllなどを含む、出力フォルダ全体が配布物として必要です。

プロジェクトを整理する

ビルドを始める前に現在の編集内容を保存します。

  1. File > Saveで開いているSceneを保存します
  2. Projectウィンドウで未保存の変更がないことを確認します
  3. Consoleを開き、赤いコンパイルエラーがないことを確認します
  4. Title SceneからGame Sceneへ移動できることを確認します
  5. 使用していないテスト用GameObjectや一時的なログを残していないか確認します

コンパイルエラーのある状態ではビルドを開始できません。 まずエラーの修正とEditor上での正常動作の確認を行ってください。

エラーを修正するコツ

Consoleに複数のエラーがある場合は、最初に表示されたエラーから確認し、修正するのが基本です。

後続のエラーはその前のエラーが原因で玉突き事故的に発生していることがあります。 大量のエラーが発生しても恐れる必要はありません。 順を追って修正すれば、わずかな作業で大半のエラーを解消できるはずです。

Windows向けBuild Profileを準備する

Unity 6では、File > Build Profilesからプラットフォームごとのビルド設定を管理します。 ショートカットキーCtrl + Shift + Bでも開くことができます。

WindowsのBuild Profileを追加する

  1. File > Build Profilesを開きます
  2. Platform一覧にWindowsがあることを確認します
  3. WindowsのProfileがない場合はAdd Build Profileを押します
  4. Platform BrowserからWindowsを選択します
  5. Add Build Profileを押します
  6. 作成したProfileを選び、Switch Profileで有効にします

Windowsの項目にインストールが必要と表示された場合は、使用中のUnity EditorにWindows Build Supportモジュールが入っていません。 Install with Unity Hubを選択し、Unity Hubからモジュールを追加した後、Projectを開き直します。

Build Profileとは

Build Profileは、対象プラットフォーム、Scene一覧、Development Buildなどの設定をまとめて保存する仕組みです。 実務ではデモ版やテスト版、公開版など、複数のビルド設定を切り替えて使うことがあります。

授業ではWindows用Profileを1つだけ作成し、Development BuildとRelease Buildを切り替えて使います。

ビルドに含めるSceneを設定する

Build ProfilesのScene ListでTitleを0番、Gameを1番に並べた設定例 Build ProfilesのScene ListでTitleを0番、Gameを1番に並べた設定例

Titleを0番、Gameを1番に並べて設定します。

ビルドには、Build ProfileのScene Listに登録したSceneだけが含まれます。 必要なシーンは必ず登録し、有効化してください。 逆にテスト用のシーンや未完成のシーンを含めないようにも注意してください。

設定手順

  1. Build ProfileのScene Listを開きます
  2. TitleGameを追加します
  3. 両方のSceneが有効になっていることを確認します
  4. Titleを先頭、Gameを2番目に並べます
  5. Sceneファイル名の大文字小文字を確認します
Build IndexScene用途
0Titleゲーム起動時に最初に表示する
1Gameゲーム本編を実行する

先頭のSceneがゲーム起動時に読み込まれます。 今回はTitle Sceneを先頭にしてください。 Game Sceneが先頭になっている場合、Title Sceneを経由せずにゲームが始まります。

Scene名を正確に指定する

SceneManager.LoadScene("Game")のようにシーンの名前を指定してのシーン遷移は、コード中の名前とScene名が正確に一致している必要があります。 Typoや大文字小文字の違いがあると、ビルドしたゲームでSceneを読み込めません。 よく確認してください。

Player Settingsを確認する

Build ProfilesのPlayer Settingsから、ビルドするゲームの基本情報を設定します。

この授業では設定は必須ではありませんが、実際にゲームを公開する場合は必ず設定してください。 特にゲーム名やバージョンに New Unity Projectのような仮の名前を残すのは避けましょう。

項目設定例役割
Company Name学校名、チーム名、制作者名Playerログなどの保存先に使用される
Product Nameゲーム名ウィンドウタイトルや保存先に使用される
Version1.0.0公開する版を識別する
Default Screen Width1280起動時の画面幅
Default Screen Height720起動時の画面高さ
Fullscreen ModeWindowed授業中に確認しやすい表示方法

Iconは任意です。 設定する場合は、自作した画像または利用条件を確認した素材を使いましょう。

バージョン番号のつけ方

バージョン番号は、公開するゲームの版を識別するために使用します。

  • 1つ目の数字はメジャーバージョンで、ゲームの大きな変更や新しい機能の追加を示します
  • 2つ目の数字はマイナーバージョンで、機能の追加や改善を示します
  • 3つ目の数字はパッチバージョンで、バグ修正や軽微な変更を示します

開発中のテスト版は0.1.0、公開版は1.0.0のように、数字を3つ組み合わせて表すことが一般的です。 ただしこれらは慣習的なもので、ルールがあるわけではありません。 マイナーバージョンにGitのコミットハッシュを付けるなど、独自のルールでバージョンを管理するのも自由です。

Development Buildを作成する

最初はDevelopment Buildを作ります。 Development Buildには診断用の情報が含まれ、公開前にゲームの動作を確認するのに適しています。

出力先を準備する

Projectの外側に、ビルド専用フォルダを作ります。 Unity Projectのフォルダ内にビルドしないよう注意してください。

Unityが参照するAssetsフォルダの外側に作る例file-tree
MyGame/
  Assets/
  Builds/
    Development/
    Release/

ビルドを実行する

  1. Windows用Build Profileを有効にします
  2. Development Buildを有効にします
  3. Buildを押します
  4. 出力先としてBuilds/Developmentを選択します
  5. 実行ファイル名へゲーム名を入力します
  6. ビルド完了まで待ちます

Build and Runはビルド完了後にゲームを起動します。最初は出力先を確認しやすいBuildを使用し、生成された実行ファイルを自分で起動します。

Windowsビルドの出力

Windows向けにビルドすると、次のようなファイルが生成されます。

ファイル構成
  • Development
    • MyGame.exe
    • MyGame_Data
    • MonoBleedingEdge
    • UnityCrashHandler64.exe
    • UnityPlayer.dll

Projectの設定やScripting Backendによって、生成されるファイル名や構成は一部異なります。

MyGame.exeだけではゲームは起動できません。 MyGame_DataUnityPlayer.dllなどを含む、出力フォルダ全体を1つの成果物として扱うことに注意してください。

ビルドしたゲームの動作を確認する

  1. Unity EditorをPlay Modeにしていない状態で.exeを起動する
  2. Title Sceneが表示されることを確認する
  3. STARTを押してGame Sceneへ移動する
  4. Playerを移動し、攻撃できることを確認する
  5. GAME CLEARまたはGAME OVERを1回表示する
  6. RETRYまたはTITLEでSceneを移動する
  7. ゲームを終了する

起動しない場合は、まず出力フォルダ内のファイルが欠けていないか、Scene ListにTitleとGameが登録されているかを確認します。 Development Buildで問題の詳細を確認したい場合、Windowsでは通常、次の場所にPlayerログが保存されます。

text
%USERPROFILE%\AppData\LocalLow\<Company Name>\<Product Name>\Player.log

Company NameProduct Nameには、Player Settingsで設定した名前が使用されます。 普段のUnity Editor上でのデバッグとは異なりますが、出力ログは問題の原因特定のため極めて重要です。 ビルド成果物が動作しなかった場合は、まずログを確認しましょう。

公開に向けた作業

公開用のRelease Buildを作成する

Development Buildで動作の確認ができたら、公開用のRelease Buildを作ります。

  1. Build ProfilesでDevelopment Buildを無効にする
  2. 出力先として空のBuilds/Releaseフォルダを選択する
  3. Buildを実行する
  4. Releaseフォルダ内の.exeからゲームを起動する
  5. Titleが表示され、Game Sceneへ移動できることを確認する
種類用途公開物としての扱い
Development Build制作中の確認、問題調査通常は公開しない
Release Build提出、配布、公開最終成果物として使用する

ビルド後にProjectを変更した場合、以前のRelease Buildへ変更内容は自動反映されません。 修正後はもう一度ビルドし直します。

公開用ZIPを作成する

個人的な配布の際は、ビルドをZIPファイルにまとめるのが簡単です。

  1. Releaseフォルダ内のゲームを一度起動します
  2. Releaseフォルダの名前をゲーム名_バージョン_Windowsの形式へ変更します
  3. 操作方法などを記載したREADME.txtをフォルダへ追加します
  4. フォルダ全体をZIP形式で圧縮します
  5. ZIPを別の場所へ展開し、展開先の.exeから起動できることを確認します
ファイル構成
  • MyGame_1.0.0_Windows
    • MyGame.exe
    • MyGame_Data
    • UnityPlayer.dll
    • README.txt

READMEに記載する内容の例

text
ゲーム名: MyGame
バージョン: 1.0.0
制作者: 名前またはチーム名
対応環境: Windows 64-bit

起動方法:
MyGame.exeを実行してください。

操作方法:
WASD: 移動
Mouse: 視点操作
Left Click: 攻撃

終了方法:
タイトル画面のQUITを押してください。

使用素材・ライセンス:
必要に応じて、使用した外部素材の名称と配布元なども記載します。

外部の画像、フォント、音声、3D Modelなどを使用した場合は、公開や再配布が許可されているか確認し、必要なクレジットを記載します。 また自身の制作物を公開する場合は、自身の制作物のライセンスを明示することも重要です。 ライセンスも成果物の一部です。公開に際しては、十分注意して記述してください。

公開に必要な情報

学校の提出システム、オンラインストレージ、作品公開サービスなど、公開先が異なっても必要な情報はおおむね共通しています。

情報内容
タイトルゲーム名
短い説明どのようなゲームかを1〜2文で説明する
操作方法キーボード、マウス、コントローラーの割り当て
動作環境Windows 64-bitなど
スクリーンショットTitleとゲームプレイが分かる画像
バージョン1.0.0など
クレジット制作者、使用素材、ライセンス
ダウンロードRelease BuildをまとめたZIP

公開範囲は、授業内限定、リンクを知っている人だけ、一般公開などから目的に合うものを選びます。

個人情報の取り扱いに注意する

個人情報をゲームやREADMEなどに含めないように注意してください。 プロジェクト中で使っていたローカルな情報を含めてしまう事故にも注意が必要です。 配布の前に、公開するファイルやページの内容をよく確認してください。

公開後のダウンロードを確認する

アップロードが完了しただけでは、公開作業は終わっていません。 閲覧者と同じ経路からファイルを取得できることを確認します。

  1. 公開ページまたは共有リンクを開く
  2. 公開範囲とアクセス権を確認する
  3. ZIPをダウンロードし、展開する
  4. READMEを読み、書かれた手順でゲームを起動する
  5. 公開ページの説明と実際の操作方法が一致していることを確認する

自分のPCだけにあるファイルに依存している問題や、共有権限の設定ミスはローカル環境では気づきにくいものです。 可能であれば別のPCでの動作確認や、別の利用者にダウンロードを依頼しましょう。

修正版を公開する

公開後に修正した場合は、バージョン情報を更新します。 サイレントアップデートは避け、ZIP名、README、公開ページのバージョン表記を揃え、何を変更したか記録するようにしましょう。

バージョン
1.0.0最初の公開版
1.0.1操作不能やScene遷移などの不具合修正
1.1.0新しい機能やステージを追加

ZIP名、README、公開ページのバージョン表記を揃え、何を変更したかを記録します。

完成条件

  • Windows用Build Profileが有効になっている
  • TitleとGameが正しい順序でScene Listへ登録されている
  • Company Name、Product Name、Versionを設定している
  • Development Buildを起動できる
  • Development Buildを無効にしたRelease Buildを作成している
  • Release Buildの出力フォルダ一式をZIP化している
  • READMEに起動方法、操作方法、動作環境、クレジットを記載している
  • 公開先からZIPをダウンロードできる
  • ダウンロードしたZIPを展開し、ゲームを起動できる

まとめ

  • Unity ProjectからWindowsで実行できるPlayerをビルドした
  • Build ProfileへSceneとプラットフォーム設定をまとめた
  • Development BuildとRelease Buildを目的に応じて使い分けた
  • .exeだけでなく、出力フォルダ全体を配布物として扱った
  • Release BuildへREADMEを加え、ZIP形式で公開した
  • 公開後にダウンロードし、閲覧者と同じ手順で起動を確認した