Git vs Perforce for Unreal and Unity projects

A comparison to help you choose the right version control system when working on an Unreal or Unity project.

Matthäus Niedoba
March 1, 2024
5
min read
Content

When you start collaborating on an Unreal, Unity or other game project, you definitely need version control, because working from a Dropbox or shared server will not work. In game development, AR/VR projects or virtual production, the two most popular systems are Perforce and Git. A version control system is the foundation of your pipeline, and this article will help you decide which one is best for you.

Disclaimer: Anchorpoint is developing a Git-based solution, but we will do our best to remain objective.

Git vs Perforce
Comparing Git vs Perforce

Scalability and binary support

Both are equally great. Perforce is known for it's great scalability and binary support, but Git had a reputation for failing at both. With features like Git LFS and sparse checkout, you can work with terabyte-sized Git repositories on a self-hosted GitLab server.

With Git LFS, Git behaves like a centralized version control system. There is no need to have all your version history files on your local machine.

File locking

Again, both are equal. Perforce comes with an exclusive checkout that locks files to prevent conflicts. Git LFS has a file locking system that can work in many cases. Anchorpoint uses its own file locking system, which is more responsive than the one provided by Git LFS.

Popularity

Perforce is the industry standard for AAA development. It has been around for years. Git has only ever been a good choice for indie developers.

In the software development world, Git is used by 93% of developers according to a survey by STACK OVERFLOW.

With the recent changes to Git, it has the technical potential to be used for AAA development as well.

Access controls

Perforce does a better job here. You can set granular access controls at the folder or file level. This is not possible with Git. You can only grant access at the repository level, which means you have to split your project into multiple repositories and use submodules.

Ecosystem and community

Git has by far the larger ecosystem due to it's open source nature. ChatGPT and Google work well and there are large communities because it is the most popular version control system for developers.

Because of its popularity, Git has a huge ecosystem of cloud services, tools, and communities

Cloud hosting

Git offers more options for plug-and-play hosting. There is GitHub, GitLab, Azure DevOps, Bitbucket, or other smaller providers. You can also self host Git servers using GitLab, Gitea, or other solutions.

On Perforce, the most common option is to self host a server. There is also a cloud option from Perforce and Assembla if you want a dedicated hosted Perforce service.

Costs

Git is open source and free by default. But in a normal production environment you will pay for cloud hosting and in many cases for a desktop application. As of today (2024), there are about 36 (free and paid) currently available for Git. Anchorpoint is one of them, optimized for binaries using LFS. An Anchorpoint license starts at $12 per user per month plus cloud storage fees.

Perforce has it's price. It's free for up to 5 users plus self-hosting fees at your choice of provider. Their Helix Core Cloud product, which is a cloud solution from Perforce, costs $39 per user per month plus cloud storage fees.

Costs for Git and Perforce
About the numbers: 

- Azure DevOps does not charge for storage but for users ($6 per user per month)
- Helix Core Cloud charges $0.00325 per GB/day on storage and $0.00292 per GB on bandwidth
- A Helix Core Cloud user license costs $39 per user per month
- An Anchorpoint Professional license costs $12 per user per month

Speed

Because Git can work offline, you can expect better performance than Perforce when it comes to creating branches or checking out files. Committing is quite fast in Git because it stores the committed file locally and can push (upload) it in the background.

In Perforce, every operation has to be synchronized with the server.

Git for artists

Anchorpoint is an asset manager and git client designed for artists. It's made for projects at scale.
Learn about Anchorpoint

Workflow

A basic Git workflow includes these steps

  1. Download the latest versions of all the files
  2. Do your work
  3. Publish your files

Anchorpoint essentially reduces the Git workflow to two buttons (download and publish). The command line or other Git applications add more steps and granular control for developers.

Perforce works at the file level rather than the project level. In Git, a version of a project (called a commit) contains multiple files. Perforce focuses on selecting only the files you want to change. However, it is recommended that you always download all new file versions when working on a project.

  1. Select the files you want to commit.
  2. Do the work
  3. Publish your files
The basic workflow is similar. The commit process in Git can be broken down into 3 sub-steps.
The basic workflow is similar. The commit process in Git can be broken down into 3 sub-steps.

Summary

Both get the job done when it comes to game development, and as a true version control solution they are much more powerful than a Dropbox. Git does better in terms of performance and feature richness due to industry adoption. Perforce is better in terms of access control.

About Git

Git is an open source version control system and the most popular among developers. Git is so popular because of GitHub, a cloud service for storing source code based on the Git system. It is a distributed version control system. You have an exact copy of the files on the server on your computer. Git was introduced by Linus Torvalds in 2005 to aid in the development of the Linux kernel.

About Perforce

Perforce is a proprietary version control system that is very popular in the AAA game development world. It is centralized, which means you are always connected to the server. Perforce was introduced in 1995, 10 years before Git. Perforce is maintained and distributed by Perforce Software, who also provide project and asset management solutions in addition to their version control system.

References

Assembla pricing: https://get.assembla.com/pricing-perforce-cloud/

Azure DevOps pricing: https://azure.microsoft.com/en-us/pricing/details/devops/azure-devops-services/

Anchorpoint pricing: https://www.anchorpoint.app/pricing

Google trends https://trends.google.de/trends/explore?date=all&q=git,perforce

Helix Core Cloud pricing: https://azuremarketplace.microsoft.com/en-us/marketplace/apps/perforce-hcc.perforce-helix-core-cloud?ocid=web-hcc&tab=PlansAndPrice