えんじにあ雑記!

開発していて学んだことをまとめていきます!

unity1weekでCloud Buildを使ってみた話

f:id:flat-M_M:20200505154628j:plain

unity1week「密」に参加した時に、WebGLへのビルド環境としてCloud Buildを使ってみたので使い方と導入した感想をまとめます。

ちなみに「メンヘラ彼女から濃密接触されないように逃げて帰宅する」っていうゲーム作ったので遊んでみてください☺️

「私と密会してください」 unityroom

Cloud Buildとは

プロジェクトをCloud Buildに登録する

unity3d.com

「Cloud Build」では、クラウド上で高速にビルド作業を行ない、共有することができます。また、「Cloud Build」実行時は自動でコンパイル、デプロイ、試験などの処理も行なうため、チームによる運用も簡単です。その設定も、すでに持っているソースコード管理のレポジトリを用いて手軽に行なうことが可能です。

などの特徴があります。

今回はunity1weekだったので、

とにかくスピード感を重視&WebGLのみサポートすればいい

状態だったので、一つ目のトリガー設定で自動ビルド実行について説明していこうと思います。

ちなみに下記のプラットフォームに対応しています。

f:id:flat-M_M:20200505155616p:plain
Cloud Buildの対応プラットフォーム

導入方法

まずは、Unity EditorからServiceウィンドウを起動して、UnityIDを登録します。

f:id:flat-M_M:20200505160006p:plain
UnityIDを登録する

次に、プロジェクトのダッシュボードに移動して、Cloud Buildを有効にします。

f:id:flat-M_M:20200505160409p:plain
Dashboardへの遷移

最後に、もう一度Unity Editorに戻ってServiceウィンドウからCloud BuildをONにします。

f:id:flat-M_M:20200505160517p:plain
Editorで有効化する

これでプロジェクトのCloud Buildを有効にすることができました。

githubのプロジェクトを登録する

プロジェクトにCloud Buildの導入が完了したら次はビルド対象となるプロジェクトのリポジトリURLを設定する必要があります。 今回はgithubを使っていたのでその方法で説明していきます。

まずはビルド方法の設定ですが

  • 自動でビルドする
  • 手動でプロジェクトファイルをアップロードしてビルドする

の二つの方法があります。

今回はgithub上のmasterブランチに変更があった場合に自動でビルドを回したいのでSET UP CLOUD BUILDを選択します。

f:id:flat-M_M:20200505161340p:plain
ビルド方法の設定

次にリモート上のリポジトリを登録します。今回の開発ではgithubを使用していたのでgithubを選択します。

f:id:flat-M_M:20200505161500p:plain
リポジトリホスティングサービス選択

すると、githubの認証画面に遷移すると思うので適切に設定してあげると、再びダッシュボードの画面に戻ってきます。

ここで該当のリポジトリを設定してあげます。

f:id:flat-M_M:20200505161702p:plain
リポジトリの登録

リポジトリの登録が完了するとこのような画面になると思います。

f:id:flat-M_M:20200505161735p:plain
リポジトリの登録完了

以上でCloud Buildにリポジトリを登録するまで完了しました。

次でいよいよビルド方法などを設定してビルドを実行するところになります。

ビルド方法の設定

プロジェクトのCloud Buildを有効にして、ダッシュボードでリポジトリの登録まで完了したらいよいよビルド方法を設定して自動ビルドになります。

まずは、ビルドしたいプラットフォームを選択します。unity1weekでは提出はWebGL形式になるのでそちらを選択しました。

f:id:flat-M_M:20200505161905p:plain
対応プラットフォーム

プラットフォームを選択したら、ビルド時の詳細設定を登録していきます。

  • ビルドの名前
  • どのブランチをビルドするか
  • ビルドに使うUnityのバージョンは
  • 変更があった際に自動でビルドを回すか

などの設定が可能となっています。

今回はmasterブランチに変更があった場合に自動でビルドを回して欲しかったので、Auto-buildをONに設定しています。

f:id:flat-M_M:20200505162000p:plain
ビルド詳細設定

ここまで設定が完了すると青色の「NEXT:BUILD→」ボタンを押すことで初回のビルドが実行されます。

masterを更新してみる

以上でCloud Buildの全ての設定が完了しました。

試しにmasterブランチに更新をかけてみると、自動でビルドが走ることが確認できます。

シーンを登録してpushしてみました。

f:id:flat-M_M:20200505162643p:plain
masterブランチに更新をかける

すると、登録したリポジトリのmasterブランチに更新がかかったことを検知して、自動的にCloud Buildが走っていることが確認できました🎉

(最初のビルド登録時にシーン登録するの忘れてて、初回のビルドが落ちてますね😭)

f:id:flat-M_M:20200505162737p:plain
自動ビルドが走った

メリット

今回はunity1weekでCloud Buildを試験的に導入してみました。

短期間で完成を目指す開発は、かなり効率的に作業しないと難しいところもあるので結果として導入したのは良かったかなと思います。

WebGLにビルドするのはかなり時間がかかりますし、その間ずっとビルドしているPCでは作業できない状態だと合計でかなりの時間「待ち」が生まれてしまっただろうし、ゲームの動作テストなどのサイクルが遅くなってしまうので結果として導入したことでかなり開発効率は上がったと思います。

デメリット

デメリットというわけではありませんが、フルでCloud Buildの能力を活用できたわけではないので今後色々試していければいいなとは考えています。

ビルド前にテストを実行することも可能っぽいですし、ビルドファイルのアップロードなどもできそうなので(少しリファレンスとかをみた感じ)CI/CDをCloud Buildだけで完結できる感じもしたので利点をもっと使いこなせるようにしていきたいと思います。

感想

今回のunity1weekのチーム構成が

  • エンジニア3人
  • デザイナー2人
  • 音楽1人

という「え、最強じゃないかこのメンバー」みたいな状態だったので自分一人ではできないところがどんどん出来上がっていく感じがしてすごい楽しかったです!🎉

Cloud Buildも初めて導入しましたが、結果的にいい感じに運用できたので知見もたまったし良い事づくしでしたね!

ちなみに、学生はUnity Studentプランというものがあり、そちらに登録するとCloud Buildとか色々サービスが使えるようになるのでおすすめですよ!!

学生の力を存分に味わいましょう笑

本当に学生のクリエイトをサポートしてくださる環境ありがたいです🙇‍♂️

blogs.unity3d.com