Perforce
Perforce is a version control system that's well suited for large projects.
Since Git is not so well suited for repositories over 1 gigabyte, it's better to use Perforce for Unreal Engine projects.
Perforce has a server and a client component. The server is called Helix Core and the client is called P4V.
Within Perforce we will be using the newer Stream-Depot model, which has the newer features and is more suited for Unreal Engine projects.
Vocabulary
Concepts
- Depot (remote): A repository of files.
- Stream: A branch of the depot.
- Workspace (local): A local copy of the depot (mapped to a stream).
- Client: Synonym for workspace.
- TypeMap: A file that maps file types to Perforce commands. (similar to
.gitattributes
in Git) - Ignore file: A file, commonly
.p4ignore
, that lists files that should be ignored by Perforce.
Workflow
- Check out: To lock a file for editing.
- Changelist: A set of changes to files.
- Submit: To send a changelist to the depot.
How to set up
Follow these steps or watch the video below.
- (once) Set up stream depot,
- configure TypeMap,
- create main stream,
- create workspace,
- (once) create the ignore file,
- (once) add project files and
- setup integration with UE.
How to use
Checking out, submitting, reverting and resolving conflicts.