Perforce SCM
To best support non-technical members of the Xist.GG team, I require the binary locking/sharing capabilities of Perforce.
How To: Set up a UE5 Perforce Server
Before you create any depots on your P4 server, set up the typemap and .p4ignore.
Once you have these, create any depots you need. For example you could create depots like:
How To: Set up a Lyra Project Source Depot
- Create
//LyraDepot - Create
//Lyra/MainStream (import from Epic#NoChanges) - Create
//Lyra/XistStream (applyLYRAGAME_APIupdates,virtualoverrides, etc)
How To: Create a new //Lyra/Xist-based Game Project
- Create a new
//Lyra/XistGameStream based on//Lyra/Xist- Repeat as needed with each new stream/project name
How To: Merge Epic Updates into a Lyra P4 Depot
See this detailed PowerShell procedure for the exact commands necessary to merge new updates from Epic into an existing Lyra Project P4 depot.
How To: Set up a Custom UE5 Engine Source Depot
- Create Depot
//UE5 - Create Mainline Stream
//UE5/Release- Import Epic Custom Engine Source from either GitHub or UDN P4
- Create Task Stream
//UE5/Xistwith parent//UE5/Release- Apply Xist hacks/edits to this custom 5.1 engine
For more details see: How to: Create a Custom UE5 Engine Source Depot & Streams
Setting up a Perforce Server as a Docker container
- XistGG Perforce Docker Setup
- Inspired by: Setting Up Perforce with Docker for Unreal Engine 4 (conceptually identical to UE5)
Tips for P4 Administration and Use
- P4 Admin: How to Delete a (deleted) Stream
Recommended Reading
- How to use Perforce Streams 101
- Perforce Tutorial
- Basic Initial Setup Tasks
- P4 Typemap: How to Set Up Perforce Typemap
- IMPORTANT: get the typemap correct before you add your project to Perforce