Skip to main content

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.

How to use

Checking out, submitting, reverting and resolving conflicts.

What are your thoughts?