Choosing the best source control software for Unreal Engine in 2024
In this article, we compare the strengths and weaknesses of Git, Anchorpoint, Plastic SCM, and Perforce to help you choose the best source control software for your next Unreal project.
Matthäus Niedoba
August 14, 2024
9
min read
Content
tl;dr
Choosing a source control (or revision control) software is like choosing a game engine. Git is the most popular in the software development world. Anchorpoint (which is based on Git) provides the best artist UX and, due to Git, the biggest ecosystem of cloud storage and tools. If you develop AAA games and have deep pockets, then go for Perforce. If you want a similar workflow like Perforce, less cost-effective and don’t worry about being locked in to the Unity cloud, go for Plastic SCM.
When developing a game in Unreal Engine, using source control software is essential for fostering collaboration among team members. Selecting the appropriate source control software is comparable to selecting your game engine. We analyzed and compared four solutions to help you in selecting the optimal solution for your Unreal Engine project, with a focus on binary files.
Anchorpoint has asset management features, like thumbnails for FBX, Blend, or video files, which is great for the whole DCC workflow that comes before Unreal Engine.
Advantages
Extends Git for Unreal Engine projects This includes better single file operations and better performance for heavy projects. It can e.g. show almost a million of changed files in the change lists.
Requires less disc space than Git normally Due to a LFS cache clean up mechanism, it can prune the LFS cache that requires twice the disc space.
Has file locking Anchorpoint uses its file locking system to prevent conflicts when working together.
Simplified UI Anchorpoint simplifies the whole workflow to a simple two-button solution. Artists just need to "push" and "pull," and the rest happens in the background.
Single file operations It's pretty straight forward to do single file operation in Anchorpoint, because it has a file browser
Asset Management features Unlike any other source control desktop application, Anchorpoint is able to show visual thumbnails of common file formats that you need in game development (PSD, FBX, GLTF, etc.) and allows you to create folder structures and to tag single files and folders. With that, you can improve the whole workflow with Blender, Maya, Cinema 4D, etc. that comes before Unreal Engine.
Disadvantages
Lacks advanced developer features of Git You cannot do pull requests or show all branches next to each other. For that, you would need to use a Git client for developers such as GitKraken.
Not free Anchorpoint is a proprietary application that has a free version, but more advanced features require a subscription.
Git (the plain version)
GitHub is a popular cloud hosting provider that is based on Git, the source control software. It is widely known as the go-to place for open source projects. Epic Games is also hosting the source code of Unreal Engine on GitHub. Git is the most popular source control system (over 93% of all software devs in 2024 use Git), with a vast ecosystem of editor extensions, desktop apps, and cloud services, including GitHub, GitLab, and Azure DevOps. This makes it an excellent option for teams of all sizes, and while it primarily uses a command-line interface, there are plenty of Git clients such as GitKraken and GitHub Desktop available.
Git is a decentralized source control software. This makes it fast and allows for offline work. With Git LFS (the extension for large file storage) Git becomes even centralized, so that it only stores the large files on your disk that you need.
When it comes to using Git with Unreal Engine, the built-in integration is still in beta and not ideal for working with. It can slow down the editor, uses the check-in/checkout language, which doesn't make sense with Git, and is limited in its feature set. Instead, it's better to use the newly refactored Git Plugin by Project Borealis, which is based on the Git Plugin from Sébastien Rombauts.
Advantages
It's fast Committing, branching, and merging (creating new versions) is way faster than in Perforce because you don't need to wait until the files are uploaded to the server. Git puts them in the local cache (the hidden. git folder) and uploads them in the background while you can continue working.
Open source There are so many tools, scripts, and add-ons for Git. It is developed by the community and also pushed by companies such as Microsoft, which is the owner of GitHub.
Biggest community Almost every software developer knows how Git works, which is great for onboarding and outsourcing development efforts. If you need help, there is a Stack Overflow response for everything. Chat GPT works here as well.
Git clients and cloud services are available at reasonable prices Remember, GitHub is also based on Git. Everything is compatible with each other, and you are not locked in. You have plenty of choice when it comes to your tool set that is based on Git, including hosting it in the cloud.
Works offline Git is decentralized and works when your internet connection is interrupted.
Continuous integration (CI) Almost every Git hosting provider has CI tools that allow you to perform daily builds of your game. Furthermore, you can add local or cloud runners that will create builds for multiple platforms.
Disadvantages
Requires more disk space That's due to the decentralized nature of Git and the benefit that you can work offline. A rule of thumb is usually your game assets folder size * 2, which can be a lot because Unreal Projects tend to have multi GB sizes.
Most Git desktop applications are made for developers Git is the most popular solution in the development world, and Git LFS (the extension that made it useful for games) was introduced almost 10 years later.
Single file operations are clunky Git (as well as developer desktop applications) does not really offer a good way to handle single file operations, like restoring a single file version. However, you need this when working with game assets. Luckily, Git plugins for Unreal can handle that.
Lack of proper file locking Git LFS has file locking, but it's not as fast and good as other solutions.
To work properly with binaries (textures, 3D models, etc.), it requires configuration effort Git LFS needs to be configured and does not work out of the box. You have to use the git lfs track "*.psd" for each file type or modify the .gitattributes file. That can be annoying for users who are new to Git.
Setup source control for Unreal in a matter of minutes
Anchorpoint adds source control to your existing Unreal project. It's the easiest solution for artists.
The industry standard for AAA game development, and also very popular in the Unreal world. Perforce has been there since the 90s. It’s centralized, which means that it is constantly connected to a cloud server, which makes it slower than Git but also more scalable. Perforce uses a check-out and check-out workflow, which is similar to Git’s commit and pull.
On Perforce, you usually host the server yourself. This can be done locally or on a Digital Ocean droplet or AWS EC2 instance. Starting in 2024, you can also use the Helix Core Cloud, a Perforce-managed hosting service for teams with fewer than 50 members.
Unreal Engine provides a pretty good Perforce integration that allows to submit change lists directly from the editor.
Advantages
Industry standard for AAA If you would like to learn a source control software and you are sure to go the AAA career path, it makes sense to get your hands on Perforce.
Best usage for single file operations Unlike Git or Plastic, Perforce does not require you to update your project when you want to submit changes of single files. You can keep submitting an asset without interruptions.
Scalable Perforce it known for it’s huge scalability of TB sized repositories. This is a typical requirement for AAA development.
Security options Perforce provides access control on a file and folder level. This is more granular than Git, where you grant the whole access to a repository including all the files.
Unreal Plugin Perforce has a great Unreal plugin that allows to submit change lists from the editor.
Disadvantages
Expensive Perforce does not expose public pricing, and users report it to be very expensive. The only way to host Perforce via a plug and play solution, which is common in Git, is via Assembla. It’s free for a team up to 5 users.
Branches (streams) are not as good as in Git or Plastic Branching and merging is not as fast in Perforce compared to Git.
Once internet connection is gone, you cannot work Because of it’s centralized design, you cannot do anything when your internet connection is gone. Even when it’s interrupted, a file submission has to be restarted, which is cumbersome.
Lock-in It’s a closed system. You cannot choose between hosting providers and desktop applications.
Plastic SCM - Now, Unity Version Control
Unity Version Control is a source control software that can deal well with binary files. Unity acquired Plastic SCM by Codice after the deprecation of Unity Collaborate. While it sounds that this is a product only for Unity, it can be also used for Unreal Engine. Unreal also has a Plastic SCM integration which works similar to the one from Perforce. Unity Version Control requires a Unity account with a valid credit card. There is a free tier to test things out and there is also an Unreal Engine integration.
Advantages
Fast and responsive client Plastic has a great desktop application with a fast and responsive UI when it comes to viewing change lists or searching for files.
Can deal well with binary files You don't need to configure anything. It deals with binary files out of the box.
Has file locking You can also lock files to prevent merge conflicts.
Branching as good as in Git Plastics branching system is better then Perforce and as good as the one in Git
Disadvantages
Requires leaving credit card data to try it out It feels uncomfortable not knowing when and what you will be charged. This can happen quickly when you exceed the free storage limit. Luckily, an indicator shows you how much storage you are using.
Cannot self-host it in the cloud other than using their enterprise plan If you need greater independence and would like to self-host your server instead of relying on the Unity cloud, you have to pick a typically expensive enterprise pricing plan
Lock-in, not open source Unlike in Git, where you can choose between cloud services and desktop applications. Since Plastic SCM belongs to Unity, the future in connection with Unreal is quite uncertain.
Cannot display thumbnails correctly The desktop application is e.g. not able to show you FBX files, so you have to rely on filename and a correct artist description.
In conclusion, choosing the best source control software depends on various factors like team size, budget, and ease of use. Git is the most popular and widely used source control software, while Anchorpoint adds missing features for game development. Perforce is a well-known choice for AAA development. Plastic SCM (Now Unity DevOps) is also a good Perforce alternative, which is less expensive but forces you to go into the Unity cloud.
Frequently Asked Questions
What is source control software?
Source control software is a type of software that manages changes to a project's source code, images, 3D models, etc. It is designed to help developers track changes and collaborate effectively on a project by keeping track of all the different versions of the project's files. Source control software also helps to ensure that changes made by different developers don't conflict with each other. It allows for rollbacks and collaboration with other developers who may be working on the same codebase.
Where can I download the Unreal Engine source code?
You can get the Unreal Engine source code on GitHub. Epic Games hosts the source code for Unreal Engine on GitHub, and you can download it from there. Keep in mind that you will need to create an account on GitHub and link it to your Epic Games account to access the source code.
What is Git LFS?
Git LFS (Large File Storage) is an extension to the Git version control system that enables the management of large files within Git repositories. LFS files are non-text files and usually include textures, 3D models, audio, and .uasset and .umap files. Technically, they are stored in another location to keep the Git repository performant. Git LFS is free and open source and is supported by a range of hosting services, including GitHub, GitLab, Azure DevOps, and Bitbucket.
What is the best Git cloud hosting provider for Unreal Projects?
Based on an article we wrote in 2022, the best option to store your game project in the cloud with Git is Azure DevOps from Microsoft. It does not charge for storage, which means that your Unreal project can grow to GB sizes without worrying about costs.
What is Unity Version Control?
Unity acquired Plastic SCM and rebranded it to Unity Version Control in 2023. It is part of Unity DevOps, which also includes cloud build services, etc. directly from Unity. Certain services, such as Unity Version Control (which is Plastic SCM), are also available for Unreal Engine users.