Installing Git Source Control in Unreal Engine 5
šŖ Prerequisite Knowledge
- Unreal Engine 5 Fully Installed with all it's development dependencies
š Unreal Engine 5 Installation
- Git LFS is installed.
š Git LFS
ā Key Question / Problem / Issue
- How to Install & Setup Source Control on Unreal Engine 5 Project?
ā Expected Output/Definition of Done
- Reader able to setup Git Source Control in Unreal Engine 5
š Resulting Solution
Source:
Source Control Inside Unreal Editor
GitHub - ProjectBorealis/UEGitPlugin: Unreal Engine Git Source Control Plugin (refactored)
Unreal Project Git Workflow (Tutorial) | Unreal Engine Community Wiki
Unreal Engine 5 Source Control
Version control allows users on your team to share assets and code with one another, as well as providing a backup and history of changes so any files can be rolled back to an earlier version if something went wrong with the file. Unreal assets (like .uasset or .umap) are binaries, itās been complicated to resolve when the file update is conflict with another user, we should make sure the file is locked (check-out) when been edited by user. So, nobody can edit same binary files on a same times and unlocked (check-in) when user finished edit those files. Hereās a guide for workflow how Source control is works in Unreal Engine 5.
1. Setting Up Unreal Engine 5 Git Repositories (Initial Repositories)
To setup Unreal Engine Git Repositories you need to add these following files to the project root folder
- š.gitattributes Template
- š.gitignore Template
2. Installing Git Plugin in Unreal Engine Project (Per-Project Setup)
We use Git LFS 2
3rd party plugin, UEGitPlugin from Project Borealis.
To Install it Follow these steps:
-
Download Latest Relase Version of UE Git Plugin Here
-
Extract and place the plugin folder in
Plugins
folder of your projectif you don't find these folder create it yourselves
you can also refer to these sample project for references Sign in
-
Add
Config/DefaultEditorPerProjectUserSettings.ini
to the project roots[/Script/UnrealEd.EditorLoadingSavingSettings] ; Required bSCCAutoAddNewFiles=False ; Recommended modifiable bAutomaticallyCheckoutOnAssetModification=False bPromptForCheckoutOnAssetModification=False
3. Activating Git Plugin (Per-Device Setup)
After Installing the plugin you need to follow these step to activate Git Plugin Source Control
- Open Project.
- Activate the source control plugin with click Source Control off > Connect to Source Control..
- Then select Git LFS 2 as a Provider.
- The popup contents would change, you just have to set the Input field next to
Uses Git LFS
(Its possibly filled by broken text) with your git Full Name.GateGit (GitLab) Full Name Example (Highlighted with red Underline)
If thereās additional input or button that contains initial commits, its possibly your UE plugin is not connected to source control or git status not tracked. Make sure you remote to the right repository, git is not error and git LFS is installed.
Source Control Icons Explanation
If source control is fully connected, you may seen various icon on top-right of the assets. Here is the icon shapes and its descriptions as you can see at the image below.
Checking-out (Locking) Files
The main way to share content with collaborators is via theĀ Content Browser. All source control operations are accessible via the context menu for files and folders. For instance, toĀ Check Out Ā a file (i.e. lock it for editing),Ā Right-click on the asset and then select theĀ Check Out option.
Optionally, you can set the editor to automatically check out files on save by enablingĀ Prompt for Checkout on Asset Modification. You can find these options by going toĀ Editor Preferences
Click onĀ Loading & Saving scroll toĀ Source Control.
When you edit asset, thereās pop a notification to check out these asset, if you click the Check-out link, then you will be presented with this dialog:
Select one of the three button (check the descriptions of each button below)
If you select Check Out Selected button, Icon would be added to your asset thumbnail
And would be there till you push the asset (check-in).
Deleting files
If you delete any file, you would see the Delete Assets dialog. It will tell you the asset data, like name, class and refferences of the file you delete, it you sure to delete the files, select Force Delete button.
You should submit the deleted files.
Submitting Content to Source Control
Submitting to Source Control in Unreal Engine is a vital part of the Source Control process. If you do not submit anything to Source Control, other users will not be able to see what you have been working on or created. To submit all checked out asset, you can simply go to Source Control at the bottom-right of UE editor, and Submit Content.
This will scan your project and the Engine for changes made to assets that can be submitted and then present you with theĀ Submit Files dialog. Fill the change list description (it will be a message commit) and Submit. Once you submit it, all of related assets (checked out or new file) and its checked would be committed and pushed to the repository.
Additional Source Control Commands
When using right-click on a single (or multiple) file
- Check Out Lock file(s) so other user canāt check-out, useful to prevent conflict. Itās advisable to Check Out file before editing/working on it.
- Check In Submit (Commit & Push) selected file(s), also Unlock the file from Git-LFS
- Sync Synchronize (Pull) selected file(s). If the file(s) is referenced by other files, the referencing files will be synchronized too.
- Refresh Refresh the current file status/icon
- History Show the changes made to this file. Right click on any history item to show popup menu to see changes between selected commit with previous commit or current working file
- Diff Against Depot See side by side differences between current working file and last committed one.
- Revert Discard changes and unlock file