Lock the file you're editing, so no one saves over you while you hold the lock
Blueprints, levels, materials, PSDs, and FBX files can't be merged in Unreal. When two people edit the same one, someone's work gets lost. File locking stops that: lock a file before you edit it, and no one else can change it until you're done. It's one click in the desktop app, included on every plan. And because every version is saved and recoverable, nothing is ever truly gone.
Locking that actually works
Server-authoritative
Locks live on the server, not in your client. Everyone sees the same lock state in real time. No 'my tool thinks it's unlocked, yours doesn't' drift.
Human-readable reasons
Lock with a short reason ('polishing lighting on L3', 'audio pass on intro level'). Teammates see it and plan around you.
Stale-lock recovery
Forgot to release a lock before vacation? Committing the file releases it, and org owners and admins can break any lock through the API without contacting IT.
Lock awareness in the app
The desktop app shows locked files with the owner's name before you start editing, so you don't open a file you can't commit.
Enforced on commit
If a teammate holds the lock, the server rejects anyone else's commit to that file. And every version is kept, so even a mistake stays recoverable.
Role-aware
Admins and owners can force-release locks. Members can only release their own. Clean separation of authority.
Why binary files need locking
Source control was invented for text. Text can merge: diff two versions, combine changes, ask the human about real conflicts. Binary files can't do this. A blueprint edited by two people can only keep one version or the other. An FBX with animation edits in two places means someone loses their work. The only reliable solution is to prevent the parallel edit from happening in the first place. That's what locking does: one person reserves the file, edits it, commits, releases. Nobody else commits to it until they release the lock, and version history catches anything that slips through. Locking prevents the collision; version history is the safety net behind it. Every commit is saved and integrity-verified with SHA-256, so even if someone fumbles a lock or overwrites the wrong thing, the previous version is one click away. Work is protected going in and recoverable after the fact.
What typical locking-required files look like
Common unmergeable files in Unreal projects: • Blueprints and materials: .uasset (binary, can't be merged) • Unreal levels: .umap (often hundreds of megabytes) • Meshes and textures: static meshes, skeletal meshes, and imported textures stored as .uasset • DCC tools: .psd (Photoshop), .blend (Blender), .ma/.mb (Maya), .fbx • Audio: DAW session files (.ptx Pro Tools, .als Ableton, .rpp Reaper) Any of these benefit from locking during edit. Locking works on any file in the project, so which ones your team reserves is a team convention rather than something the tool decides for you.
The locking workflow in practice
In the desktop app, the flow looks like this: 1. You open the app, navigate to the file you want to edit (e.g., Content/Levels/Intro.umap). 2. Click Lock, optionally type a reason ('polishing lighting for demo'). 3. The server grants the lock. Every teammate's app updates to show it's locked by you. 4. You edit the file in the editor. 5. When done, click Commit. The app bundles your changes and releases the lock. 6. Teammates can now lock and edit. No CLI, no external tool, no syncing metadata manually. Locking is just a button.
Common questions
Is locking mandatory?
No. Locking is a workflow, not a technical requirement. Text files typically don't need locking. Binary files benefit from it. You and your team decide which files to lock.
What happens if someone holds a lock and disappears?
Anyone can release their own locks from the desktop app, and committing a file releases the lock on it automatically. If the holder is unreachable, org owners and admins can break the lock through the locks API with force enabled. A one-click force-release in the app is on the roadmap.
How does locking compare to Perforce's exclusive checkout?
Conceptually identical: reserve the file, edit, release. In USourceControl it's one click in the desktop app instead of P4V's checkout dialog.
Can I lock several files at once?
Yes. Select any number of files in the desktop app and lock them in one action, with a single shared reason. Locks are always per file rather than per folder, which is what lets two people work in the same World Partition level at the same time.
Does Git LFS locking work the same way?
Git LFS has locking support, but it depends on your Git host honoring LFS lock API calls and every client being LFS-aware. In practice it's inconsistent. USourceControl's locks are authoritative on our server and enforced for everyone.
Can I see who is editing what?
Yes. The desktop app and the web dashboard both show every active lock with the holder's name, their reason, and when they took it. For 'who last changed this' the audit log on Studio records every commit, upload, and download with the member and timestamp behind it.
Do I still need locking with One File Per Actor in Unreal Engine 5?
Yes, for a narrower but sharper reason. OFPA removes the level-file bottleneck, so people working on different actors in a World Partition level no longer block each other. It does not make individual assets mergeable: every actor file is still a binary .uasset, and Blueprints and master materials were never covered at all. What changes is the probability. Collisions go from near certain to occasional, which makes teams stop expecting them. Per-file locking closes that remaining gap without blocking the rest of the world.
Can I lock individual actors in a World Partition level?
Yes. With One File Per Actor enabled, each actor is its own file under __ExternalActors__, and our locks are per file. Locking one hero prop or scripted volume leaves every other actor in the level free for the rest of the team.
Stop losing work to overwrites
Lock what you're editing and roll back if something slips. First-class locking on every plan. From $25/user/mo.
Create your first project