How to setup Multi User Editing in Unreal Engine 5.5 over the Internet
Learn more about Unreal Multi-User Editing, how to use it with version control and how to set it up over the LAN and Internet.
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.
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.
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.
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.
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.
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.
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.
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.
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.
A basic Git workflow includes these steps
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.
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.
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.
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.
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