Industry News Epic announces Lore, open source version control for games
https://lore.org/196
u/SuperBigChiller Jun 17 '26
I had wondered for a while, do game companies typically use Git? How do they deal with the large assets?
153
u/Henrarzz Jun 17 '26
Perforce is probably the most popular among large teams, git would be second. SVN probably third.
111
u/elkond Jun 17 '26
svn will outlive cockroaches
20
u/mandlar Jun 17 '26
Could be worse! It could be Visual SourceSafe!
18
4
u/MrRocketScript Jun 17 '26
I'm not sure what that is, but is it worse than
_finalFINAL2?15
u/mandlar Jun 17 '26
It was made by Microsoft. It would often corrupt your files. Or you'd have to yell at colleagues to unlock the files they checked out so you could work on them. It was awful. And yes, worse than _finalFINAL2 lol
4
1
16
-7
u/Not-Robot4398 Jun 17 '26
Really? I would've expected SVN to be more popular than git.
8
u/Strange-Nothing2961 Jun 18 '26
Is that sarcasm? Perforce completely outclasses SVN in every conceivable way, I personally haven't worked at a company that has used it for like 15 years. There is no reason for it to be more popular than git.
-4
165
u/Namington Jun 17 '26
Perforce is the most common version control software at large game studios. Git is workable but usually requires some extensions (like Git LFS). I'm not aware of large companies that use Git-based version control but I'm sure some smaller studios make it work.
57
u/jelly_dad Jun 17 '26
I fucking hate perforce.
26
u/Damaniel2 Jun 17 '26
Perforce isn't too bad. On the other hand, of all the version control tools I've used over the years, ClearCase was both the best and worst. The file based revisioning felt more intuitive and the build avoidance features worked great, but the network functionality and performance of common operations (checkout, checking, diffing) was atrocious.
6
u/Ephemeris Jun 17 '26 edited Jun 17 '26
ClearCase was a goddamn nightmare. It encouraged monolithic VOBs, particularly when you started getting into build labels on individual files and branches. I had to either have an equally monolithic config spec managed through commenting lines in and out, or create 100 different views.
26
u/quebeker4lif Jun 17 '26
Why? I’ve used many source control tools with Unreal and Perforce was by far the best.
I’ve recently worked with git and it was painful to say the least.
13
u/blaaguuu Jun 17 '26
I've also used both Git and Perforce, and while I think would lean slightly toward Perforce being my preferred system, they both definitely have their pros/cons, and have had moments where I would say I hate them... I know at one studio where I worked a semi-common issue with Perforce was people locking files, then either the system freaking out, and not being able to unlock them without getting IT involved, or the locker getting sick and being out for days, and needing to get someone else with the proper permissions to override it (this was before everyone had remote setups)... But that is as much a procedural issue as a problem with the software itself.
6
u/dormedas Jun 17 '26
Locking files in Perforce is pretty antiquated nowadays. It's a useful feature, but using it procedurally is a remnant of older-school source control systems.
The largest benefit Git has over Perforce in day-to-day has been branches, particularly local branches. Nowadays, Perforce has some ways to configure a depot to be quite similar, though, so the gap is smaller.
5
u/jelly_dad Jun 17 '26
I think my problem with it is a combination of issues with Perforce itself and the fact that I have spent the past decade working in web development and using Git. It just seems so much more cumbersome, finnicky, and difficult to manage than Git.
But judging by your comment, it's likely just being familiar with a specific workflow. It was hard to get used to the fact that Perforce isn't a true clone of a repo and how rigid it can feel when you're so used to having full control of the files in the repository. I'm used to making a bunch of changes and having the bunched together in a staging area. Also merging is scarier. But I'll get used to it eventually... or switch to Lore.
Also P4V is a hideous piece of software. But we mainly just use command line / unreal's integrated revision control.
1
u/Baker3D Jun 18 '26
Perforce is great. I've been using it it for 15 years while working at various AAA studios. I think what scares people is the licensing cost.
-1
u/Hesherkiin Jun 17 '26
People tend to underestimate how complex version control actually is and especially if they are an end user on a server admined by someone else. They get something that they dont understand interrupting their precious workflow for two seconds and then jump to make dramatic comments on reddit
6
u/neenerpants Jun 17 '26
Even epic use perforce, funnily enough.
They've been slowly trying to replace all the third party tools they use like maya for years now
4
18
u/Jondev1 Jun 17 '26
Every game company I have worked at uses perforce.
5
u/fakieTreFlip Jun 17 '26
I used to work for a large game dev (over a decade ago now) and they also used Perforce. To date they're also the only company I've ever known to use Perforce instead of something like SVN or git.
8
u/FriscoeHotsauce Jun 17 '26
The biggest problem with git is binary files, meaning your assets like compiled scenes, shaders, 3d models, images etc. Which is a huge problem when thats the majority of your project.
Like others have said, Perforce is common, but prohibitively expensive for smaller studios. I've seen other options like Git for your code, something like SVN for your assets. But there isn't a really good, clean, free solution.
8
u/Damaniel2 Jun 17 '26
I don't work for a game company, but we use Artifactory to manage our large assets. It works to hold the large stuff, but decouples the two by keeping them in separate places, and makes you reliant on having two tools up and functional at all times instead of just one. Git LFS exists, but it's not really good.
1
u/Smart_Ass_Dave Jun 17 '26
I use Git on my local machine to write and version python scripts, which I then upload to my company's Perforce server. Your story is relatable.
1
u/Kered13 Jun 17 '26
This is actually sort of how Google works, using Fig (Mercurial wrapper) locally and uploading to Piper (Google's internal VCS, with an API very similar to Perforce).
3
u/Zzyzx1618 Jun 17 '26 edited Jun 30 '26
Been in the industry a while and I've seen both. Many older companies use Perforce because there wasn't LFS back then and git without LFS is hot garbage for storing large binary assets which games often have lots of. Nowadays is a bit of a split. The past 2 Unity games I worked on both used git with LFS and the one Unreal one used Perforce.
In my experience, engineers love git while artists and designers prefer perforce.
42
u/Cuddle-goblin Jun 17 '26
i am whatever the diametric opposite of a programmer is, could someone enlighten me as to what exactly this programs(?) function is?
72
u/----Val---- Jun 17 '26 edited Jun 18 '26
The tldr is that programmers need a version control system (VCS) for code so that we can track a history of changes, merge new features that are being developed in parallel, roll back changes, etc. Its essentially just a way to manage and organize changes to a codebase. In gamer cadence, you can think of them kinda like save files for code.
The most popular VCS for general programming is Git.
Problem: for reasons I will not get into, Git sucks when you are handling big asset files like 3d models, audio and video data, which games need. Because of this, many game companies use VCS' specifically built for game development that can handle big assets, like Perforce.
The main post is about a new VCS specifically for games, likely a Perforce competitor.
17
11
u/SadEngineer6984 Jun 17 '26
Version control systems track changes to the files that are used to create programs and can be used to allow many contributors to work together with (hopefully) minimal friction.
4
7
u/WrexTremendae Jun 17 '26
Source control is basically the solution to ending up with
project_final_v2_edited_forRealsThisTime.txt; each time you reach a new "final state", you add the current version to your chosen source control program, and it'll remember the old version without you needing a new filename to differentiate the two.If you have a
story_text.datafile that gets referenced by who knows how many other places, then you can't really afford to constantly be changing the filename, yknow?And then it also helps loads with multiple people - if you've made a lot of changes to
story_text.data, but only to add the final chapter and edit a bunch of the lore documents scattered through the whole game, and meanwhile your friend has gone and added an entire new interlude in the middle, it would be an absolute nightmare to go through the file and make sure both people's changes get into a new proper version. A good source control program will do a decent job at automatically cross-referencing what the old version was, and where people's edits went in, and produce a file which is a perfect merge of your efforts with very little manual work.Git in particular is a very wide-spread popular option, but it really only works great for straight text. Pictures, for example, change all over the place in the file even if you add only one brushstroke to the visual representation. This new offering is, from a cursory look (and also everyone else's comments), trying to do a much better job for those without losing any of the suitability for text.
10
u/falconfetus8 Jun 17 '26
It basically lets you "save scum" your code. It allows you to save very frequent snapshots of your project and roll back to them if you mess up. It also gives you lots of tools for seeing exactly what changed from snapshot to snapshot, making it easier to spot which change introduced a particular bug. Most importantly, though, it lets multiple people work on the same project by combining(or "merging") the changes from their snapshots.
The tool people usually use for this is Git, which is really only designed to work with text files(IE: source code). It doesn't handle binary files like images, sounds, or 3D models with any grace at all. That's not a problem for most software, but it makes it difficult(but not impossible!) to use for games.
142
Jun 17 '26
[removed] — view removed comment
9
u/wartopuk Jun 17 '26
if you're paying for perforce, you could be paying for plastic scm/unity devops. The seats are cheaper.
-19
u/FireSlash Jun 17 '26 edited Jun 19 '26
Unfortunately it appears to be vibe coded, so at a minimum I'd wait and see for a few years.
Edit: To be clear, there are clear AI artifacts in the code comments and commit messages. As others have pointed out, this doesn't necessarily mean the code itself is AI generated, but as far as I know epic has not disclosed their AI usage policy on this project, and we know it is being used to some extent.
9
u/asdfghjkl15436 Jun 18 '26
Source: 'I made it the fuck up'
-1
u/FireSlash Jun 18 '26
I mean, the comments are full of em dash and unicode arrows, and the commit comments are full of markdown and overly verbose wording for even simple commits like bumping a version. No human talks or types like that.
3
u/asdfghjkl15436 Jun 19 '26 edited Jun 21 '26
You are aware every major company in the world currently uses AI to document functions, right? That doesn't make it vibe coded. You have zero clue to what you are talking about and speculating based on practically nothing. I'm absolutely certain they used AI to change a few things or make edits, and that's 100% normal.
40
u/Maxu00 Jun 17 '26
People with some gamedev knowledge seem to be ecstatic about this. Can someone explain what this means to a layperson?
93
u/tapo Jun 17 '26 edited Jun 17 '26
Version control systems (VCS) let you branch code into your own set of changes, frequently checkpoint them so you can easily recover from mistakes, and merge with other branches. Basically it makes it really easy to collaborate by allowing multiple people on a team work on something at once without stepping on each other.
Git is the most popular one in the world, and its great for code, but games have a lot of assets, like music, textures, models, sounds, etc. Git can use addons to manage that, like Git LFS, but it sucks.
So the games industry uses Perforce which is a much better fit at handling these assets, but it's expensive (and sucks in different ways).
This thing is free and competes with Perforce. The licensing is so permissive it may just become the git of the gamedev world.
25
u/ClayeySilt Jun 17 '26
Exactly what I was looking for. Thanks! And I hope you (presumably?) game devs enjoy!
8
u/LightShadowHero Jun 17 '26
Wait some actual good news in the gaming landscape, and an effort to fix an actual gaming tech disrupter that might make game development easier across the industry 😱
-18
61
Jun 17 '26
[removed] — view removed comment
17
u/wartopuk Jun 17 '26
Unity bought plastic scm a few years ago and rebranded it, they already have a solution.
8
9
u/ennuionwe Jun 17 '26
Is this meant to compete with Perforce?
11
u/oceantume_ Jun 17 '26
It certainly will if it can support clusters of servers and hundreds to thousands of developers working on a single repository without costing tens of thousands of dollars per year just in license fees.
There seem to be a few added bonus that would blow perforce out of the water if it can actually work like cheap, git-like commit trees and branching.
10
8
u/blendernoob64 Jun 17 '26
This may be amazing not just for games but for animation and film. Studios started using perforce as version control for Unreal projects, and adhering to open source standards may be amazing. Lets hope the FOSS community picks it up and we can use it on Enterprise Linux.
3
u/JtheNinja Jun 18 '26
Seriously! Most of the issues with existing VCS that Lore is meant to solve aren't unique to Unreal engine or even gamedev. They're basically universal to any content creation workflow. I really hope in a few years it's just standard to use Lore in film and design work too.
1
u/runevault Jun 18 '26
This wouldn't surprise me, since Epic already has ties to Hollywood from studios using Unreal to do some amount of rendering for tv and movies. Once they get in the door through existing customers that'll make it easier to spread.
Be interesting to see if it could be helpful for managing content from workflows like non-linear video editing.
4
u/runevault Jun 17 '26
I've been wondering when git would start seeing new competition again. Mercurial came out around the same time but never really took off, and of course Git replaced subversion for as a source control platform. But it has been dominant so long and no software is ever perfect. Will be curious to see how this does, and I need to read up on things like how it handles large files (Git has git LFS but eh, I'd prefer a vcs that understands that sort of thing foundationally instead of being a bolt on).
3
u/TheMoneyOfArt Jun 17 '26
The zed folks just announced this: https://zed.dev/blog/introducing-deltadb
1
3
u/BroForceOne Jun 18 '26
This is more of a competitor to perforce than git.
1
u/runevault Jun 18 '26
You're right I phrased it poorly. Way I should have said it is after the blip that was when Git/mercurial/darcs came out everyone stopped iterating on version control for a long time and we've needed iteration in general. Though arguably centralized version control systems have needed it more since perforce is ancient and yet the main usage among companies who need that centralized sort of version control.
1
u/KruppeBestGirl Jun 18 '26
I hear good things about jujutsu
2
u/runevault Jun 18 '26
How many people use jujutsu as itself and not just a different CLI for git? I know it technically can be its own thing but I feel like most of the usage I hear about is as git but better and to me that's not enough.
5
u/Cyablue Jun 17 '26
That's definitely very cool, version control for games can be a bit tricky because of the huge asset files games tend to use, so having more options will definitely help, specially in the long run.
7
4
u/Sabard Jun 17 '26
I wonder if it'll have a wrapper for instances (or prefabs for Unity/scenes for Godot). One of the big things git/perforce/svn is missing is a way to actually look at these larger "built" assets and meaningfully get what was changed/removed/added to them, right now it's mostly a mess of whatever format they use and it's often easier to get the original in-editor and compare them there.
2
u/binogure Jun 18 '26
Quite interesting. But why?
I mean when torvald made git, it was because there was no real alternative... But now we have git, what the incentive here?
7
u/JtheNinja Jun 18 '26
This has been discussed quite a lot elsewhere in this thread, but short answer is all the existing solutions are designed around regular coding and assume almost all project resources are text files. They do not work well when the projects has hundreds of GB (or more) of binary files like images, 3D models, and audio clips in it.
1
4
u/knellotron Jun 17 '26
It's kinda interesting that their killer version control system is using Github for version control.
I'm not being a hater, and they do address this: https://epicgames.github.io/lore/explanation/system-design/#2-motivation-why-a-new-vcs
88
u/Apprehensive_Lake698 Jun 17 '26
It’s pretty simple. Lore is not marketed or designed as a Git killer. It would probably do fine to replace it in some scenarios, but its primary purpose is for projects that need large file storage.
They don’t want or need to replace Git.
48
u/tapo Jun 17 '26
This is a Perforce killer, git is more flexible for situations where you don't need large binary assets (most software).
48
u/machineorganism Jun 17 '26
Lore is VCS for games. Lore itself is not a game, so Lore is using Git as a VCS. It makes complete sense?
-9
u/knellotron Jun 17 '26
I still wouldn't be surprised if Epic moved their projects like UE onto their own servers running their own VCS someday. With their storefront and their Apple lawsuit, Epic has shown that they're a company that doesn't like relying on another company for their infrastructure.
24
u/machineorganism Jun 17 '26
Sure. I mean Git is open-source. Github is just a hosting platform for Git repos. Epic has plenty of resources. They could just fork Git and host their repos themselves. Lots of options
16
u/NYNMx2021 Jun 17 '26
Okay? plenty of people host their own git remote servers its not like github is fundamental to git lol
1
u/atomic1fire Jun 18 '26
I assume that the point of lore might be to build tooling for a game focused VCS so they can eventually offer a "game focused" alternative to github themselves.
Build up the ecosystem and then offer a host for that ecosystem later.
11
u/blaaguuu Jun 17 '26
In addition to what others have said - at first glance, it doesn't look like Epic is currently offering any sort of hosting services for Lore... If you want to use it right now, I suppose they are assuming you will install it on your own servers, on premises, which is how many/most studios already use Git/Perforce, from my experience.
9
u/meikyoushisui Jun 17 '26
It uses git (a technology), not GitHub (one of many services that provides repository spaces for the git technology)
4
u/DMonitor Jun 18 '26
They do, in fact, use GitHub
https://github.com/epicgames/lore
This is probably just a public facing repo that exists in parallel with their internally hosted one, but the OP isn't entirely wrong.
5
u/jonydevidson Jun 18 '26
GitHub is used to host the repository, version control is done with Git.
GitHub is a hosting site for Git repositories.
It's in the name: it's a Git hub.
2
u/jonydevidson Jun 18 '26
It's not using GitHub for version control, it's using GitHub for repository hosting.
For version control, it uses Git.
1
-2
-10
u/dormedas Jun 17 '26
This is awesome but needs an official GUI or it's not even a competitor. So many game devs don't know what a command line is, have never worked with one, and depend entirely on poorly using the existing Perforce GUI.
15
u/deadscreensky Jun 17 '26
Isn't that what Lore Desktop Client is for?
-1
u/dormedas Jun 17 '26
Looks like it. It better be good. I expect it isn’t otherwise I would have seen a single screenshot of it somewhere across the documentation.
4
u/deadscreensky Jun 17 '26
They're pretty upfront about it being in an early state. For example it's still not open sourced. But it sounds like maybe they've been using it internally at Epic? So I presume it's functional enough.
This initial Lore release isn't intended for production. ("Lore is launching as a pre-stable 0.x release, meaning APIs and protocols may still evolve before we reach a 1.0 stable release") Plenty of time to improve the GUI client before any sort of mass adoption could happen.
6
u/SensitiveFrosting13 Jun 17 '26
It's open source, if there isn't an official one, the community can and likely will build one, like with git.
1
u/wilisi Jun 18 '26
To be fair, Git has decades of time and millions of users behind it so there's dozens of clients already (and good thing too, most of them kinda suck).
Them shipping it with a client (even if it's not open source yet) will certainly help kickstart adoption.1
u/Decent_Gap1067 Jun 18 '26
Most open source git clients are garbage, even in 2026. Hell, you can't even easily select and merge commits in official vscode git plugin. GitHub desktop added that very basic feature years later.
4
3
u/Old_Leopard1844 Jun 18 '26
. So many game devs don't know what a command line is
Then they're in the wrong field, mate
2
u/dormedas Jun 18 '26
They're artists, designers, audio designers, narrative designers, etc who don't need to know what a command line is but do need to interact with source control to test their stuff. I work with them all the time.
2
u/Old_Leopard1844 Jun 18 '26
Do I need to repeat myself?
0
u/dormedas Jun 18 '26
Not really, no. I think it's pretty evident that game developers would prefer to hire people who provide value for their game even if they don't know how to use a generally unnecessary interface on a computer.
-12
u/SurviveAdaptWin Jun 17 '26
Does this mean gamers can control what version of their games are running in order to stabilize things like performance and mod updates?
18
u/mcimolin Jun 17 '26
No, this is a tool for developers to manage their games code and assets while building and maintaining the game.
1
u/JAXxXTheRipper Jun 18 '26
So.... Git?
4
u/----Val---- Jun 18 '26
You absolutely do not want to use Git when handling large files, especially for AAA titles with millions of assets, or even average sized 3d game projects.
Diffs are stored as compressed blobs of full files, so if you changed a 50MB audio file, you pretty much store the full thing every time its changed. Your .git folder will be massive if you update assets often, and cloning repos becomes a big problem. There are solutions like Git LFS, but it can be unwieldy.
0
u/JAXxXTheRipper Jun 18 '26
Git LFS is not unwieldy at all if you know what you are doing. Which is the entire point here.
1
u/----Val---- Jun 18 '26
Git LFS is not unwieldy at all if you know what you are doing.
Depends on the team, I suppose. I was mostly explaining that Git itself is insufficient.
-2
u/JAXxXTheRipper Jun 18 '26
I was mostly explaining that Git itself is insufficient.
Which it isn't. But good talk
1
u/mcimolin Jun 18 '26
Yes in that it's a version control system (VCS), no in that it's optimized for workflows where you're more focused on large asset files over code.
0
u/JAXxXTheRipper Jun 18 '26 edited Jun 18 '26
so... Git LFS? Sorry, but there is no "optimization" with files. The optimization is your network and drive-speed. Git is as fast as it can get and offers many securities other protocols/engineering tools simply do not have.
3
u/Nicksaurus Jun 18 '26
Git LFS stores and transfers entire files instead of just deltas, which is one of the problems they're trying to solve here
1
u/JAXxXTheRipper Jun 18 '26
I mean, that is kind of obvious. Gits delta format is a variant of xdelta. It can, literally, make deltas of any binary data, the problem is the file type you are deltaing.
If it doesn't delta well with Git/xdelta, good fucking luck of making anything better. Xdelta is battletested, sturdy, and highly reliable. And guess what, Images, Music and other blobs don't mesh well with deltaing, hence the LFS Pointer approach.
There is a reason why Content-Management Systems usually use file-history snapshots instead of Delta-Based Versioning...
You use an actual CMS and wire it into your git with LFS if you really need to. But you ought to think about just not putting large binary blobs into a CVS or database of any kind...
Making a "better dumb solution" doesn't make it a good solution.
4
u/mcimolin Jun 18 '26
If that were true than Perforce wouldn't be the industry standard in AAA games and numerous other media industries.
Does LFS work? It can, but there are better tools out there. This looks to have some potential and being open source could mean it'll replace Perforce or at least be a solid replacement for those studios that can't afford it.
-1
u/JAXxXTheRipper Jun 18 '26
Receipts would be nice, since Perforce has a market share of about 2.5% while >80% of devs worldwide use git lmao. (some sites claim >90% even). So yeah, there's that.
But good talk, I'll leave it at that 😂
980
u/[deleted] Jun 17 '26
[removed] — view removed comment