All posts
GuideGame Dev

Version Control for Game Dev in 2026: Git LFS vs Perforce vs Unity Version Control

July 22, 2026 DevLoot

Somewhere out there right now, a dev is dragging a folder called MyGame_FINAL_v3_REALLYFINAL onto a USB stick and calling it a backup. And somewhere else, a two-person team just lost a week of work because both of them edited the same Unity scene and one save silently ate the other.

Version control fixes both problems. But game projects are weird. They are full of multi-gigabyte binary files that normal programmer tools were never designed for, and the advice you find online usually assumes you are shipping a web app, not a 40 GB Unreal project. So here is the honest 2026 rundown of what actually works for game teams, what it costs, and what to pick for your situation.

Why game projects break normal Git

Git was built for text. Code diffs beautifully. A 2 GB directional lightmap does not. Three things go wrong when you throw a game project at vanilla Git:

  • Repo bloat. Git keeps every version of every file forever. Change a 500 MB texture ten times and your repo grows by roughly 5 GB, and every fresh clone downloads all of it.
  • No file locking. Two people editing the same binary file (a scene, a prefab, a .blend) cannot merge their changes. One of them loses their work. Every time.
  • Hosting limits. GitHub caps individual files at 100 MB and starts complaining well before that. A raw game project hits that wall in week one.

None of this means Git is wrong for games. It means you need the large-file story sorted before you push your first commit.

Option 1: Git plus LFS, the default for small teams

Git LFS (Large File Storage) replaces big binaries in your repo with tiny pointer files and stores the real bytes on a separate server. Your history stays light, clones stay fast, and code lives in normal Git where it belongs.

Setup is one config file. A minimal .gitattributes for a Unity project looks like this:

*.png filter=lfs diff=lfs merge=lfs -text
*.psd filter=lfs diff=lfs merge=lfs -text
*.fbx filter=lfs diff=lfs merge=lfs -text
*.wav filter=lfs diff=lfs merge=lfs -text
*.unity filter=lfs diff=lfs merge=lfs -text

The catch is pricing. GitHub dropped its old 50 GB data packs and moved LFS to metered billing. Free and Pro accounts get 10 GB of LFS storage and 10 GB of bandwidth per month, then you pay about $0.07 per GiB for storage and $0.0875 per GiB for bandwidth. That sounds cheap until you remember bandwidth counts every clone and every pull of those assets. A 20 GB project cloned by four teammates a few times a month adds up faster than you would think.

LFS also does not solve locking on its own. It has a locking API, but support in hosts and clients is patchy, so most small teams just agree in chat about who is touching which scene. That works fine at two or three people and falls apart beyond that.

Colorized git log graph showing multiple branches and merges in a terminal

A git history graph doing its thing. Credit: Wikimedia Commons

Option 2: Perforce Helix Core, the AAA standard

Perforce likes to say that 19 of the top 20 AAA studios run Helix Core, and the claim holds up. It exists because of exactly the problems above: it handles enormous binary files without breaking a sweat, and exclusive file locking is a first-class feature, not an afterthought. Artists check out a file, everyone else sees it is locked, nobody loses work. Unreal Engine integration is deep and mature, which is a big part of why Epic's own projects and most console studios live on it.

The free tier covers up to 5 users self-hosted, which is genuinely usable for a small team if one of you is comfortable running a server. Past that, the hosted cloud option runs about $39 per user per month, which is real money for an indie. The other cost is human: Perforce thinks in depots, workspaces, and changelists, and devs raised on Git will grumble for a month.

Your project does not need the version control the pros use. It needs the one your least technical teammate will actually use every day.

Option 3: Unity Version Control, better priced than you remember

Unity Version Control is the tool formerly known as Plastic SCM, and if you wrote it off over seat pricing, the math changed on March 1, 2026. Unity dropped per-seat charges for the cloud offering entirely. You now get unlimited seats, 25 GB of storage free per month, and 100 GB of free egress, with overage billed at low per-GB rates ($0.10 per GB egress). For a small team that is effectively free.

The tool itself is built for games: it handles big binaries natively, has file locking, and ships Gluon, a stripped-down client for artists that hides branches entirely. Someone who has never heard of a merge conflict can check in work without hurting anything. The Unity editor integration is obvious, but it works fine with Unreal and Godot too. The main knocks are a smaller community than Git when something goes sideways, and the general risk of your VCS being tied to a company that changes pricing when the wind shifts. In fairness, this time it shifted in your favor.

The newer kid: Diversion

Diversion is a cloud-native VCS aimed squarely at game teams, with an Unreal plugin endorsed by Epic and a free tier that is hard to argue with: 5 users and 100 GB of storage free for indie studios under $100K revenue, then $12 per user for seats 6 through 10. It is Git-workflow familiar but built to handle binaries and locking without bolt-ons. The bet you are making is on a younger company and a smaller ecosystem, which is a real consideration for a project you plan to maintain for years.

What to actually pick

Solo dev: Git plus LFS, hosted free. Your bottleneck is habit, not tooling. Commit daily. And keep raw source files (PSDs, .blends) out of the repo your engine sees, the same way you keep your Blender exports clean before they hit Unity.

2 to 5 people, mostly programmers: still Git plus LFS, but watch your bandwidth bill and agree on scene ownership. Splitting your content into additive scenes and Addressables groups shrinks both your merge conflicts and your LFS traffic.

2 to 10 people with artists: Unity Version Control or Diversion. Real file locking plus an artist-friendly client beats free-form Git discipline every time. At current pricing both are effectively free at this size, so try both for a week and keep the one your artist prefers.

Console or Unreal-heavy team with budget: Perforce. It is the industry default for a reason, and if you plan to hire experienced AAA folks, it is the tool they already know.

Whatever you pick, pick it this week. Every asset you buy, from a marketplace like DevLoot or anywhere else, and every hour of your own work is only as safe as your last push. The sign in the hero image is a joke, but only barely: commit, push, then leave the building.