--- title: Setting up GitHub Desktop for ✨Game Development✨ id: 787 html_url: "https://acmcsuf.com/blog/787" discussion_url: "https://github.com/EthanThatOneKid/acmcsuf.com/discussions/787" author: "stephaniePocci (https://github.com/stephaniePocci)" labels: ["git", "game dev"] created: "2023-03-07T00:52:47.000Z" edited: "2023-03-07T01:17:26.000Z" --- Setting up GitHub Desktop for ✨Game Development✨ ================================================ WHAT IS GITHUB DESKTOP? BEFORE THE COMMAND-LINE GIT WARRIORS COME FOR ME, I ASK THAT YOU READ THIS POST IN ITS ENTIRETY FIRST... GitHub Desktop [https://desktop.github.com/] is a beginner-friendly user interface for source control with Git. It's used by a lot of game developers to keep track of changes to their code. Game devs also use other GUI's such as GitKraken, BitBucket, QGit and more - but we'll cover those another time. GitHub Desktop functions like any other GUI and allows you to utilize a client to manage source code, deploy their code, keep track of branches, track issues and bugs, etc. WHY GITHUB DESKTOP? I'm sure you're thinking "Steph, I already know how to use git in command line because they shoved the commands down our throats since CPSC 120". Well you're right for individual and small-scale group projects. You only use command-line for game development if you're a masochist. Using a GUI for source control is a much better choice for a variety of reasons: * In game dev, you'll be working with non-programmers who will have no idea how to utilize Git in the command line. This allows for non technical roles like artists, composers, designers, and producers to upload and push their changes and assets. * It provides an easy to understand and use interface for beginners who aren't accustomed to the command line interface yet. This reduces the learning curve and increases productivity! * There are way too many files for game development to be streamlined simply on command line. Source control GUIs like GitHub Desktop allows you to compare views of files side by side. For example, you can view two versions of the same sprite character sheet asset side by side during a merge conflict to ensure that you're keeping the artist's most updated version. (Artists get very sad when you don't use their art 😔 Basically having everything at the click of a button instead of having to memorize a bunch of commands to start doing game development is a major plus! A sneak peak of what the GitHub Desktop interface looks like! [https://user-images.githubusercontent.com/54595424/223281606-34076ffc-d634-4dec-b0ed-2f83fbd5bc65.png] Don't worry GitHub Desktop has a dark mode too! SETTING UP GITHUB DESKTOP FOR UNITY 1. SETTING UP GITHUB DESKTOP Now we get to the juicy part! Head on over to the GitHub Desktop [https://desktop.github.com/] website and download the latest version (we'll be using Windows OS for this tutorial for sake of simplicity). Image of the GitHub Desktop download page [https://camo.githubusercontent.com/d0a8000b67993f862cc590d0352b8b552ca24be5f54165b2710eac1c543afaa3/68747470733a2f2f6361726c6465736f757a612e636f6d2f77702d636f6e74656e742f75706c6f6164732f323032302f30332f696d675f356537326136346533323030332e706e67] Once you download and run the exe, you should be greeted with this page: Image of the initial download screen on GitHub Desktop [https://camo.githubusercontent.com/6597f004ae2a87daa9f06dd343e480a355948ee6659b7802a61a99af20fdf867/68747470733a2f2f766f6963656f667468656462612e66696c65732e776f726470726573732e636f6d2f323032302f30352f323032302d30352d32362d31385f30385f30342d77696e646f772e706e67] Go ahead and sign into your GitHub account. If you haven't made one and need help feel free to message in the ACM discord server or turn to your neighbor in class. Now, click on File at the top left of the GUI and select Options. We're going to be adjusting some settings to make it more ✨customized✨ for you! Reference photo for file > options [https://camo.githubusercontent.com/0f9ed813825474260e092c6f0c84640543ec951df318ee8e73f638c8e58e7d24/68747470733a2f2f63646e2e646973636f72646170702e636f6d2f6174746163686d656e74732f3639323533343030323130373534373639332f313038323435363633383230393932393233372f696d6167652e706e67] Feel free to go through each tab and change each options to your preferences! Don't forget to click save at the end! Reference photo for Integrations [https://camo.githubusercontent.com/dcbf5f65e2e81b8ba4bb566072055834cd23afd2ecc4e9ff8e62385e421b981c/68747470733a2f2f63646e2e646973636f72646170702e636f6d2f6174746163686d656e74732f3639323533343030323130373534373639332f313038323435373037363931373335343531362f696d6167652e706e67] Reference photo for Git [https://camo.githubusercontent.com/8854756e8ea733f57780c7c7eb6292b517ce1daeef83787b6b57e5c72f80a312/68747470733a2f2f63646e2e646973636f72646170702e636f6d2f6174746163686d656e74732f3639323533343030323130373534373639332f313038323435383435323233383032383836302f696d6167652e706e67] Reference photo for Appearance [https://camo.githubusercontent.com/8f1ddf2573219c6152671de69f020158bd15e1d6fdfde8acec85a9f5c9d90d5c/68747470733a2f2f63646e2e646973636f72646170702e636f6d2f6174746163686d656e74732f3639323533343030323130373534373639332f313038323435383739363833333634383731322f696d6167652e706e67] 2. CREATING A NEW REPOSITORY FOR UNITY Once you have all your settings in order, let's create our repo! Go ahead and click File in the top left corner again and select New repository. Next, you're going to be greeted with a brand new menu for your new repo's settings. Fill out the settings as you would normally (feel free to copy the example below) but make note of the Git ignore section! ⚠️ IMPORTANT! Make sure to set the Git ignore to Unity from the dropdown menu. Make sure to select Unity and NOT Unity Engine. The Unity community preset is more comprehensive, frequently updated. The Unity Engine preset is given by Unity themselves and may not include all the necessary .gitignore presets. ⚠️ Once you're finished with the presets, double check that everything is how you want it and select Create repository. Reference photo for setting up a new repository with Unity presets [https://camo.githubusercontent.com/00a959dd74a41336707744b15af74859650fe6d8fcf4211e5b234b0985366837/68747470733a2f2f63646e2e646973636f72646170702e636f6d2f6174746163686d656e74732f3639323533343030323130373534373639332f313038323436303633343639373937373835362f696d6167652e706e67] 3. ADMIRE YOUR SHINY NEW UNITY GAME REPO😩💦 New repo lfg [https://camo.githubusercontent.com/544b36d1316bcb61391d7dbe9a6c5e4eb746c77927288a9e5b07bdd0fef8ea63/68747470733a2f2f63646e2e646973636f72646170702e636f6d2f6174746163686d656e74732f3639323533343030323130373534373639332f313038323436333137363337343838323337352f696d6167652e706e67] Once everything's looking good go ahead and select Publish repository. You're going to be greeted with another settings menu once more. Feel free to use the dropdown menu and select an organization this repository is affiliated with, but that's completely optional! You can also uncheck Keep this code private if you're a based open source girly 💅 Reference photo for finalizing repo and publishing [https://camo.githubusercontent.com/61b9f07587744b201ecbd608fa3490fea184937475e93099c31f0d1654cfc669/68747470733a2f2f63646e2e646973636f72646170702e636f6d2f6174746163686d656e74732f3639323533343030323130373534373639332f313038323436333639393836353937323736362f696d6167652e706e67] CONGRATULATIONS! You can now use the repository you have just created for source control for your own Unity game! If you have questions, feel free to contact Steph (Commodore Jellyfish#5175) on the ACM Discord 💜 WHAT'S NEXT FOR ACMFORGE? Stay tuned for upcoming ACMForge updates! We'll be learning how to set up a repository for Unreal, how to create a new Unity project, and how to create a new Unreal project. If you have any suggestions or more tutorials you'd like to see, feel free to let us know! - Steph 💜