Setting Up Free Source Control in Unreal Engine 4 using TortoiseSVN, VisualSVN Server, and Amazon EC2

Download Links

PDF: Tutorial_SourceControl.pdf

DOCX: Tutorial_SourceControl.docx

Both documents have clickable links to sections within the tutorial.

Overview

The following software was used to set up source control between team members.

Amazon EC2 allows for users to create instances of an operating system of their choice, able to be accessed through a public IP4 address. This instance was used to host a repository on a Windows 2016 Server Base, to be written to/read from by all team members working in Unreal Engine.

If you are setting up source control for your team, it is recommended that you read this document from beginning to end.

If you are just here for instruction on how to install TortoiseSVN and connect to the repository that has already been set up, then you can jump to the section “Installing TortoiseSVN”.

Setting Up a Free Amazon EC2 Instance

Only one team member needs to perform these steps.

  1. Navigate to https://aws.amazon.com, and create a free account or login to an existing Amazon account.Tut_01
  2. Click on the Services tab in the upper left, and navigate to EC2, underneath the Compute category.Tut_02
  3. You should land at a page that resembles this. Click Launch Instance.Tut_03
  4. Press the Select button to the right of Microsoft Windows Server 2016 Base. You may need to scroll down a little.Tut_04
  5. By default, the t2 micro type should be selected. This is the only tier here eligible for free use. Press Review and Launch in the bottom right.Tut_05
  6. Press Launch in the bottom right.Tut_06
  7. A menu will pop up in the middle of the screen. From the drop down bar, select Create a new key pair, and name it in the second bar. Press Download Key Pair and save this in a secure location. For this demo, it is saved on my PC’s desktop.Tut_07Tut_07_2Tut_07_03
  8. Next, click on Security Groups under Network & Security. Press Create Security Group.Tut_08
  9. Using the following inbound and outbound rules should allow for all users to pull from the repository. After copying these, press Create.Tut_09Tut_09_02
  10. From the Instances page, press Actions – > Networking -> Change Security Groups.Tut_10
  11. Click on the Security Group you just created, and press Assign Security Group.Tut_11
  12. Press Connect.Tut_12
  13.  A Remote Desktop File will be used to run the VisualSVN Server and host the project’s repositories. Press Download Remote Desktop File to a location of your choice. Then, press Get Password.Tut_13
  14. . Press Choose File and navigate to the Key Pair that was downloaded earlier in step 8. Click it once and press Open. Then, press Decrypt Password.
    Tut_14
  15. Copy this password to your clipboard, write it down, or screenshot it. You will need it to launch the Remote Desktop File. After copying it, open the Remote Desktop File. Paste in the password and hit OK. If desired, save your credentials for ease of access.Tut_15Tut_15_2

Setting Up Visual SVN Server On Your Instance

Only one team member needs to perform these steps.

  1. After opening your Remote Desktop File, you should arrive at a similar screen. Open Microsoft Edge from the taskbar.VisualSVN_01
  2. By default, Internet Security is set to High, so either add every site you visit to your exception list or follow these instructions from Microsoft.VisualSVN_02
  3. Navigate to https://www.visualsvn.com/server/download/ and download the appropriate version for your operating system.VisualSVN_03
  4. Install VisualSVN Server with the following settings and as Standard Edition.VisualSVN_04_01VisualSVN_04_02
  5. The default settings for Location, Repositories, Server Port, and Backups are all fine. Note that the port is 443.VisualSVN_05
  6. Launch VisualSVN Server and Right-Click the Repositories Press Create New Repository.VisualSVN_06
  7. Check Regular FSFS repository and press Next. Check Empty repository and press NextVisualSVN_07_01VisualSVN_07_02
  8. Check All Subversion users have Read / Write access before pressing Create. Only users that are created from this instance are considered Subversion users.   VisualSVN_08
  9. Once finished, Right-Click the Users text and press Create User. A password is not needed and can be set again at any time, but only from this instance. It is recommended to set up as many users as needed during this step. Now this repository is ready to be used from any computer that has TortoiseSVN installed, which is covered next.VisualSVN_09_01VisualSVN_09_02

Installing TortoiseSVN

Every computer that will be accessing the repository needs to follow these steps.

  1. Navigate to https://tortoisesvn.net/downloads.html. Download the installer and run it.TortoiseSVN_01
  2. The default settings will suffice.TortoiseSVN_02
  3. Now TortoiseSVN is installed. It operates as an extension of Windows and is accessed by right clicking files or folders in Windows Explorer. Navigate to where you would like to store your project and create a folder there. Right-Click it and press SVN Checkout. You will need to enter the IP4 address of the Amazon EC2 Instance followed by your port, “:443”, followed by “/svn”, followed by “/YourRepositoryName”, like below.TortoiseSVN_03TortoiseSVN_03_02
  4. After entering your created username and password and pressing OK, you should land at the confirmation screen below. If an Unreal project is being pulled, the process may take a few minutes or more. If this is the initial setup of the entire project, then the repository folder will be empty, and you will be at revision 0. The next section addresses setting up a project in this repository.TortoiseSVN_04

Setting Up an Unreal Project with TortoiseSVN

Only one team member needs to perform these steps.

  1. Open your desired version of Unreal Engine and create a New Project with your choice of template. The destination folder should be a newly created folder inside of the folder previously Checked Out in Step 3 from the section directly above this one. Name the project, and press Create Project. If you already have a project that you’d like to use, you can copy and paste the project folder into the repository instead, and continue to Step 2.UE4_01_01UE4_01_02
  2. Once the project loads, close it and navigate to your project folder. Right Click it and press SVN Commit. Fill out a message in the blank white box and click on All next to Press OK to push the project’s initial commitment.UE4_02_01UE4_02_02
  3. Every time the commit is successful, this will be shown.UE4_03
  4. Navigate back inside of your project folder to the Unreal Engine Project file you named. Notice that now, green check marks are next to each file, meaning they are up to date with the current revision. Open your project.UE4_04
  5. Once opened, press Source Control -> Connect to Source ControlUE4_05
  6. From the Provider drop down bar, select Subversion. Next to repository, fill in the same address used when checking out the project in step 3 from the section directly above this one. Enter in your username and password (if applicable) again.
    UE4_06
  7. Upon success, you will be connected to the repository and will be able to directly commit from Unreal Engine using Submit to Source Control, instead of having to right click the repository folder and committing.UE4_07

 

To update your project to the most recent revision, it is recommended you save your work, close Unreal Engine, and update your repository folder by Right Clicking on it and pressing SVN Update.UE4_08

There is plenty of documentation online to aid users in using SVN with Unreal Engine 4, but I hope this document helped with the setup of a free server for small team use!