← folkorama

The Absolute State of Unreal Engine Version Control

folkorama · 2026-09-02

Unreal Engine is a marvel of real-time rendering, virtualized geometry, and compiled C++ wizardry. It is also paired with the most violently hostile version control workload known to modern computing: hundreds of gigabytes of opaque, unmergeable, binary .uasset files that mutate every time a level designer sneezes near a viewport.

For twenty years, game development has treated version control like an inescapable hostage situation. You either duct-tape Git until it explodes, or you pay tribute to Perforce like a medieval toll booth operator. Let's look at why both options are technically bankrupt for modern Unreal projects—and what actually replaces them.

Exhibit A: The Git + Git LFS Delusion

Inevitably, someone on the team who spent five years writing React apps suggests: "Why don't we just use Git? It's free and everyone knows it!"

Git was written in 2005 to diff 50-line patches of C code on the Linux kernel mailing list. It assumes files are UTF-8 text, changes are human-readable line insertions, and full repository history should fit in your laptop's RAM. Point Git at a 4 GB .umap containing Lumen lighting caches and Nanite meshes, and its packfile delta compression immediately surrenders.

"Ah," the web developer replies, "that's what Git LFS is for!"

Git LFS is not a binary version control system; it is a magic trick that swaps your real files for 130-byte text pointer files holding SHA-256 hashes. It pushes the actual binary payload to a secondary HTTP server over an out-of-band sidecar protocol. Here is what that means in practice:

Exhibit B: Perforce Helix Core (The 1990s Tollbooth)

When Git collapses, studios retreat to Perforce Helix Core. Perforce solves the binary conflict problem with a sledgehammer: exclusive checkout locking. If you want to edit a file, you ask the central server to mark it read-write via p4 edit so nobody else can touch it.

It works, the same way a horse and buggy works: reliably, slowly, and with a lingering smell of the late 1990s.

What Epic Games Built When They Got Sick of Both

Epic Games develops Unreal Engine and ships Fortnite. They know the agony of moving 100 GB Unreal projects across distributed teams better than anyone on earth. So they did what any rational engine developer would do: they wrote an open-source VCS specifically for games.

It is called lore (originally Unreal Revision Control / URC). It throws out both the text-centric assumptions of Git and the client-server shackles of Perforce.

Here is the actual engineering difference under the hood:

The Honest Caveat: Where Lore is Today

We build managed lore infrastructure, so we have every incentive to hype it up. But we believe in stating technical limits plainly:

Enforced file locks are still an upstream TODO. lore currently supports advisory locking (you can query who is working on a file), but the server push path does not hard-reject a push on a locked file yet. If your studio's survival hinges on hard server-enforced locks over binary art, Perforce still has that one edge (see our capabilities reference for exact details).

Hosted Lore: Version Control Without the Server Ops

The lore client is free and open source. The problem is running the server: sparse ext4 storage volumes, loop mounts, QUIC port routing, automated TLS certificates, and NVMe disk quotas.

That is what folkorama does. We give your studio a dedicated, private lore server on its own subdomain with hard disk caps, isolated storage, and zero per-seat licensing fees. You point the standard lore CLI at your workspace and get back to building games.

Ready to move your project? Check our step-by-step guides for Migrating from Git LFS and Migrating from Perforce, or compare the licensing math in Shopping for a Perforce alternative.

Create a free workspace Pricing Read the docs