Lore Version Control is a custom embedded version control feature in Unreal Editor for Fortnite (UEFN).
Version control is a way for individuals and teammates or collaborators to store different versions of project files, track changes, keep a primary source file for projects, and even roll back to an earlier project version if necessary.
Version Control Overview
Version control is similar to, but not entirely the same as, source control. Source control is concerned with text-based files, version control is concerned with project and file versions.
Lore Version Control is a stable way to track changes made to your project and individual project files. Version control keeps a history of changes to track who made changes to what file, when the changes were made, and why.
Version control keeps a record of the checked-in files. By checking in changes made to the project and project assets, you record a history. As long as you and your team consistently and periodically check-in your changes, you’ll have a record that goes all the way back to the first file you created.
This means UEFN projects all have a base file with information about the project from the day the project file was created and assets were checked in. As a project progresses, files are added and removed from version control as well.
Lore Version Control works by tracking the changes made when files are checked out, merging changed files to the primary source file, and capturing a new version of the project, which becomes the new primary source file. This is the project’s “source of truth”.
Lore Version Control keeps a repository for all your projects that contains all the changes ever made, as well as the current state of the projects. You can view the history and revert changes in UEFN when Lore version Control is enabled.
Best Practices
Following are some best practices for getting the most out of Lore Version Control.
Always add version control to new projects you are creating.
Check-in your changes regularly every time you use Lore Version Control.
Do not enable multiple version control methods outside of Lore Version Control, enabling multiple version control or backup systems on the same project/location in your filesystem can end up causing unexpected behavior since there won't be a clear source of truth for either to reference.
When opening a project, always Sync Latest before making changes.
When working collaboratively, let your teammates know which files you have checked out.
Collectively agree which team member has priority to check out assets when working on teams.
Remember to watch for version control’s visual cues on projects and objects within projects to identify when another developer has checked out a project or object to avoid conflicts and errors.
Recognize alerts that indicate another user has checked out an asset and is actively editing the project / object.
Communicate changes to fellow developers when handing a project over to a teammate for editing.
If your changes could be in conflict with another developer’s work, make a record of the changes you’ve made before you attempt to sync the project.
If necessary, create an editing schedule for assets to reduce conflicts and errors.
Do not check out all assets on a project as this can block another dev from their work.
If you are planning to change a feature or area in your project, try to check out the corresponding files in advance. This avoids conflicts with another team member's changes.
Add descriptions to your currently checked-out version to remind yourself (and others) what you did with the checked-out files before submitting them.