第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などを含む、出力フォルダ全体が配布物として必要です。
プロジェクトを整理する
ビルドを始める前に現在の編集内容を保存します。
File > Saveで開いているSceneを保存します- Projectウィンドウで未保存の変更がないことを確認します
- Consoleを開き、赤いコンパイルエラーがないことを確認します
- Title SceneからGame Sceneへ移動できることを確認します
- 使用していないテスト用GameObjectや一時的なログを残していないか確認します
コンパイルエラーのある状態ではビルドを開始できません。
まずエラーの修正とEditor上での正常動作の確認を行ってください。
エラーを修正するコツ
Consoleに複数のエラーがある場合は、最初に表示されたエラーから確認し、修正するのが基本です。
後続のエラーはその前のエラーが原因で玉突き事故的に発生していることがあります。
大量のエラーが発生しても恐れる必要はありません。
順を追って修正すれば、わずかな作業で大半のエラーを解消できるはずです。
Windows向けBuild Profileを準備する
Unity 6では、File > Build Profilesからプラットフォームごとのビルド設定を管理します。
ショートカットキーCtrl + Shift + Bでも開くことができます。
WindowsのBuild Profileを追加する
File > Build Profilesを開きます- Platform一覧に
Windowsがあることを確認します - WindowsのProfileがない場合は
Add Build Profileを押します - Platform Browserから
Windowsを選択します Add Build Profileを押します- 作成した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番に並べた設定例
Titleを0番、Gameを1番に並べて設定します。
ビルドには、Build ProfileのScene Listに登録したSceneだけが含まれます。
必要なシーンは必ず登録し、有効化してください。
逆にテスト用のシーンや未完成のシーンを含めないようにも注意してください。
設定手順
- Build ProfileのScene Listを開きます
TitleとGameを追加します- 両方のSceneが有効になっていることを確認します
Titleを先頭、Gameを2番目に並べます- Sceneファイル名の大文字小文字を確認します
| Build Index | Scene | 用途 |
|---|---|---|
| 0 | Title | ゲーム起動時に最初に表示する |
| 1 | Game | ゲーム本編を実行する |
先頭の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 | ゲーム名 | ウィンドウタイトルや保存先に使用される |
| Version | 1.0.0 | 公開する版を識別する |
| Default Screen Width | 1280 | 起動時の画面幅 |
| Default Screen Height | 720 | 起動時の画面高さ |
| Fullscreen Mode | Windowed | 授業中に確認しやすい表示方法 |
Iconは任意です。
設定する場合は、自作した画像または利用条件を確認した素材を使いましょう。
バージョン番号のつけ方
バージョン番号は、公開するゲームの版を識別するために使用します。
- 1つ目の数字はメジャーバージョンで、ゲームの大きな変更や新しい機能の追加を示します
- 2つ目の数字はマイナーバージョンで、機能の追加や改善を示します
- 3つ目の数字はパッチバージョンで、バグ修正や軽微な変更を示します
開発中のテスト版は0.1.0、公開版は1.0.0のように、数字を3つ組み合わせて表すことが一般的です。
ただしこれらは慣習的なもので、ルールがあるわけではありません。
マイナーバージョンにGitのコミットハッシュを付けるなど、独自のルールでバージョンを管理するのも自由です。
Development Buildを作成する
最初はDevelopment Buildを作ります。
Development Buildには診断用の情報が含まれ、公開前にゲームの動作を確認するのに適しています。
出力先を準備する
Projectの外側に、ビルド専用フォルダを作ります。
Unity Projectのフォルダ内にビルドしないよう注意してください。
- MyGame
- Assets
- Builds
- Development
- Release
ビルドを実行する
- Windows用Build Profileを有効にします
Development Buildを有効にしますBuildを押します- 出力先として
Builds/Developmentを選択します - 実行ファイル名へゲーム名を入力します
- ビルド完了まで待ちます
Build and Runはビルド完了後にゲームを起動します。最初は出力先を確認しやすいBuildを使用し、生成された実行ファイルを自分で起動します。
Windowsビルドの出力
Windows向けにビルドすると、次のようなファイルが生成されます。
- Development
- MyGame.exe
- MyGame_Data
- MonoBleedingEdge
- UnityCrashHandler64.exe
- UnityPlayer.dll
Projectの設定やScripting Backendによって、生成されるファイル名や構成は一部異なります。
MyGame.exeだけではゲームは起動できません。MyGame_DataやUnityPlayer.dllなどを含む、出力フォルダ全体を1つの成果物として扱うことに注意してください。
ビルドしたゲームの動作を確認する
- Unity EditorをPlay Modeにしていない状態で
.exeを起動する - Title Sceneが表示されることを確認する
- STARTを押してGame Sceneへ移動する
- Playerを移動し、攻撃できることを確認する
- GAME CLEARまたはGAME OVERを1回表示する
- RETRYまたはTITLEでSceneを移動する
- ゲームを終了する
起動しない場合は、まず出力フォルダ内のファイルが欠けていないか、Scene ListにTitleとGameが登録されているかを確認します。
Development Buildで問題の詳細を確認したい場合、Windowsでは通常、次の場所にPlayerログが保存されます。
%USERPROFILE%\AppData\LocalLow\<Company Name>\<Product Name>\Player.logCompany NameとProduct Nameには、Player Settingsで設定した名前が使用されます。
普段のUnity Editor上でのデバッグとは異なりますが、出力ログは問題の原因特定のため極めて重要です。
ビルド成果物が動作しなかった場合は、まずログを確認しましょう。
公開に向けた作業
公開用のRelease Buildを作成する
Development Buildで動作の確認ができたら、公開用のRelease Buildを作ります。
- Build Profilesで
Development Buildを無効にする - 出力先として空の
Builds/Releaseフォルダを選択する Buildを実行する- Releaseフォルダ内の
.exeからゲームを起動する - Titleが表示され、Game Sceneへ移動できることを確認する
| 種類 | 用途 | 公開物としての扱い |
|---|---|---|
| Development Build | 制作中の確認、問題調査 | 通常は公開しない |
| Release Build | 提出、配布、公開 | 最終成果物として使用する |
ビルド後にProjectを変更した場合、以前のRelease Buildへ変更内容は自動反映されません。
修正後はもう一度ビルドし直します。
公開用ZIPを作成する
個人的な配布の際は、ビルドをZIPファイルにまとめるのが簡単です。
- Releaseフォルダ内のゲームを一度起動します
- Releaseフォルダの名前を
ゲーム名_バージョン_Windowsの形式へ変更します - 操作方法などを記載した
README.txtをフォルダへ追加します - フォルダ全体をZIP形式で圧縮します
- ZIPを別の場所へ展開し、展開先の
.exeから起動できることを確認します
- MyGame_1.0.0_Windows
- MyGame.exe
- MyGame_Data
- UnityPlayer.dll
- README.txt
READMEに記載する内容の例
ゲーム名: 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などに含めないように注意してください。
プロジェクト中で使っていたローカルな情報を含めてしまう事故にも注意が必要です。
配布の前に、公開するファイルやページの内容をよく確認してください。
公開後のダウンロードを確認する
アップロードが完了しただけでは、公開作業は終わっていません。
閲覧者と同じ経路からファイルを取得できることを確認します。
- 公開ページまたは共有リンクを開く
- 公開範囲とアクセス権を確認する
- ZIPをダウンロードし、展開する
- READMEを読み、書かれた手順でゲームを起動する
- 公開ページの説明と実際の操作方法が一致していることを確認する
自分の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形式で公開した
- 公開後にダウンロードし、閲覧者と同じ手順で起動を確認した