Optimal Depot Structure for Game Development

Creating an effective depot structure is crucial for streamlining workflows and ensuring the stability of your game development projects. This guide outlines the recommended depot structures and practices for managing different stages of game development using Perforce (P4V).


Mainline Stream (Main)

Purpose: Acts as the stable backbone of the project, holding the version of the game that is tested and ready for further release phases. This stream should have the folder structure of whichever engine is being used (Unity, Unreal, Godot, etc.)

Key Practices:


Development Stream (Dev)

Purpose: Serves as the primary workspace for development, where most of the project’s day-to-day activities occur. This stream should have the folder structure of the mainline stream (project folder structure).

Key Practices:


Art Stream (Art)

Purpose: Focuses on the development of art assets such as characters, environments, props, and audio. This streams structure may vary.

Key Practices:


Release Streams (Build/Release)

Purpose: Dedicated to storing builds for different release stages such as alpha, beta, etc.

Key Practices:


Virtual Streams

Purpose: Provides a personalized or filtered view of the depot and its streams without the need for separate dev streams for each team member.

Key Practices:


P4Ignore File

Purpose: Ensures that only essential files are included in the depot, avoiding unnecessary file tracking and clutter.

Key Practices: