以前グローバルゲームジャムでCollaborateを使用したのですが、単一のシーンをみんなで一斉に弄りまくってたのに競合が起こらなかったので、少し実験。
詳しくは後日まとめる予定。
オリジナルなシーンとPrefab
同一シーン・別オブジェクトの変更
ユーザー1による改変。
具体的にはステージの物を配置しまくる。
ユーザー2による改変。
具体的にはUIを編集。終わったらPublish。
ユーザー1、更新が来たので反映。
反映後シーンのリロードを要求されたのでリロード
ユーザー1の環境にユーザー2の変更したUI情報が反映される。
同一シーン・同一コンポーネント別パラメータの変更
ユーザー1、文字の色が気に入らないので変更
ユーザー2、文字の内容とフォントを変更
ユーザー1、合体。
ユーザー1のカラーとユーザー2のフォント・テキストが反映
単一Prefabの同時編集
同一のPrefabを同時編集。
ユーザー1、Colliderは要らないと主張
ユーザー2、Playerコンポーネントを追加
合体
Colliderが削除されPlayerコンポーネントが追加された物が残る
単一コンポーネント別パラメータも似たような感じ
同一のオブジェクトの同一のパラメーター編集
デデーン。要マージ(そりゃね)
オブジェクト構造の変更
ユーザー1、こだわりのUI色変更
ユーザー2、UIの一括操作を可能にするためにUIに親オブジェクトを配置
ユーザー1の色とユーザー2の構造が反映
同一メッシュやテクスチャのインポーター設定同時操作
異なるパラメータであっても、多くのものが追加・削除されるっぽいのでコンフリクトを起こす。
…YAMLマージ範囲外?
注意点
マージはファイルに対して行われるので、他の更新を反映する前にProject Save。
保存してないシーン・保存してないPrefab等があると値が巻き戻る事がある。特にPrefab等のアセット。
マージ作業はYAML直編集。構造変わってても競合部分だけ提示してくれるので作業自体は楽だが、文字ベース。