1.3Core concepts
Organizations, projects, commits, locks, branches, editions, plugins, and releases — the vocabulary the rest of the book assumes.
Section 3 of 5 in this chapter
Seven words carry most of the meaning in this product. You do not need to memorize them — every chapter reintroduces what it needs — but reading them once here will save you looking things up later.
Organization
The container for your team and your projects. You are the owner of the one you create. Members hold a role — owner, admin, or member — and are separately granted access to individual projects, which is what makes it safe to keep an unannounced title in the same organization as everything else. Billing is per seat at this level.
Project
One Unreal project, mapped to one folder on your machine: the one holding your .uproject. A project owns its files, commits, members, keys, tasks, and releases.
Commit and the sequence number
A commit is a set of file versions pushed together with a message. Every commit gets a sequence number that is unique and increasing within the project, so #24 is unambiguously later than #23. There is no clock involved and no ordering to argue about.
This matters more than it sounds. Sequence numbers are what make "everything that shipped since the last release" a range rather than a guess, and they are why a changelog can be derived rather than written.
Committing a file adds a version. It never replaces one. Every version that has ever existed stays downloadable, which is what makes rolling back a click rather than an incident.
commit #21 #22 #23 #24
│ │ │ │
MainLevel.umap ● ● v3 ─► v4
SK_Hero.uasset ● ● v7 ─► v8
MyCharacter.cpp ● v2
nothing above is ever overwritten — v3 of MainLevel is
still there, and still one click awayLock
An exclusive claim on a file. Because binary game files cannot merge, working together means claiming a file before you open it rather than discovering the collision afterwards. A lock is visible instantly to the whole team in both the app and the dashboard. See section 2.3.
Branch
A line of work that forks from main and is expected to merge back. Branches are for the ordinary case: a feature that will land, a risky change you want to keep away from everyone else until it works.
Edition
A permanent downstream copy of the game that receives everything from the main game and never merges back — a demo, or a per-platform version. If you have ever maintained a separate Perforce stream for a console SKU, this is that, without the maintenance. See chapter 6.
Plugin
A subfolder of one project, promoted so it can be mounted into your others. A shared character rig, material library, or gameplay module lives in one place and flows out to everything that uses it.
Release
A packaged build of your game plus the version string it carries and the commit it was made from. Releases come from the desktop app or from Forge, and go to Steam, the Epic Games Store, or itch.io.