Unreal Revision Control (URC) では、[Snapshot History (スナップショット履歴)] タブにプロジェクトの開始時点からサブミットされたすべての スナップショット が一覧表示されます。このタブでは、重要なスナップショット情報、アセットの競合をすばやく検索し、スナップショットを日付で絞り込むことができます。
[Sync Latest (最新に同期)] を押すと、競合が見つかった場合、競合の変更に関するポップアップ メッセージが表示されます。[Conflict Resolution] タブ を開くと、どのアセットが競合しているかを表示し、ビューポート または関連付けられているアセット エディタでアセットに行われたすべての変更を開くことができます。
アセットの変更を確認した後、[Conflict Resolution] タブからプロジェクトの現在の状態として使用する変更を選択します。これにより、競合しているアセットが簡単に解決され、プロジェクトの状態の新しいスナップショットが作成されます。
これらの機能により、プロジェクトを妨げる要因を減らし、チームメイトが競合を独自に解決できるようになります。競合が解決されると、[Snapshot History] タブに新しいスナップショットが表示され、チーム メンバーはすべてのスナップショットと解決された競合を確認できます。
[Snapshot History (スナップショット履歴)] タブ
[Revision Control (リビジョン コントロール)] > [View Snapshot History (スナップショット履歴を確認する)] を選択して、[Snapshot History] タブを開きます。

スナップショットをダブルクリックするか、展開アイコン をクリックしてスナップショットの詳細を開きます。ここでは、アセットとその状態、および変更の日時を確認できます。

[Snapshot History] タブを開いた状態で作業できます。タブの上部から、変更のチェックイン、最新のスナップショットへの同期、特定のタイムスタンプでのスナップショットの絞り込みを行うことができます。

プロジェクトにアセットやアクタを追加すると、[Check in Changes (変更をチェックイン)] ボタンが強調表示されます。このボタンをクリックすると、新しいスナップショットをサブミットできます。新しいスナップショットは、スナップショット履歴リストの一番上に追加されます。
巻き戻しアイコン をクリックすると、以前のスナップショットを表示できます。

近日中に、履歴リストから以前のスナップショットを復元できるようになります。つまり、プロジェクトを以前のバージョンに戻して、そのスナップショットから作業を続けることができます。
前回同期した後、[Snapshot History] タブから競合しているアセットを見つけることもできます。リスト内の競合は、競合アイコンとスナップショット内の競合数で表示されます。

リストの右側の競合をクリックすると、競合しているアセットを表示できます。
競合の解決
競合の解決は、[Conflict Resolution] タブからのみ実行できます。このタブは、競合状態のアセットがある場合にのみ表示されます。[Conflict Resolution] タブでは、次の 4 種類の競合を解決できます。
-
アセットへの接続が失われてから、オフラインでアセットに行った変更。
-
[Auto Checkout (オート チェックアウト)] をオフにした状態で、最新のスナップショットに同期することなく、または変更をチェックインすることなく行ったアセットへの変更。
-
Windows エクスプローラーからプロジェクト ファイルに行った変更。
-
同じ Verse コードで動作する 2 人のチームメイト。
[Sync to Latest (最新に同期)] をクリックすると、アセットの競合が表示されます。アセットに競合があるときにプロジェクト ファイルを同期しようとすると、[Conflicting Changes (競合する変更)] ポップアップ メッセージ が表示されます。ポップアップ メッセージの [Review Conflicts (競合を確認)] ボタンをクリックすると、競合の解決を開始できます。

これにより、[Conflict Resolution] タブが開きます。このタブで、自分の変更のスナップショットを保存するか、同僚の変更のスナップショットを保存するかを選択して、競合を解決します。タブ リストの上部で、[All Mine (すべて自分の変更)] と [All Theirs (すべて他のユーザーの変更)] のどちらかを選択するか、[All Mine] または [All Theirs] で個々の変更を保持するかを選択できます。
アセットの競合は 2 つのサムネイルで表されます。競合リストからアセットの変更を選択し、[Reload level to preview (レベルをリロードしてプレビュー)] をクリックできます。関連するアセット エディタまたはビューポートにアセットに対して行われた変更が表示されます。保持する変更を選択したら、[Resolve Conflicts (競合を解決)] をクリックします。

