Epic Games Unveils Lore Version Control System

Epic Games has announced that they have open sourced their centralized version control system called Lore. This system was previously provided as part of the UEFN (Unreal Editor for Fortnite) toolkit under the name Unreal Revision Control. Lore is designed for projects that involve source code along with large non-text files, making it ideal for collaborative development of assets such as textures, 3D models, and sound data for computer games.

The system is developed in Rust and is distributed under the MIT license. It is optimized for handling non-text files and allows for exclusive locks to be set when working on these files to prevent simultaneous editing by multiple users. The project is available on GitHub.

Lore is scalable for teams of different sizes and can be run on a developer’s computer as a single executable file or deployed on a centralized server for large teams. It supports various backends for data storage and fault tolerance, with options like AWS S3 for persistent storage and DynamoDB for metadata.

To ensure the immutability of revision history, Lore uses a “Merkle Tree” to verify all branches and nodes through tree hashing. Data is addressed by content hashes for easy comparison and integrity checks. Each revision’s hash includes its state, parent revision hashes, and data hashes, with large files stored in chunks.

In addition to standard version control features like commits and branching, Lore offers access control, conflict resolution, fragment-level deduplication, and the ability to work with an incomplete copy of the working tree. It also includes caching, lightweight branch creation, and fast branch switching without duplicating data.

/Reports, release notes, official announcements.