Unreal Revision Control (URC) lists all submitted revisions for the currently synced branch in the Branch History tab. This tab provides you a way to quickly find important revision information, asset conflicts, and filter revisions by date.
When you Sync Latest, Check-in Changes, or Merge branches, if any conflicts are found you are notified that you must review them by means of a popup message. Opening the Conflict Resolution tab provides a way for you to view which assets are in conflict and open all asset changes made in the viewport or the associated asset editor.
After reviewing the asset changes, select which change to use as the current state of the project from the Conflict Resolution tab. This easily resolves the asset in conflict and creates a new revision of the project state.
These features reduce project blockers and free teammates to resolve conflicts independently. Conflict resolution results in a new revision in the Branch History tab where team members can view all revisions on their current branch.
Branch History Tab
Open the Branch History tab by selecting Revision Control > View Branch History.
Double-click on a revision or click on the Expand icon to open the revision details. Here you can view the asset and its state as well as the date and time of the change.
You can work with the Branch History tab open. From the top of the tab you can check in changes, sync to the latest revision, and filter revisions to a particular time stamp.
As you add assets and actors to your project, the Check in Changes button highlights. Click the button to submit a new revision. The new revision is added to the top of the branch history list.
Sync to an earlier revision by clicking on the Rewind icon.
After syncing to the latest, if you have changes in conflict, a conflict icon appears to the left of the revision and the number of conflicts appears on the right.
You can view the assets in conflict by clicking on the conflicts in the right-hand side of the list.
Rewind to Revision
The Rewind to Revision feature gives you a way to return to an earlier revision and continue working from a previous point in the revision history. You might want to return to an earlier revision if you’re not satisfied with the changes made in a recent revision.
Rewinding to an older revision ignores all the changes made from the selected point in the revision history to the current revision you’re working on.
Use Rewind to Revision by doing the following:
Select a revision from the Branch History tab and click the Rewind icon. A new button option appears on the Branch History tab and the bottom toolbar, Restore as Latest.
Click the Restore as Latest button. The Restore as Latest window opens.
Provide a reason for restoring the previous revision. This will be the revision description shown on the newly restored revision.
Click the Restore as Latest button at the bottom of the window.
The revisions between the selected point in the Branch History and the newly-restored revision are greyed out and a perforated line appears beside the ignored revisions.
You can sync to an ignored revision in the revision history timeline by selecting to rewind to a revision that is greyed out.
Asset Level Actions
Asset level actions provide a way to edit assets from the revision history. Expand the revision to view the assets within it. Hovering on an asset in the revision list equips asset-level editing tools. Click on an editing icon to use the tools.
Each of the tools serve different purposes:
Focus on the asset in viewport
Open the asset in the Content Browser
View asset dependencies
Revision Editing
Revision editing can be done on the asset level. There are two options for revision editing on the asset:
Sync to the revision you’re inspecting the asset in to focus on it there.
View the asset in your currently synced revision.
Open the Content Browser
Selecting to open the asset in the Content Browser will open the Content Browser with the asset pre-selected.
View Dependencies
Some assets have dependencies which can undo changes to other assets. This view provides a way for you to view all dependencies and make an informed decision before syncing an asset to an outdated revision, or making changes to the asset from that revision.
Select the link icon to open the Dependency Viewer and review all the dependencies for the asset.
Conflict Resolution
Resolving conflicts can only be done from the Conflict Resolution tab. The tab only appears when you have assets in a state of conflict. There are four different types of conflicts that can be resolved from the Conflict Resolution tab:
Changes you made after losing connection and working offline on an asset.
Changes you made with Auto Checkout turned off and working on assets without syncing to the latest revision or without checking in your changes.
When you make changes to project files from Windows Explorer.
Two teammates working on the same Verse code.
Clicking Sync to Latest reveals asset conflicts. Attempting to sync your project files when there’s a conflict with an asset results in a Conflicting Changes popup message. You can start to resolve the conflict by clicking the Review Conflicts button on the popup message.
This opens the Conflict Resolution tab where you’ll resolve the conflict by choosing whether to save your current changes or the incoming changes from the revision you’re in conflict with. At the top of the tab list, you can select between All Current and All Incoming, or you can select which individual changes should be kept from All Current or All Incoming.
Asset conflicts are represented by two thumbnails. You can select an asset change from the conflict list and click Reload level to preview. The changes made to the asset appear in the associated asset editor or in the viewport. Once you select which changes you’re keeping, click Resolve Conflict.
To further examine the information for each thumbnail, click on the expand icon next to the asset name, this opens the conflict view. Each thumbnail becomes more detailed to provide a brief look at the changes applied to the asset by each team member.
On each thumbnail there are four icons:
Focus Icon - Finds and focuses on the asset in the viewport.
Folder Icon - Shows the asset in its folder in the Content Browser.
Link Icon - Displays the Dependency Tree with all the changes applied to the asset and what other assets are affected by this change.
Diff Icon - Opens a diff window that compares the two revisions so you can identify the differences and make an informed decision about the resolution.
You can view a summary of changes in the Conflict Details panel by clicking the expand icon next to Summary at the bottom of the asset preview window in the tab. This shortcut allows you to review the difference between the changes you made and those made by your teammate. The summaries reveal the following information about the changes:
Size
Asset
Date of change
Revision description
Revision ID
Choose Mine, Choose Yours
View your teammate’s asset changes in the viewport by selecting the thumbnail representing their changes and clicking the Reload level to preview button at the bottom of the Conflict Resolution tab. The changes they made to the asset appear in the viewport.
You can use the icons on the thumbnail or open the Conflict Details panel to review more information about the asset change while you examine the changes your colleague made to the asset.
View your changes by clicking on the thumbnail representing your changes and clicking the Reload level to preview button at the bottom of the Conflict Resolution tab. This produces a side-by-side comparison of the asset changes in the viewport.
Decide which asset change to promote, select the thumbnail representing those changes, then click the Resolve Conflict button at the bottom of the tab. A revision description window opens. Add a brief description of the conflict resolution and the revision being promoted, then click Submit to add the revision to the Branch History list.
Choose Mine, Choose Yours in Verse
Verse conflicts do not appear as thumbnails and can’t be found in the Conflict Resolution list. Opening Visual Studio Code and making changes to a file without syncing to latest first will put you into a conflict state if a colleague has already made changes to the file before you.
Click either Check in Changes or Sync Latest at the bottom of the UEFN screen to reveal the conflict warning popup message. Click Review Conflicts to open the Conflict Resolution tab.
Click Resolve in VS Code button in the Conflict Resolution tab. The conflicting Verse files open in Visual Studio Code in a three-way merger window. One set of changes is in green on the left, the other changes are in purple on the right, and the current state of the file is in yellow on the bottom of the window.
Clicking on the overflow menu of the changes on the left, right, and current state of the Verse file reveals different options.
On the left you can select Accept All Changes from Left to accept the changes to the Verse file on the left. On the right you can select Accept All Changes from Right to accept the changes to the Verse file on the right, or compare the changes from the left or right against the base file at the bottom. On the current version you can select Reset to reset the file.
Resolve Left | Resolve Right | Reset |
Resolve the conflict by selecting a file to accept the changes and put the file in a resolved state. Next click the Resolve Conflict button to save the changes to the project. Afterward, you’ll go through the URC workflow of creating and submitting a revision.