Epic Games has released 'Lore,' a version control system robust against large binaries, for managing game development code and assets in one place.

Epic Games has released Lore, an open-source version control system for game and entertainment production. Lore is designed to handle not only source code but also large binary files such as images, audio, and 3D models, and is available under the MIT license.
Lore | Next-generation open-source version control - Lore
In large-scale game development, a version control system that records the history of file changes is essential for reverting to previous states during development and safely consolidating changes made by multiple people.
Git is a well-known version control system, but because it was developed primarily for source code, it requires additional mechanisms such as Git Large File Storage (Git LFS) when dealing with large binary files. On the other hand, centralized version control systems that are strong in handling large amounts of assets may require communication with a server even for everyday operations, and their communication methods and implementations may not be publicly disclosed. In game development, where code and large amounts of assets are handled in the same project, a system that combines the advantages of both is needed.
Epic Games' newly announced Lore is a version control system that combines a Git-like approach to identifying data using hash values calculated from the data's content with centralized access control and data preservation.
Lore saves files by splitting them into smaller fragments. By reusing fragments common to both the original and modified versions, it avoids the need to resave entire files after making minor modifications to multi-gigabyte files, thus reducing the amount of data required for saving and transferring.

Furthermore, a mechanism is in place to retrieve only the necessary parts, eliminating the need to download a massive repository from the start. Developers can retrieve only the source code, and artists can work only with the materials they are responsible for. In addition, everyday editing operations such as staging, committing, branch creation, and diff checking can be performed without communicating with the server.
To ensure the reliability of the change history, Lore employs a Merkle tree that calculates hash values from the state of files and directories. Each revision also includes the hash value of its parent revision, so if past data has been overwritten, inconsistencies with subsequent history can be detected.
Lore's full functionality can be controlled from the command line, and APIs and SDKs for C, C++, C#, Rust, Go, Python, and JavaScript are also available. It supports Windows, macOS, and Linux, and you can start with a local mode that runs only on your PC. The server configuration can be scaled according to the size of your team.

It should be noted that Lore did not suddenly appear as a completely new development, but has been used for some time as the built-in version control system 'Unreal Revision Control' in the Unreal Editor for Fortnite (UEFN). With this announcement, the Lore library, server, and command-line tools have been released as open source.
As of the time of writing, Lore's version is still in the 0.x series and is considered a 'pre-stable version,' meaning that the API and communication protocols may change. It includes a basic lock function that notifies other users that a file is being edited, but features to forcibly prevent other users from editing and lock management for large-scale environments are still under development. Epic Games also explains that it is not yet at the stage of immediately replacing existing version control systems, but rather a stage where developers are testing it and verifying their workflows.
Epic Games plans to develop features such as a locking system that can handle millions of files, a virtual file system, and a plugin for Visual Studio Code, as well as release the source code for its desktop and web clients. The company states that the timing and priorities of the roadmap are not guaranteed and will be updated based on user requests and suggestions from development participants.
Related Posts:
in Software, Posted by log1d_ts







