Epic Gamesがバージョン管理システム「Lore」を発表。ゲームなどの大量リソース管理に最適化。UEへの統合を予定

Epic Gamesは、ゲームやエンターテインメントなどの大量リソースを持つプロジェクト向けに設計されたオープンソースのバージョン管理システム「Lore」を発表しました。Loreは、テキストベースのコードだけでなく、大容量のバイナリアセット(テクスチャ、3Dモデル、音声ファイルなど)の管理に最適化されています。
Loreの概要と特徴
Loreは、データサイズの拡大に対応できる新しいバージョン管理システムです。MITライセンスのもとで完全にオープンソース化されており、Rust言語で開発されています。Windows、macOS(ARM64)、Linux(x86-64、ARM64)をサポートし、C/C++、C#、Rust、Go、Python、JavaScriptなどの言語バインディングも提供されています。
従来のバージョン管理システムでは、大規模なバイナリファイルの扱いに課題がありました。Gitはテキストファイルには適していますが、バイナリファイルにはLFS(Large File Storage)などの追加機能が必要であり、巨大なリポジトリのクローンやマージに時間がかかる傾向があります。ゲーム開発で広く使われているPerforceやSubversion(SVN)などの集中型システムはバイナリの扱いに優れていますが、バイナリファイルをフルコピーで保存することや、大きなバイナリアセットを更新するたびにファイル全体が再保存されること、ネットワーク接続がない環境では「コミット」や「ステージング」に相当する作業が制限されるなどの難しさがありました。
Loreはすべてのファイルをコンテンツアドレス型のフラグメント(断片)として保存し、大きなファイルをチャンクに分割することでこの解決を図っています。変更されたチャンクだけが再アップロードされる仕組みです。また、同じ内容のデータはファイルをまたいで自動的に重複排除されます。たとえば複数のアセットが同じテクスチャを参照していれば、ストレージ上には1つしか存在しない形で管理されます。
また、Loreはステージング、コミット、ブランチ作成、差分確認といった日常的な操作をすべてローカルで完結できる設計です。サーバーへの通信が必要なのは、リモートへのプッシュや他のユーザーの変更を取り込むときに限定される為、オフライン作業がしやすくなっています。他にも、チェックアウト外で行ったファイルの変更の検出や、整合性ハッシュにMD5ではなくBLAKE3を採用するなど、先進的な機能を多く取り入れています。
既存製品との大きな違いとして、Loreはクライアント、サーバー、言語バインディング、ストレージバックエンドのすべてをMITライセンスで公開している点があります。通信プロトコルとファイルのフォーマットについても公開仕様としてバージョン管理されており、誰でも独自のクライアントやサーバー・ツールを実装できます。
大小様々なゲームプロジェクトに最適なバージョン管理ツール
LoreはUnreal Engineユーザーにとって、将来的にはバージョン管理の標準的な選択肢となると考えられます。現在、Epic Games社内でもUEFNのバージョン管理システムとして使用されており、UEのバックエンドとしても導入が進んでるとのことです。Loreは現在プレ安定版(0.x)として公開されており、APIやプロトコルは1.0安定版に向けて変更される可能性がありますが、保存されたデータは将来のリリースでも読み取り可能に設計されています。
その他、以下の機能が予告されています。
- Unreal Engineへの統合(2027年を予定)
- VS Codeプラグイン:Visual Studio Code内で視覚的にバージョン管理操作を行えるインターフェースの提供。
- スケーラブルなファイルロック:数百万のファイルと数千の同時ユーザーを対象とした、バイナリファイル編集時の競合を防ぐロック機能の強化。
- 仮想ファイルシステム(VFS):数テラバイトのプロジェクトでも、ファイルを一度だけ保存し、開いたときに遅延ロードする機能。
Loreの詳細なドキュメント、インストール方法、および最新のロードマップについては、公式のGitHubリポジトリおよびドキュメントサイトをご確認ください。





