I developed a Perforce CLI tool to simplify stream-based version control workflows for artists and technical teams working on Unreal Engine projects in a virtual production studio environment.
Perforce is a powerful version control system widely used in game and virtual production studios. Although P4V provides a visual interface, artists can still find it difficult to use, especially when a studio introduces a stream-based workflow.
In a virtual production pipeline, a project is often managed through multiple streams, such as mainline, mocap, previz, and LED. This allows different departments to work on the same Unreal Engine project safely without directly competing for control over the same files.
The mainline stream is usually managed by the VAD team, where assets are ingested and prepared for layout, lighting, and downstream departments. Other teams, such as mocap, previz, and LED, can branch from mainline, complete their work in their own streams, and merge changes back when ready. This keeps production sessions more stable and gives leads or supervisors better control over version conflicts.
Compared with a traditional single-depot workflow, a stream-based workflow is safer, more flexible, and better suited for complex virtual production projects.
However, introducing streams also increases the learning curve for artists. To reduce this friction, I built a command-line tool that helps users quickly set up and manage Perforce streams and workspaces for Unreal Engine projects.
Key Features
- Create stream structures for new Unreal Engine projects
- Delete project streams, workspaces, and related depot files
- Create or switch to project-specific workspaces
- List all Unreal Engine projects found in Perforce depots
- Configure Perforce server and user settings
- Detect and manage Unreal Engine projects across different engine versions
- Manage Unreal Engine plugin settings, including enabling or disabling plugins when needed
- Provide simple command-line help and examples for artists and technical users
This tool allows artists to initialize a project, choose the correct stream, and automatically create or switch to the matching Perforce workspace without manually handling complex P4V setup steps.
Below is a demo video of the tool.