Unreal Engine 5 is a cutting-edge game engine with real-time rendering capabilities, an extensive asset marketplace (Fab), and advanced features (such as Nanite and Lumen) that enable teams to create hyper-realistic characters and photorealistic digital environments. Unreal Engine's ability to create immersive stories and experiences has made it valuable to a wide range of industries—including gaming, media and entertainment, architecture, automotive design, and more.
A crucial aspect of harnessing its full potential is understanding and utilizing version control, also commonly referred to as source control. Perforce P4 (formerly Helix Core) is commonly used with Unreal Engine, for its ability to version source code and binary assets, automate workflows, and prevent conflicts by locking files when they are being edited. Unreal Engine offers an integration to Perforce (P4), enabling teams to version files and assets seamlessly within the engine. Additionally, advanced Epic Games tools such as Unreal GameSync and Robomerge are designed to work exclusively with P4.
Read on to learn more about how to use Unreal Engine 5 with version control. Plus, learn about new UE5 source control features.
Table of Contents
- Unreal Engine 5.5
- What Is Unreal Engine 5 Used For?
- Why Version Control is Essential for Your UE5 Projects
- Why Studios Choose Perforce for Unreal Engine Version Control
- How to Use Unreal Engine 5 (UE5) and Unreal Engine Source Control
- How to Use Unreal Engine 5 and Unreal Source Control with Your Team
- Set Up Source Control in Unreal Engine 5
- Use the Unreal Editor (If You’re a Designer or Technical Artist)
Unreal Engine 5.5
With the release of Unreal Engine 5.5, developers and creators gained access to a suite of new tools and enhancements designed to elevate animation workflows, mobile development, virtual production, and other creative processes. Building on features first introduced in UE 5, this latest version delivered upgrades to key components such as the MetaHuman Animator and Lumen. In this section, we delve into the most noteworthy advancements.
MetaHuman Animator Enhancements
In Unreal Engine 5.5, the MetaHuman animator has been updated with the following enhancements designed to streamline and elevate animation workflows:
- The ability to create high quality facial animations just from audio performances.
- Optimized MetaHumans by reducing asset sizes to meet game integration requirements, ensuring minimal impact on quality.
Mobile Development Upgrades
UE5.5 also focuses on enhancing mobile development with:
- New features for the Mobile Forward Renderer aimed at increasing visual fidelity on the platform.
- Content development improvements for the Mobile Previewer.
Rendering Updates
The latest release of Unreal Engine also included the following rendering updates:
- A performance update to Lumen which allows it to run at 60hz for platforms with hardware support.
- The introduction of Megalights—a new feature that enables users to add hundreds of dynamic shadow-casting lights to scenes, without impacting the performance.
📘 Related Resource: What is Unreal Engine 5 (UE5)
Back to topWhat Is Unreal Engine 5 Used For?
In our 2024 State of Game Technology report, 63% of respondents listed Unreal Engine (UE) as their team’s preferred game engine. Unreal Engine is most used to create video games, but it has been increasingly popular in animation, virtual production, and virtual experience projects.
According to our 2024 report, 51% of media and entertainment industry professionals use Unreal Engine, compared to 16% who use Unity. For instance, UE5’s Motion Design tools enable teams to more easily create on-air compatible graphics, making Unreal Engine an indispensable asset in industries such as broadcast, live events, automotive and transportation, and film and television.
Unreal Engine is also being adopted across industries by teams who are looking to create advanced visuals for any number of purposes, such as:
- Digital Twins
- Product Demos
- Interactive VR Trainings
- Virtual reality
- Mixed reality
- Extended reality
- Architecture
- Education
Discover How Top VFX Studios Use Unreal Engine + P4
Our webinar with Mark Holland, Head of Content Management at in-demand VFX and virtual production studio DNEG, delved into how to customize your real-time workflow using Unreal Engine and P4.
While Unreal Engine 5 provides a powerful set of capabilities for visual creation, managing these complex projects requires robust version control—especially when multiple team members collaborate on constantly evolving assets and code.
Back to topWhy Version Control is Essential for Your UE5 Projects
Without a centralized version control, your UE5 project faces significant risks, including:
- Lost work
- Conflicting changes
- Collaboration bottlenecks that can derail production schedules
In today's digital workflow environments especially, effective version control isn't just helpful—it's essential. According to our 2024 State of Game Technology report, 69% of respondents across a wide range of industries rely on version control systems to store and share source files and art assets.
Back to topWhy Studios Choose Perforce for Unreal Engine Version Control
Creating Unreal Engine projects brings its own set of challenges, especially when it comes to managing large assets. Unlike traditional software development that mostly deals with text files, UE projects rely heavily on massive binary assets, which require a specialized version control system.
That’s where Perforce P4 stands out. It’s the version control solution trusted and used by Epic Games itself for Unreal Engine development. Epic recommends P4 to all third-party developers working with Unreal Engine, and several advanced tools developed by Epic are available exclusively with P4, including:
- Horde: a set of services built by Epic to support workflows for developing Fortnite, Unreal Engine, and more. These services include remote execution, build automation, studio analytics and more.
- Unreal Game Sync: a tool built by Epic and used by developers to sync their P4 workspace with a project's stream containing all of the necessary custom binary files pre-compiled and ready to use.
- Robomerge: a tool designed to automatically merge branches and is used at Epic Games for developing UE5 projects and Fortnite.
Let's dive into how you can set up this powerful combination for your Unreal Engine projects.
Back to topSetting up an Unreal Engine Studio the Epic Way
Unpack Epic Games' expert guide to setting up an Unreal Engine studio, featuring best practices for workflows like version control, branching strategies, virtual assets, shared/cloud DDC, UGS, and more.
How to Use Unreal Engine 5 (UE5) and Unreal Engine Source Control
Below, we’ll walk you through how to setup Unreal Engine and P4 to start creating projects.
1. Install Unreal Engine 5.
First, you’ll need to install Unreal Engine. The latest version, Unreal Engine 5.5, is available as of November 2024. You can consult the Unreal Documentation and Epic Games’ educational videos for more details:
Tutorial: How to Use Unreal Engine 5 with UE5 Source Control from Perforce
For a live demo on how to use Unreal Engine 5 with Perforce P4 version control, see our video Configure Helix Core for Game Engines.
2. Download P4V From Perforce
To use P4 version control, you’ll need a P4 server. You can self-host a server and use it for free with up to 5 users by downloading here, or you can quickly get your own private server in the cloud with a P4 Cloud subscription.
To connect to your server, download the latest version of P4V for your operating system.
Once you have P4V installed:
- Open P4V and enter your server’s address and your username (you will have created these during server install or when setting up your P4 Cloud server).
- You may be prompted to trust your server the first time you connect.
- Enter your password and you will be connected to your server.
For more information on getting setup in P4, you can refer to these resources:
- Getting Started with Helix Core documentation
- Perforce Helix Core’s Beginner Guide tutorial videos
- Perforce Helix Core Admin’s Guide tutorial videos
3. Create a Depot
With both Unreal Engine and Perforce P4 now installed, it's time to create a depot for your project. A depot is your project's main storage area on the Perforce server.
- From P4V, go to the Tools menu and select Administration to open P4 Admin.
- In P4 Admin, navigate to the Depots tab.
- In the File menu, select File -> New... -> Depot...
- Name your depot (e.g., "ProjectName").
Note: this name cannot contain spaces and cannot be changed - Leave the Depot type on the default value “stream” and click the OK button to create your depot.
4. Set Up a typemap
Before adding files to the server, you’ll want to set up a typemap so your P4 server knows how to handle specific types of files. For instance, if you are editing a binary file like a .uasset or .umap file, your typemap file can tell the server to exclusively lock those files so only one person can edit them at a time, avoiding conflicts.
This only needs to be done once when first setting up your server.
- In P4V, in the Depot panel on the left, right-click on any depot and select “Open Command Window Here”
- This will open a terminal window. In the terminal, enter the command `p4 typemap`
- This will open the server typemap file in your default text editor (usually Notepad).
- We have a more detailed explanation of typemaps on our Admin Quickstart Guide but most users can just copy and paste the Game Engine Universal Typemap.
- Save the file and close your text editor. If the terminal windows says “Typemap saved” then you were successful.
5. Create a Mainline Stream
Perforce Streams streamlines your branching and merging operations, automating your development and release processes. While Streams are very powerful, it is best to start with one mainline stream and gradually expand to use more streams as necessary.
- Back in P4V (not P4 Admin), create a new stream by going to File -> New -> Stream...
- Give your stream a name (a common naming convention is to use a short project code followed by _main. Eg. “ABC_main”).
- In the Depot field, select the streams depot you created for this project.
- Be sure the Stream type is set to mainline.
- Uncheck Create a workspace to use with this stream (we will do this in another step).
- Uncheck Populate the mainline stream after it is created (we will do this in another step).
- We will set up a p4ignore file later, but just to be extra safe, we will make sure that a few folders are always ignored. Switch to the advanced tab and add the lines below to the `Ignored` field and then click OK.
/Saved/...
/Intermediate/...
/DerivedDataCache/...
/FileOpenOrder/...
📺 Related Resource: Streams Adoption Guide
6. Create a Workspace
To work on files in P4, you need to create a workspace. A workspace is a folder on your local machine that is linked to files on the server. All users will work in their own workspaces on their own machine, so each person has control of when they submit changes and get changes from others.
To create a workspace, complete the following:
- In P4V, go to Connection > New Workspace
- Give your workspace a unique name (usually it is best to include your username and computer name, for example, username_myPC_uniqueName).
- Optionally, change your workspace root. This is the folder on your local machine where you will work on these files.
- Select the Stream you created in the previous step for the Stream field.
- Optionally, look at the options on the Advanced tab. Click OK to create your workspace.
Typically, we would select the root folder and click "Get Latest" to download the current updates from the server; however, we need to add some files to the project first.
📺 Related Resource: Perforce Helix Core Beginner’s Guide: How to Create a Workspace
7. Set Up Your Ignore File
Next, you’ll need to set up an ignore file. By default, P4 wants to version all of your files. For game engine projects, you need P4 to ignore some of the files. By setting up your ignore file, you’ll tell P4 which files you don’t want to be stored in version control, such as individual settings files or intermediate build files. For example, failing to ignore the DerivedDataCache folder for Unreal projects can result in poor performance and unexpected behavior.
It is very important that you do this before you populate your depot.
Before adding your project files, create a file called .p4ignore or p4ignore.txt and copy and paste the example p4ignore file into it and save the file.
8. Add Project Files
With your version control environment properly configured to exclude unnecessary files, you're now ready to begin populating your repository with your actual Unreal Engine project assets. The first time you submit a game engine project, it may take a while to upload all of the files to your server, depending on your network connection.
Once you have submitted the initial project files, future submits will only include files that have been changed or added since the last submit, which will generally be much fewer than this initial commit.
Now, you're ready to add your Unreal Engine project files:
- Either create a new UE project in your workspace directory or move your existing project into the folder.
- In P4V, right-click your workspace folder and select "Mark for Add"
- This will add all your files (except the ignored ones) to your default changelist. You can view this changelist in the Pending Changelists tab (open it in the View menu if you don’t see it).
- Select the changelist and click Submit and add a descriptive comment. For large projects, this initial submission may take time, but subsequent submissions will only include changed files.
How to Use Unreal Engine 5 and Unreal Source Control with Your Team
If you’re building a UE5 project with a team, you can add users and set permissions from P4 Admin. The simplest way to add users is to go to the Users & Groups tab in P4 Admin and right-click to add a new user. For more guidance on getting started as an admin, you can refer to our P4 Admin Guide Playlist.
📺 Related Resource: Perforce Helix Core Admin's Guide: How to Add Users and Groups in Helix Core
Once you've completed the initial server setup and added users, your team members can begin the collaboration process. They'll need to create their own workspaces to start contributing to the project. To get started, they can follow the steps outlined below:
1. Connect to the server with P4V
To connect to your server, download the latest version of P4V for your operating system.
Open P4V and enter your server’s address and your username (you will have created these during server install or when setting up your P4 Cloud server)
- You may be prompted to trust your server the first time you connect.
- Enter your password and you will be connected to your server
2. Create a Workspace
To work on files in P4, you need to create a workspace. A workspace is a folder on your local machine that is linked to files on the server. All users will work in their own workspaces on their own machine, so each person has control of when they submit changes and get changes from others.
- In P4V, go to Connection > New Workspace
- Give your workspace a unique name (usually it is best to include your username and computer name, for example, username_myPC_uniqueName)
- Optionally, change your workspace root. This is the folder on your local machine where you will work on these files.
- Select the Stream you created in the previous step for the Stream field.
- Optionally, look at the options on the Advanced tab. Click OK to create your workspace.
- Select the root folder of your workspace (in the Workspace tab on the left) and click Get Latest to download the latest versions of all the files in the Stream you selected.
Set Up Source Control in Unreal Engine 5
Now that you have P4 setup for you and your team, you’re ready to set up the Perforce integration in Unreal Engine.
📘 Related Resource: Using Perforce as Source Control (Epic Games)
First, return to Unreal Engine 5 (or launch it if it isn’t already open). Make sure you are opening an Unreal Engine project from the workspace directory and not from some other location on your hard drive.
Once you open Unreal:
- Click the source control button.
- Select change source control settings.
- Drop down the provider menu and choose Perforce.
- Enter your server address and username like you did in P4V.
- Click the dropdown for selecting your Workspace. This will be filled automatically as long as you are logged into P4V and you opened your project from within your workspace folder.
- Click accept settings.
When you successfully connect Perforce P4 to UE, the Revision Control icon changes to show you are connected.
📺 Related Resources: Workflow Best Practices & Avoiding Common Pitfalls with Perforce & Unreal Engine
Back to topUse the Unreal Editor (If You’re a Designer or Technical Artist)
The Unreal Editor has built-in integration for P4, maintained by Epic Games. Designers primarily use the Unreal Editor with P4 for version control.
Meet P4 One—A Version Control Built for Artists and Designers
Empower your creative teams to see every change and stay in control of their workflows.
Asset files (with the extensions .uasset and .umap) are binary files modified in the Unreal Editor. They cannot be opened as text or merged in a text-based merge tool.
When you want to work on an asset, you just click on it in a Unreal Engine content browser. You’ll see a “check out” choice. Our typemap ensures the file is locked automatically when you make that choice.
When you’re done editing files you have locked, check in or submit those files. This uploads the changes to the server and releases the lock on the files. Alternatively, if you decide not to keep your changes, right click on the files and choose “Revert” to set them back to how they were before you checked them out and releases the lock so others can edit them.
You can even see the history of changes to the files — and visually compare one version to another — without leaving Unreal Engine.
Get Started: Unreal Engine Version Control
Now that you have learned how to use Unreal Engine 5 (UE5) + source control, get started on Unreal Engine development with P4 today. P4 is free to use for up to 5 users.