UnityのビルドをCloudBuildを使って行う

今回はUnityでビルドをして、対応する形式のファイルを出力するという工程をCloudBuildを使ってオンライン上で行ってみます。

今回の記事に関しては不確かな情報を多く含みます。

スポンサーリンク

記事を読み進める前に

あらかじめプロジェクトファイルのバックアップを行ってから実行するようにしてください。ファイルが消えたりUnityで起動出来なくなったら
大問題です

わたくしと同じようにデータをハードディスクから消してしまって復旧作業をする必要性が出てきたり、最悪ファイルを復活出来ない可能性も出ます。

重要なファイルをゴミ箱からも削除してしまった!復活させる方法
重要なファイルをゴミ箱からも削除してしまった!削除に至るまでの経緯とファイルを復活させるまで

今回の記事の内容を行う場合は自己責任でお願いします。

必要がない場合は無理に行わない事をおすすめします。

わたくしの場合パソコンが32bit機でUnityでWebGL形式のファイルを出力する場合はUnityの64bit版でないと出来ない為オンラインでビルドする必要があった為
CloudBuildを行いました。

わたくしのパソコンはWindows7の32bit機なので他の環境だと違う可能性もあります。

CloudBuildとは?

それでは内容に入っていきましょう。

CloudBuildとはなんでしょうか?

これはオンライン上でビルドを行う事が出来るUnityのサービスです。

ただしこのCloudBuildを行うには他のソフトのインストール、アカウントの作成、登録作業が必要になってきます。

SourceTree - Gitというファイルのバージョン管理が出来る機能を簡単にするソフト。
Bitbucket - プロジェクト管理の為のホスティングサービス。

を使います。

SourceTreeのインストールからSSH鍵の作成までは、

この記事では、SourceTree の良いところ残念なところ、インストール方法と初期設定を紹介します。

↑のサイトがわかりやすいです。

Gitとは何か?SourceTreeの使い方、Bitbucketでのアカウント作成と設定の仕方は

Git初心者の方を対象とした入門記事を連載しています。 連載目次: 【連載Git目次】ほんとは簡単?SourceTreeでGitを始めよう! 今日から全7回に渡って連載予定です。 とっても便利ですので是非使いこなせるようになりましょう! 初回はGitで何ができるかを見...

↑のサイトがわかりやすいです。

上記のサイトは非常にわかりやすく参考にさせて頂きました。
ありがとうございますm(__)m

SourceTreeで修正をしてBitbucketにリモートリポジトリを作成してファイルをオンラインで管理するという感じですかね?

リモートリポジトリをしておくとファイルのバックアップとしても使えそうです。

SourceTreeの使用とBitbucketでのアカウントの作成までは上記サイトにお願いして、
わたくしはBitbucketにリモートリポジトリを作成し、UnityCloudでビルドする所までをやりたいと思います。

CloudBuildする為にUnityで設定を行う

まずはUnityでの設定を行っておきます。

UnityのEditorSettingを行う

UnityのメニューのEdit→ProjectSettings→Editorを選択し上のようにVersion Control、Asset Serializationを設定します。

なぜこれをやっているのかはちょっとわかりません(^_^;)

UnityのServicesを開く

次にWindowメニューのServicesを選択します。

UnityProjectIDを作成する

Unityの名前を選択し、UnityProjectIDを作成します。
すでに持っている場合はI already have a Unity Project IDをクリックします。

UnityProjectIDを設定

すでにUnityProjectIDを作成していた場合は↑のように名前とプロジェクト名を選択します。

CloudBuildをOnにする

↑の画面でCloud Buildをクリックします。

UnityCloudBuildをStart

Start Using Cloud Buildをクリックします。
ひとまずここでUnityCloudのサイトを開いて、次にBitbucketの設定に移ります。

Bitbucketの設定

Bitbucketのダッシュボード

まずはBitbucketにログインすると↑のようにダッシュボードが表示されますので、リポジトリをクリックします。

Bitbucketのリポジトリを作成ボタンを押す

↑のように表示される場合もありますが、違うように表示される場合もあります。

リポジトリの作成というボタンがあるのでそれをクリックします。
メニューのリポジトリからでも作成出来ます。

Bitbucketにリポジトリを作成

↑のようなウインドウが表示されるのでリポジトリの名前を付け、非公開リポジトリのチェックを入れ、リポジトリタイプをGitにし、リポジトリの作成ボタンを押します。

これでBitbucketにリポジトリを作成する事が出来ました。

SourceTreeの設定と作業

SourceTreeを新規作成

次にSourceTreeで先ほど作ったBitbucketのリポジトリに接続できるように設定をしていきます。

SourceTreeの新規でまずはローカルのリポジトリを作成するのでボタンを押します。

リポジトリを作成

上のように保存先のパスにUnityのプロジェクトフォルダを指定します。

Windows7ならC:\のユーザーフォルダのマイドキュメントにデフォルトでプロジェクトフォルダが保存されているはずです。
他の場所に保存した場合はそのフォルダを指定します。

リポジトリの設定

次に右上の方にある設定をクリックします。

無視するリストを登録

.gitignoreの編集でテキストファイルを開き無視するリストを設定します。
これは先ほどのリンク先のサイトで指定しているはずなので省略します。

リモートリポジトリのパスの追加

次にリモートタブを選択します。

リモートの詳細設定

↑のようにリモート名を付け、Bitbucketのリポジトリのアドレスをコピーし最後に.gitと付けます。
Macだとやり方が違うみたいです。

