Version control using Git and Azure DevOps for Unreal Engine and Unity

In this article we will set up a Git server on Azure DevOps, that will be the source of truth for your next Unreal or Unity project

Matthäus Niedoba
September 7, 2023
6
min read
Content

Introduction

If you want to collaborate on a game project, resolving version control (or source control) is one of the first things you need to consider. If you are familiar with Git, you may have heard of GitHub. This allows you to store your game project on a server, so that everybody has access to it. GitHub is great for software development, but for games, there are better solutions out there.

Microsoft Azure DevOps is a Git server and a viable alternative to GitHub, GitLab, and Bitbucket. It provides unlimited storage for Git LFS, which is a blessing for game development with Unity and Unreal. The free plan allows up to 5 users, which is great to get started. Everything above 5 users comes at a reasonable price of $6 per user per month. This is keeping in mind that it does not bill you for storage, which you will need for textures, movies, audio and 3D files.

Azure DevOps is part of the huge Microsoft Azure ecosystem, which is a direct competitor to AWS from Amazon. It seems a bit overwhelming to get started and this tutorial will help you with that.

Prerequisites

In this tutorial, we will use

  • Azure DevOps (a free account is fully fine).
  • Anchorpoint, as our Git desktop application. The free trial allows us to do everything.
  • An Unreal Engine project as an example. You can also use a Unity project.

Setting up Azure DevOps

Go to dev.azure.com and create an account.

Now you have to walk through the typical account creation process. When you are done with that, you will be able to create a new project in DevOps. The process is a bit nasty, but you only need to do it once.

Go to dev.azure.com and click on "Start free"
Go to dev.azure.com and click on "Start free"
Start the account creation process
Start the account creation process

Azure DevOps UI
This is where you should end. If you are here, you are almost done in DevOps

Git for artists

Built-in LFS support, no complicated configuration and an artist friendly user interface.
Learn about Anchorpoint

Setting up Anchorpoint

In the next step, you'll need a Git client. This is a desktop application that will push and pull files from your computer to the server. In this tutorial, we will use Anchorpoint, because it is suited for artists and has all the configuration for Unreal or Unity projects ready to go. If you don’t want to use Anchorpoint, there are alternatives like GitHub Desktop or SourceTree.

projects in anchorpoint
Connect Azure DevOps to Anchorpoint
integrations in anchorpoint
Click on "Connect". If you don't see this integration, just restart the application.
azure devops
You will get a consent screen which you have to accept
Azure devops integration settings
Follow the instructions of this popup by choosing your Azure DevOps organization, then entering your Azure DevOps username and password in Anchorpoint and by enabling "Third-party application access via OAuth" on DevOps as well. When you completed these steps, you can close the popup and the integration is connected.

Creating a project

Now it's time to turn your Unreal project into a Git repository that you can upload to DevOps. Create a project in Anchorpoint and select your project folder on your hard drive. Once you create a new project in Anchorpoint, it will be also created on Azure DevOps due to the integration.

create a project in Anchorpoint
Click on the "New Project" button
Git repositories in Anchorpoint
Browse to the folder with your Unreal files and make sure that the "Template for .gitignore" and the "Remote Settings" are set up correctly. Then click on "Continue"
Invite members
In the last step, you need to invite members, you want to collaborate with. Keep this empty if you don't want to work with them. Each member needs to have an Azure DevOps account as well.

Upload your game project to Azure DevOps

Anchorpoint detects that you have changes that haven't been committed yet. There are files on your computer that are not on the server. You need to enter a message and commit them.

When you entered the message and pressed “commit”, you created a version, which is basically a checkpoint for your project. After that, you can press “Push” to upload them to Azure DevOps.

Unreal Project in Anchorpoint
Your Unreal project in Anchorpoint. Click on the "Timeline" to go to the version history
Push changes to a Git repo from Anchorpoint
Your history is empty. Click on "Changed Files" and add a meaningful message. Then press the "Push" button and everything will be uploaded to DevOps.

Work in Unreal

Your workflow will be always like this:

  • You work in Unreal
  • You push
  • You work in Unreal
  • You push
  • etc.

During every push, Anchorpoint will check for file changes, which have been made by your teammates and download them, before uploading your changes.

unreal
Edit your level in Unreal
Push changes in Anchorpoint
You will see that Anchorpoint detected the file change. Add a message and press "Push" to create a new version of your project.

What your team members should do

Your team member needs to have an active Azure DevOps account and an Anchorpoint account. When you invited your team member to an Anchorpoint project, which you did in the step above, they will get a notification. They simply need to click on the invite and join the project. Anchorpoint will ask them, where to store the Git repository. They have to pick an empty folder on their hard drive and then Anchorpoint will download the game project from DevOps.

Clone a git repo in Anchorpoint
Once your team member is invited to the Anchorpoint project, they will be able to download all the project files from Azure DevOps. When they do it for the first time, they also have to connect Anchorpoint and DevOps by entering the DevOps credentials

Collaborate

This is all you need to do to set up a game project with Azure DevOps and Anchorpoint. From now on, you can make changes in Unreal or Unity and commit, push and pull. That’s everything you need to know about Git.