The Git based game studio

A collection of tools around Git to build your development pipeline without any lock in effects.

Matthäus Niedoba
July 4, 2024
8
min read
Content

This is a collection of tools and services (free and paid) that are compatible with a Git-based pipeline for game development. So if you are a DevOps person or manager, this article is for you.

Why build a Git-based pipeline?

Git is the most popular version control system, used by 93% of software developers worldwide. It is open source and therefore has the largest ecosystem of tools and services. There is also a subset of solutions built specifically for game developers. So what are the reasons that speak for Git?

  • Git comes with no lock-in effect. It's an open source solution. If a company changes its pricing policy or anything else, you can switch to another service without incurring high switching costs.
  • Git has the biggest ecosystem of tools and services. It also has the biggest community, when you need to ask for help.
  • Developers also prefer Git for its workflow over other version control solutions. So you should get an immediate yes from them anyway.
  • Last but not least, Git is scalable and works fine with large binary files, even to TB-sized projects.
Components of a Git compatible studio pipeline

Components of a studio pipeline

In this section, we will focus only on development infrastructure, leaving out game engines like Unreal, Unity, or Godot, as well as creative tools like Blender or Photoshop. We will also exclude services such as Azure PlayFab or AWS GameLift where you host your actual game.

Key components include storage, desktop applications, asset managers, CI/CD tools, and project management solutions.

Storage → The Git repository

Your source of truth for all your assets and game engine content.

Gitea

Gitea is an alternative to GitHub that can either be self-hosted or run in the cloud. Gitea's source code is open source and maintained by an active community. Gitea provides repositories (the place where you want to put your code and assets), a wiki, a kanban board for tracking your tasks, and a full automation system for CI/CD (Continuous Integration/Continuous Delivery).

Gitea interface
Gitea is able to manage repositories, issues and the whole CI/CD pipeline

Main advantages

  • Clean and easy to use
  • Lightweight and very easy to self-host
  • The cloud version of Gitea offers good support and security options because it runs in its own virtual private cloud.

Alternatives

GitHub: Obviously the most popular solution out there. Most people are familiar with GitHub. It's a good choice for light projects that don't require a lot of storage. It does have hard limits on file sizes.

GitLab: A good choice if you go with the self-hosted version. GitLab is the most feature-rich DevSecOps solution out there, and it scales a lot. It's a little hard to set up, but it's the best choice if you have a large team.

Azure DevOps: You may have heard this many times on the internet. Azure DevOps is a service from Microsoft with no pricing and no storage limitations. The downside is a slightly clunky UX and connection speed that is lower than on the other services.

Desktop clients

The tools that upload and download your files to and from cloud storage, and take care of file locking and other features so you don't overwrite each other's work.

Anchorpoint

We have to be honest and say that we develop and sell Anchorpoint, but we try to stay objective.

Anchorpoint is a Git-enhanced version control application built explicitly for game developers. Git was not inherently strong in game development. Anchorpoint adds the missing pieces. There is a free version for solo developers and a paid version for larger teams.

Anchorpoint interface
Anchorpoint understands Unity and Unreal Engine files and can handle large binary files

Main advantages

  • Supports large binaries
  • Has file locking
  • Supports industry relevant file types like .uasset, PSD, Blend or FBX

Alternatives

SourceTree: This is a free desktop client that can preview branches in a nice way. It is mainly aimed at developers, but artists can also use it.

GitHub Desktop: The desktop application of GitHub. It's also compatible with any other Git repository.

GitKraken:  It's a more advanced desktop client that can handle all kinds of Git commands in a visual way. It is free for public repositories if you are developing open source projects.

Asset managers

An asset manager helps you organize your content library and share content with external stakeholders, such as contractors or your marketing department. In most cases, it's a web-based solution.

Artstash

A fairly new solution is Artstash, launched in early 2024, that can sync art assets from Git repositories and display them in a nice and visual way. It can browse all your assets and with a filter and search system you will find what you are looking for.

