HydraIssues

Revisit Lore as an optional version-control backend
open improvement Project: hydraperforce Reporter: codex 1 Sep 2026 18:42

Description

Context

Hydra currently uses Perforce as its production version-control system. The actual integration is concentrated in hydraperforcewatcher: it polls submitted changelists, identifies files changed under a build path, exports those files, uploads the build, and notifies downstream services.

Epic has released Lore, an MIT-licensed, binary-first version control system designed for large game and entertainment projects:

https://dev.epicgames.com/documentation/en-us/unreal-engine/lore-version-control-in-unreal-engine

Lore may fit Hydra well because it offers content-addressed storage, fragment-level deduplication, sparse workspaces, cheap branches, self-hosting, and a Go SDK.

Current assessment

Do not replace Perforce yet. Add Lore only as an experimental backend and retain Perforce as the production default.

As of September 2026, Lore is pre-1.0 and its APIs and protocols may still change. File locking is advisory rather than enforced, and Epic lists the native Unreal Editor plugin on its 2027 roadmap. These are meaningful risks for binary-heavy artist workflows.

The watcher currently depends on server connectivity, revision discovery and path filtering, listing changed files, exporting files at a revision, and enumerating streams and depots. Lore appears to provide equivalents through its CLI/API. The main unknown is efficient, structured discovery of revisions that affect a configured build path.

Proposed revisit spike

  • Deploy a persistent Lore server.
  • Create a representative Unreal repository containing large packaged builds.
  • Confirm structured history/delta access through the Go SDK or a stable machine-readable CLI surface.
  • Benchmark exporting only the configured build subtree.
  • Exercise authentication, repository isolation, backup, restore, and interrupted-sync recovery.
  • Document the Unreal artist workflow and locking limitations.

If successful, introduce a neutral repository interface above the existing Perforce client, with Perforce and Lore implementations. Replace Perforce-specific state and payload concepts with backend-neutral revision identifiers while retaining compatibility for downstream changelist consumers.

Revisit gates

  • Lore reaches a sufficiently stable API/protocol milestone, ideally 1.0.
  • Enforced scalable file locking is available, or the pilot does not depend on it.
  • A usable Unreal Editor integration is available.
  • Revision/path filtering and export are proven against realistic builds.
  • Authentication, backups, disaster recovery, and tenant isolation have been tested.
  • A real pilot project is willing to run Lore without displacing Perforce.

Expected scope

A pilot is approximately 6–10 engineer-weeks across the watcher adapter, neutral state/schema changes, dashboard compatibility, server deployment/provisioning, and operational testing. A full production replacement requires additional migration tooling and hardening.

References