各サムネイルの詳細を確認するには、アセット名の横にある展開アイコンをクリックすると、競合ビューが開きます。個々のサムネイルがより詳細に表示され、各チーム メンバーがアセットに適用した変更を簡単に確認することができます。

各サムネイルには次の 3 つのアイコンがあります。

-
フォーカス アイコン - ビューポート内のアセットを見つけてフォーカスします。
-
フォルダ アイコン - コンテンツ ブラウザのフォルダ内のアセットを表示します。
-
リンク アイコン - アセットに適用されたすべての変更と、この変更によって影響を受ける他のアセットを含む [Dependency Tree (依存関係ツリー)] を表示します。
このタブのアセット プレビュー ウィンドウの下部の [Summary (サマリー)] の横にある展開アイコンをクリックすると、[Conflict Details (競合の詳細)] パネルで変更のサマリーが表示されます。このショートカットにより、自分が行った変更とチームメイトが行った変更の違いを確認することができます。サマリーには、変更に関する次の情報が表示されます。
-
サイズ
-
アセット
-
変更日
-
スナップショットの説明
-
スナップショット ID

自分の変更や他のユーザーの変更を選択する
チームメイトのアセットの変更を ビューポート で確認するには、チームメイトの変更を表すサムネイルを選択し、[Conflict Resolution] タブ の下部にある、[Reload level to preview] ボタンをクリックします。チームメイトがアセットに加えた変更がビューポートに表示されます。
サムネイル上のアイコンを使用するか、[Conflict Details] パネルを開いて、チームメイトがアセットに加えた変更を確認しながら、アセットの変更に関する詳細を確認することができます。
自分の変更を表示するには、自分の変更を表すサムネイルをクリックし、[Conflict Resolution] タブ の下部にある、[Reload level to preview] ボタンをクリックします。この操作により、ビューポートでアセットの変更を並べて比較することができます。
昇格させるアセットの変更を決定し、その変更を表すサムネイルを選択して、タブの下部にある [Resolve Conflict] ボタンをクリックします。スナップショットの説明ウィンドウが開きます。競合の解決と昇格するスナップショットの簡単な説明を追加し、[Submit (サブミット)] をクリックしてスナップショットを [Snapshot History] リストに追加します。
Verse で自分の変更や他のユーザーの変更を選択する
Verse の競合はサムネイルとして表示されないため、[Snapshot History] リストで見つけることができません。チームメイトが自分より先にファイルに変更を加えていた場合、Visual Studio Code を開いて、先に最新の状態に同期することなく、ファイルに変更を加えると、競合状態になります。

UEFN 画面の下部にある [Check in Changes] または [Sync to Latest] ボタンをクリックすると、競合を警告するポップアップ メッセージが表示されます。[Review Conflict] または [Review (確認)] アイコンをクリックして、[Conflict Resolution] タブを開きます。
[Conflict Resolution] タブで [Resolve in VS Code (VS コードで解決)] ボタンをクリックします。競合している Verse ファイルが Visual Studio Code で 3 つの状態を表示するマージ ウィンドウで開きます。1 つの変更は左側の緑色で、もう 1 つの変更は右側の紫色で、ファイルの現在の状態はウィンドウの下側の黄色で表示されます。
画像をクリックすると拡大表示されます。
Verse ファイルの左、右、および現在の状態で変更のオーバーフロー メニューをクリックすると、さまざまなオプションが表示されます。
左側では、[Accept All Changes from Left (左のすべての変更を受け入れる)] を選択すると、左側の Verse ファイルへの変更を受け入れることができます。右側では、[Accept All Changes from Right (右のすべての変更を受け入れる)] を選択して、右側の Verse ファイルの変更を受け入れたり、左側または右側の変更を下側のベース ファイルと比較することができます。現在のバージョンで、[Reset (リセット)] を選択すると、ファイルをリセットすることができます。
競合を解決するには、ファイルを選択して変更を受け入れ、ファイルが解決された状態にします。次に、[Resolve Conflict] ボタンをクリックして、プロジェクトに変更を保存します。その後、スナップショットの作成と提出の URC ワークフローに進みます。