Since it is a new solution, the developers are very open to feedback and suggestions from the community.

Artstash user interface
Artstash can display art assets in the web and share them with external stakeholders (e.g. marketing department)

Main advantages

  • Easy to use, even for people outside the development team
  • Displays 3D models and other industry-relevant file types
  • Can also synchronize files from Google Drive or Perforce

Alternatives

GitHub, GitLab or Gitea: All of these can do the job of simply sharing files via a web browser interface. However, their interfaces can be confusing for non-developers.

Google Drive: You could also store and share your files on a Google Drive and use Anchorpoint to tag them. However, the tags and a metadata search option will only be available to your development and art team who have Anchorpoint installed, and will not be visible to external stakeholders such as your marketing department who don't typically use Anchorpoint.

CI/CD tools

Continuous Integration/Continuous Deployment are DevOps processes that come from software development and help you deliver content to your players faster and more frequently. This includes DLCs or patches to keep your player retention high. Without a proper toolset, your developers would have to perform so many manual steps like uploading builds to marketplaces, communicating with QA and the community, and constantly adjusting things like changelog or configurations, which would slow them down immensely.

Gitea Actions

Every major Git hosting provider has it's own CI/CD system that comes with a tool for orchestration and a way to manage runners. Runners can be computers that do things like create a Unity or Unreal build, so you don't have to use your local computer.

Gitea actions are nicely integrated with the Gitea git server.

Alternatives

GitHub Actions: A similar service from GitHub that also allows you to build your CI/CD pipeline.

GitLab CI/CD: One of the first solutions out there, which also made GitLab quite popular.

Azure DevOps CI/CD: Like Gitea, GitLab and GitHub, Azure DevOps has it's own CI/CD system.

TeamCity: A more advanced solution from JetBrains that can work with any Git hosting provider.

Project management

This may not be part of Git, but it's definitely important for your studio to keep track of tasks and what your team is doing. There are hundreds of solutions out there, mostly generic project managers for everyone. Some of them are optimized for software development, which makes sense for game development as well.

Codecks

One of the very few solutions that was actually built for game development. Setting up tasks in Codecks is playful, and it comes with integrations to Discord to keep your community involved in your development process, and Git hosting providers so that commit messages are attached to the right task.

codeks interface
Codecks is a project management system for game development. It provides a playful way to manage your tasks.

Main advantages

  • Unique design for game developers
  • Has features like time tracking, milestones, etc.
  • Has integrations with Discord and Git

Alternatives

Jira: One of the most popular issue tracking software for software development. It is a comprehensive, feature-rich solution for enterprise software development, but can be slow and overwhelming for smaller teams. It also has Git integration.

Trello: A very popular and simple Kanban task tracking solution. Can be fine for small teams, but because it is a more general solution for everyone, you will miss certain features that are tailor-made for game development, like Codecks has.

Linear: A new Jira alternative with a fast UI and modern UX. We at Anchorpoint use it for software development as well. You can think of Linear as a modern version of Jira, also made for software developers.

Git based version control for game developers

Anchorpoint is able to handle large binary files, file locking and manages art assets.
Learn about Anchorpoint

Frequently asked questions

What are the typical limitations of Git? Why is it not the solution in AAA game development?

Git, when used without the LFS extension, has always had problems with binary files. Repositories quickly became bloated and slow. That's why people say Git can't handle binary files. Using Git LFS requires some configuration. Anchorpoint, for example, does this automatically. With Git LFS, these limitations don't exist anymore. Also in 2020, Git added features like sparse checkout to manage large repositories. You can scale to TB-sized projects.

Is Git artist friendly?

Git is by nature a command-line application, which is not really artist-friendly. But there are plenty of desktop applications that provide a visual interface and allow game artists to use Git with a few clicks.

What is the difference between GitHub and Git?

Git is the version control system, GitHub is a cloud platform based on Git. GitHub is compatible with any desktop application, CI/CD system, and other tools that are part of the Git ecosystem.