Unity Collaborate って何?
Unityを多人数で使う場合、これを導入しているとスムーズにファイルのやりとりができます。しかもUnity単体で動く(SourceTreeとか外部アプリケーションを使うことなく)ので、改めてインストールする必要もありません。Unity 5.5以降であれば、既に利用可能になっているんですねー。いやー、楽になったわー。おじさんUnity3.5の時代では、協力作業の環境づくりが大変だったからなー。だからゲームジャムとかその場限りの多人数プロジェクトとか、効果発揮しますよ。なんせセットアップが超楽だから。
Unity Collaborate のセットアップ
1、 準備として
Unity アカウント作成をしておきましょう。わからない人はここらへん を参考にしてアカウントを作ってみてください。
あと、とりあえず適当なプロジェクトを作成します(もちろん既存のプロジェクトでも構いません)。
2、 Serviceウィンドウを立ち上げる
Unityエディタで一番上のメニューから「Window」→「Services」を選択して、Serviceウィンドウを出してください。
Unityアカウントにログインしていない場合は、そこに「Sign In」と出るので、クリックしてログインしてください。
3、 プロジェクトを登録&Collaborateをオンに
「Create a Unity Project ID」で「Create」をクリックすると、現在のプロジェクトをServiceに登録されます。
Unity Collaborate 使ってみる
じゃあまず、使ってみましょう!
1. Collaborateをオンに
上の部分の「Collab」ボタンを押すと、タブが開いて「Start now!」を押すことで、Collaborateが利用できるようになります。
2. はじめてのアップロード
「Collab」ボタンの横に「↑」が出ているときは「サーバーにアセットをアップロードが可能な状態」です。というわけで、これをクリックして早速アップロードしてみましょう。
クリックするとコメントを求められるのですが、これはあとで何をアップロードしたかわかるためのもので、大切なものですのでちゃんと書いておきましょう。そして「Publish now!」をクリックしてアップロードします。数秒後には完了した画面が出るはずです。
3. メンバーの追加
多人数でゲーム作るということなので、誰か他の人を同じプロジェクトに入ってもらいましょう。
「Collab」ボタンを押して、ウィンドウの下の「Invite teammate(チームメイトを誘う)」をクリックします。
右のサービス画面でメンバーの追加ができるので、招待したい人のUnityアカウントのメールアドレスを入力して「Invite」クリックしてください。すると招待した人へメールが飛んできます。
招待された人は新たにUnityを開いてみると、「In The Cloud」タブがあってそこを選択すると、クラウド上のプロジェクトが開けるようになっているはずです。
そこの中の該当のプロジェクトを選択すると、晴れてプロジェクトが共有となりました。
4. アップデート
とりあえず何かファイルを作ってみましょう。ここではSampleScriptというC#スクリプトを作ります。
するとCollabボタンが青くなって、「↑」となるので、これを押してアップロードします。
一方、他の開発者のUnity画面では、Collabボタンがオレンジ色になって「↓」となっているはずです。これを押すと、先ほどアップロードしたSampleScriptがクラウドを通じてダウンロードされるはずです。
5. コンフリクト!
では、同時に同じファイルを修正してたら、どうなるか?
基本的に修正箇所が違っていれば勝手にマージしてくれるんですが、動画のように全く同じ箇所を修正してたりすると「コンフリクト」が起こります。このままではプロジェクトを前に進めないので、コンフリクトを解決する必要があります。
コンフリクトの解決方法としては、
・外部マージツールでうまくマージする「Launch external tool」
・相手の修正をなかったことにする(自分ので上書き)「Choose mine」
・自分の修正をなかったことにする(相手ので上書き)「Choose theirs」
があります。その時々で適切なものを選択してください。特に「Choose mine」は注意が必要ですよ!黙ってやるとケンカ上等ですヨ!
Unity Cloud Build を動かしてみる
実は Unity Collaborate をしていると Unity Cloud が簡単に動くんです。
Unity Cloud Build とは、通常は自分のPCとかでしているビルドが、オンライン上のクラウドでビルドしてくれるサービスです。
定期的にビルドしたり、iOS/Androidとかプラットフォーム別でビルドできたりすることができるので、凄く便利です。
やり方はとっても簡単で、ServiceウィンドウでCloud Buildの設定していくだけです。
まずはPlatformを選択して、どのUnityバージョンでビルドするか選択して、「Next: Build→」を押すだけです。
しばらくするとビルド完了のメールが飛んできます。その中の「INSTALL」リンクをクリックすると、ダウンロードサイトに行くので、そこからZIPをダウンロードすれば、実行できるようになります。
Q&A
Q. Gitで言うところのbranch ってないの?
A. 今のところ(2016/12/7現在)、まだ実装されていません。でも考えていないわけじゃないので、今後に期待です。
Q. PrefabとかSceneとかちゃんとマージしてくれるんの?
A. 結構、ちゃんとマージしてくれますよ!もちろん違う人が同じ箇所を変更していれば、コンフリクトすることはありますが、「自分の変更を生かす」「相手の変更を生かす」「手動で変更」と選択ができます。
Q. Diffツール変更できる?
A. できます。
Q. Unity Personal ユーザーでも使える?
A. 使えますよー!よっしゃー!
Q. Binary マージしてくれるの?
A. それは無理っす。
Q. GitHubのリポジトリは使える?
A. できないです。今のところUnity Technologies が用意したサーバーで一括管理しています。サーバー設定とかの手間をしなくていいので、楽チンです。
Q. 容量制限は?
A. 各プランによって違います。 Unity Personal:5GB、Unity Plus:15GB、Unity Pro:25GB、です。追加容量も25GBごとに月額$5でできる
Q. え?最大1プロジェクト25GB?小さくない?
A. あ、Plus/Pro ユーザーに限り、「一人あたり」の容量です。つまりUnity Proで5人プロジェクトの場合は 25GB×5=125GB ということです!さすがにこれだけあれば大丈夫でしょう!
Q. 社内ローカルサーバーで使えないですかね?
A. 今のところできませんが、検討中です。できるようにしたいですねー。
感想
5.4あたりはまだまだ、という感じがしたのですが、5.5で確認したところ意外と使えるな!というのが印象です。
Unity CollaborateはまだΒなので、まだまだなところがあると思いますが、とりあえずゲームジャムとかで使ってみてはどうでしょうかね。Cloud Buildと連携するのは本当楽なので、試しに使ってみることをオススメしますよ!