作業ファイル

作業中ファイルを追加していきます。

ファイルがコミットされた結果

↑のようにファイルが追加されました。
追加したファイルを選択しコミットコメントを付けコミットをします。

コミットされた画面

↑のようにmasterブランチにコミットされました。

指定したブランチをプッシュ

次はコミットされたファイルをリモートリポジトリにプッシュします。

コミットしたファイルをプッシュ

↑のようにプッシュするブランチをチェックしプッシュボタンを押します。
これでファイルがサーバ上で管理されるようになります。

わたくしの場合重いファイルをプッシュしようとするとSourceTreeが永遠に待ち状態になってしまい先に進めませんでした。(^_^;)

かわりにほとんど変更を加えていないUnityのプロジェクトを作成しプッシュした場合は出来ました。

めちゃくちゃ時間がかかっているだけでした・・・。

SourceTreeでの作業はこれで終わりです。

UnityCloudとBitbucketの連携とビルド

次にUnityCloudのサイトを開きログインします。

新しいUnityCloudプロジェクトの作成

新しいプロジェクトを作成をクリックします。

プロジェクト名と組織を指定

プロジェクト名と組織名を選択します。
組織名はUnity登録時の名前が選択出来るんですかね?
入力と選択が終わったら作成ボタンを押します。

BitbucketのサーバURLを入力

すると↑のようにURL入力欄が出るのでBitbucketのリポジトリURLに.gitをつけたURLを貼り付けます。
バージョン管理の種類はGITにします。

UnityCloudでSSHキーを取得

↑のようにSSH公開鍵が表示されます。

これをコピーします。
左側に出ている指示に従ってSSHキーをBitbucketに設定します。

↑の画面が出なければ

SSHキーを表示

上の表示ボタンをクリックして表示してください。

BitbucketのSSHキーにUnityCloudで取得したキーを設定

UnityCloudのリンクから来た場合はすでに表示されていると思いますが、そうでない場合は
Bitbucketでリポジトリを選択し、

Bitbucketアカウント管理

ウインドウの右上の方にある人のアイコンをクリックし、アカウント管理を選択します。

左のメニューにSSHキーという項目があるのでそこをクリックし鍵を作成します。
ここで指定するカギはUnityCloudで表示されたSSHキーを指定します。

ビルドして出力する形式を選択

これでBitbucketでの設定が終了したので、UnityCloudに戻りビルドする形式を選択します。

ビルド形式は後から追加出来るのでとりあえず何か選択してください。

ビルド設定を行う

ビルド対象のブランチ、ビルドを行うUnityのバージョン(自分のゲームのUnityバージョンではなくビルドをしたいUnityのバージョン)を指定します。

ビルド待ちの画面

ビルドが開始されたので、終わるまで待ちます。
オフラインで実行するよりもかなり時間がかかるのでログアウトして数時間後にまた見に行くというのでもいいかもしれません。

ビルドしたファイルの再生やダウンロード

ビルドが終わったらWebPlayerやWebGL形式ならその場で再生して確認出来ます。
スタンドアロン形式だとファイルをダウンロードする事が出来ます。

CloudBuildした結果

↑がWebPlayer形式で出力したものをその場で再生してみたものです。
動作も問題がありませんでした。

UnityエディタでCloudBuildを実行させる

一度UnityCloudの設定を行っておけば、
ビルドさせるのにUnityCloudのサイトに行かなくてもUnityを起動して実行する事が出来ます。

記事の最初の方でUnityを起動して設定した後の状態のUnity画面に戻ります。

ビルドターゲット設定

↑のAdd Build Targetを押します。

出力する形式を指定

出力する形式をしてします。

ビルドするUnityのバージョン指定等

ビルドするUnityのバージョン等を指定してNext Buildボタンを押すとビルドが開始されます。

BRANCHの読み込みが終わらない場合はUnityCloudでBitbucketのURLが間違っている可能性があるのでUnityCloudのサイトで確認してください。

ビルドしたファイルはUnityCloudのサイトに行って確認を行ってください。

UnityCloudを使ってみた結果

ここまでCloudBuildについてみてきましたが、ほとんど参考にさせて頂いたサイト様のおかげですね(^_^;)

わたくし自身がいまいちわかってないのでこれでいいのかどうか・・・。

WebGL形式で出力したい一心でCloudBuildを使ってみましたが、
容量の大きいファイルをリモートリポジトリにプッシュ出来なかったので結局意味なかったです・・・。

フリーズしているように見えましたが容量が大きすぎてずっと処理中だっただけのようです。
数時間プッシュにかかりました(^_^;)

WebGL形式も今の所ブラウザ対応がいまいちなのかなぁ・・・、わたくしの環境では全然再生出来ない。

ローカルでは再生出来ない?からUnityCloudから確認しようと思ったけど再生出来なかったです。

たぶんこのパソコンのスペックだとWebGL形式のファイルを再生出来ないのだと思う・・・・。

これじゃゲーム作っても公開出来ないです(:_;)
公開は出来ても自分じゃ確認出来ないからテストが出来ないんじゃきついですね・・・。

んーこれならしばらくはWebPlayer形式で出力していこうかなと思います。
でも・・・容量が大きいとUnityが落ちてしまうのでそういう時はCloudBuildを利用させてもらおう。

WebPlayer形式はすでにUnityで非奨励の出力形式になっているので出来る人はWebGL形式で出力した方がいいと思います。

今のパソコンより性能の良い中古パソコン2万ぐらいで売ってないかな・・・(-.-)