Getting Started with Diversion and Unreal Engine 5
You can get started in just a couple of minutes, you just need to:
- Download the Diversion client.
- Get the Diversion Unreal Engine 5 plugin from FAB.
- Follow our guide to get up and running: Unreal Engine plugin guide
Choosing the right Source Control
One of the most frequent questions that I hear in the gaming industry is: "what source control system should I use for my upcoming project?"
With Git, your team can leverage skills they already have and won’t need to learn anything new to commit, review, and release code.
However, Git LFS has major drawbacks when dealing with large binary files, teaching artists how to use LFS, and handling storage limitations on popular Git hosts.
For example, GitHub recommends repositories stay under 1 GB in size (and under 5 GB ideally) for performance. To put that in context, Unreal Engine 5’s Game Animation Sample is about 3.7 GB without modifications.
Another challenge for artists is that it’s easy to accidentally commit only the “pointer” files while forgetting to push the actual LFS objects. We’ll explore this more in the Syncing Files section.
After discussing Git’s performance, Perforce often becomes the next suggestion. While it offers decent performance, it often feels like you have to sacrifice everything else to get it. The biggest issue is that Perforce is a self-hosted solution, meaning you’ll need team members who are knowledgeable enough to maintain, secure, and back it up. On top of that, the client experience is subpar.
Instead of having two options that are not ideal for most teams, we now have a third! Diversion gives us the best of two worlds.
Why Diversion
With Diversion, you get:
- A desktop client that’s easy to use for everyone!
- A CLI integration, that allows you to automate your workflows.
- A REST API with web hooks, for your CI/CD workflows.
- A free Unreal Engine plugin.
You can branch, merge, commit, with ease, and with blasting speed!
Setup
For a full step-by-step guide on how to get you and your team up to speed with Diversion and the Unreal Engine plugin, visit our documentation page.
You and your team, need the Diversion desktop client (available for Windows, Mac, and Linux) installed and running in order for the Diversion Unreal Engine plugin to work.
.webp)
Unreal Engine Plugin
The Unreal Engine plugin, allows you to interact with your repository without leaving the Unreal Editor, in it you can:
- Add and commit assets.
- Get notifications on when an asset is modified by a team member.
- Keep your repository automatically synced to the cloud.
- Merge blueprint assets.
Syncing Files
Synchronizing files is a process where your local workspace uploads all of your changed files to the server.
With both Git LFS and Perforce, when you want to make a commit (changelist for Perforce) the client will synchronize all the files in your staged list. Once that sync is completed you will then be able to make a formal commit or changelist. Usually, this process is done in a single step, so the commit is automatic once the sync has completed successfully.
Diversion takes file syncing to the next level. Unlike Git and Perforce, Diversion is cloud-native. While adding, modifying, and deleting files, Diversion is constantly synchronizing the changes to the cloud in the background.
Why does this matter?
Well, there are a few advantages to having this constant sync. The first one is that we significantly reduce the time we wait for our commits to be pushed to the server. Imagine if you edited a few textures and art files and ended up with a 10GB commit you needed to upload. When it comes time to do your commit you will need to wait for that entire upload to finish before you can formally make a commit.
With Diversion, that upload happens in the background the moment you change a file. When you are ready to commit you could find yourself in a nice situation where all of your changes have already synchronized to the cloud, so you do not have to wait for any uploading.
The next advantage to this real-time sync is the ability to notify you of potential conflicts before either party even commits their files to the branch! Since all of our files exist in the cloud the server can constantly reconcile the differences and notifies the relevant users whenever a conflict may arise.
Adding Content
Now that we have gotten some of the technical behind-the-scenes magic out of the way let us continue with adding our files to our new repository.
Any new file added to your Unreal Engine project, will be automatically synced to the cloud by Diversion. However, you need to explicitly tell Diversion to add it to the change list so when you create a commit, the changes get added to the branch you are working on.
Without leaving Unreal, you can simply right click on any new Directory or Asset and select: Revision Control > Mark For Add. Then, when you commit the changes, Diversion will create a new commit that will be replicated across your team.

Where to now?
We are here to support you, so you can forget about version control, and focus in bringing your Unreal Engine project to life.
Reach out via Discord, email, or directly from the Diversion client: https://www.diversion.dev/support


