Unreal Engine Plugin
Use Diversion without leaving the Unreal Engine editor
If you want to use Source Control but don’t want the hassle of installing and using multiple software, and you’re using Unreal Engine, then this is for you.
Installation
Prerequisites
Before installing the plugin, you’ll need to have the Diversion installed and signed in to. If you haven’t done that yet, check out the Quickstart guide.
Installing the plugin
Get the plugin
Search for Diversion
in the Fab Marketplace,
then click on the Add to My Library
button to add the plugin to your account.
Then, click on the Download
button and click on the Epic Games Launcher
link to go to your engine assets library.
Alternatively, you can simply click here to open the Epic Games Launcher.
Install the plugin
In the engine assets library, at the bottom, locate the Diversion plugin and click Install to Engine
.
Choose the correct version of the Unreal Engine you want to install the plugin to and click Install
.
Alternative: Build plugin from source
In case you would like to manually add the plugin to your UE project, instead of downloading it from the marketplace, you can get the source code from the following links:
- Unreal Engine 5.3: Diversion-v0.3.8-ue5.3.0.zip
- Unreal Engine 5.4: Diversion-v0.3.8-ue5.4.0.zip
Warning!
Choosing this options will require you to build the plugin from source and maintain the versions manually in order to keep up with the latest features and improvements.
Configuration
After installing the plugin, you’ll need to configure it for each project to use Diversion as your source control provider.
Activate the plugin
In the editor, go to Edit
> Plugins
. Search for Diversion
and click on the checkbox to activate the plugin. If you’re prompted to restart the editor, please do.
Enable revision control
With the plugin enabled, click on Revision Control -> Connect to Revision Control
on the bottom-right.
Choose provider
In the window that appears, choose Diversion
from the provider drop-down list.
Make sure you're logged in to Diversion
The next step won’t work if you’re not. Check out Quickstart if you’re not sure how to do that.
Set up Diversion Revision Control
Usage
Let’s go over a common workflow using the plugin.
For this, we’ll be using a clean Unreal project with the plugin already installed and configured.
Make a change
This project will one day be our Multiplayer Open World Survival RPG With Crafting and Building Mechanics™.
For that, we’ll need a character. Let’s create one. In your Content Browser
, right-click and choose Blueprint Class
.
In the window that appears, choose Character
and name it MyCharacter
.
You’ll notice that the new file might not be what you’re used to - it now has a yellow question mark on it. This is because Unreal Engine just created the file in-memory, and hasn’t saved it to the disk yet, so Diversion doesn’t know about it.
Let’s fix that - double-click on the file to open it, and then click on the Save
button on the top-left. Alternatively, you can press Ctrl + S
while the file is selected in the Content Browser to save the file.
The question mark will now be gone, and instead we have a green plus sign. This means that the file is now being tracked by Diversion, and it recognizes that this is a newly added file.
Commit the change
We want to save this change to our repository, to have it backed up and to be able to share it with our team.
Click again on the Revision Control
button on the bottom-right, and then click on Submit Content
.
In the window that appears, you’ll see a list of all the files that have changed since the last commit. In this case, you’ll see MyCharacter
with a green plus sign next to it. You will also see your .uproject
file, since Diversion recognizes this as a new file as well.
In the text box labeled Changelist Description
, write a brief description of the changes you’re committing. In this case, you could write Added MyCharacter
.
Warning!
Diversion does not endorse or encourage the use of vague, ambiguous, or laconic commit messages. This is for demonstration purposes only. Please write meaningful commit messages.
Click on the Submit
button, and the green plus on MyCharacter
will disappear, meaning that Diversion has committed the file.
Let’s see this in the Web UI
Open your browser and go to Your dashboard. Find your repository and click on View Repo
. It should have the same name as your project’s folder.
You’ll see the commit you just made, with the description you wrote, and the file you added. You can get a better look by clicking on the History
button and selecting your commit.
Make another change
Our character is just an empty collider right now, so let’s add a placeholder mesh so that we can see it.
In the MyCharacter
blueprint, click on the Add Component
button on the top-left, and then search for Cube
and add it. Now we can see our character.
But our character doesn’t do anything. In your character’s Event Graph
, add a Print String
node and connect it to the Event Begin Play
node. Now our character has some basic functionality.
Compile and save the file. Open your Content Browser
and you’ll see that MyCharacter
now has a red checkmark next to it. This means that Diversion recognizes that the file has changed.
Make another commit
Just like before, click on the Revision Control
button on the bottom-right, and then click on Submit Content
.
You’ll see the MyCharacter
file with a red checkmark next to it.
Double click the file to see the changes you’ve made in Unreal’s diff tool.
In this window, you can see the difference between your revision on the right, and the last committed revision on the left. You should see an entry called Event Graph
in the list on the left.
Clicking it will show you the changes you’ve made to the blueprint, and you you should see the Print String
node you added.
After reviewing your hard work, again, write a description of the changes you’re committing. In this case, you could write Adding placeholder mesh and basic functionality to MyCharacter
.
Click on the Submit
button and the red checkmark will disappear, meaning that Diversion has committed the file.