Learning Git for Modding

This page provides a brief introduction to Git in the context of modding Satisfactory and how it can be used to increase your efficiency on modding projects.

What Is Git

Git is open-source software created to manage files by keeping track of what changes between distinct 'revisions' of the files. You can learn more about it on Git’s website.

Why Use a Git Repo

Advantages:

  • Easily return to a past version of the code to test functionality

  • Keep track of changes to write patch notes for a release

  • Easily share your source code with others

  • Backs up your files in case they get corrupted or you lose access to your computer

  • Makes it harder to misplace your files if returning to modding after an extended break

  • Version control usage is an important skill that can benefit any coder

Disadvantages:

  • One more tool to learn

Git vs GitHub

It is important to understand the distinction between "Git" and platforms like "GitHub" and "GitLab".

Git is the software that enables managing files and is what you interact with when working on your local files. Git is traditionally accessed via the command line, but there are many different tools that offer a more approachable and convenient interface to the same functionality.

GitHub are GitLab are web platforms that allow you to store a Git "repository" online, called a "remote", making it easy to collaborate with others, and providing a backup.

Git tools are used on your local computer to manage files. The files are then "pushed" (uploaded) to a Git remote hosted by a platform like GitHub.

Git Tutorial on Gitkraken

Check out the first 4 tutorials at this link, namely:

This guide will walk through what you have to do for Satisfactory mods in specific, building off of this knowledge. We suggest you do not try to start putting your mod into a repo as part of watching these tutorials, but feel free to experiment with other folders on your computer.

You are, of course, free to check out other tutorials, but they cover topics less relevant to Satisfactory modding.

Installing Git

The core Git software is a command line tool. You are welcome to use Git from the command line, but it is recommended to use a GUI tool, as they are generally more approachable.

Install the Git CLI First

The Unreal Editor’s Git integration relies on having the Git Command Line Interface (CLI) installed to function properly. Download its installer here. The default settings offered by the installer should be fine for most users. When prompted to chose a default text editor for commits, consider selecting an option other than the default Vim. This choice will affect you if you decide to commit from the command line. Nano, Notepad, and Notepad++ are convenient alternatives.

Install a Git GUI Client

Consider the following software:

  • Github Desktop, free and great for beginners

  • Sourcetree, free but a bit more complicated than GitHub Desktop

  • GitKraken, free for non-commercial use as long as your code is public to the internet

  • Fork, free evaluation copy

  • Additional Git GUI clients can be found on Git’s website

Tutorials on the docs will use GitHub Desktop, but all are valid choices. There are additional directions below for GitHub Desktop setup. If you’re using another client, feel free to skip to the Next Steps heading after completing its setup.

GitHub Desktop Setup

You probably already created an account on GitHub in order to obtain a copy of the custom engine version. If not, create one now.

Get the GitHub Desktop installer Once the file has downloaded, run it and sign in with your GitHub account.

Once sign in is complete, you will be presented with a "Let’s get started!" screen. If you’d like, you can create a tutorial repository, but for now, you should leave this program alone and continue with the steps below.

Next Steps

If you came here while learning how to clone the starter project, return to that portion of the docs by clicking here ➡

If you came here looking to create a repository for your mod, continue to the tutorial for that by clicking here ➡