Skip to main content
Hard locks give a user exclusive write access to a specific path in a repository. While soft locks are non-blocking indicators that show when someone is editing a file, hard locks prevent other users from committing changes to the locked path until the lock is released. Hard locks are especially useful for binary files (such as .uasset, .umap, or .fbx) that cannot be merged and require exclusive editing.
Hard locks are available on Studio and Enterprise plans.

How Hard Locks Work

  • A lock is per-repository and per-path — each lock applies to a specific path in a specific repo.
  • A lock is tied to the user who created it.
  • Once a path is locked, only the locking user can commit changes to that path.
  • If another user edits a locked file locally, a warning is displayed but the edit is saved. However, committing those changes will be blocked.
  • Only the locking user or a repository admin/owner can release the lock.

Locking and Releasing Paths

Using the Desktop or Web App

To lock a path, right-click the file or folder in the tree view and select Lock from the context menu. Lock option in the context menu Once locked, a lock icon appears next to the path in the tree view, indicating who holds the lock. Lock status indicator in the tree view To release a lock, right-click the locked path and select Unlock from the context menu.
Only the user who created the lock or a repository admin/owner can release it. If the locking user is unavailable, contact a repo admin.

Using the CLI

Lock a path:
Release a lock:
List all locked paths in the repository:

Auto-Lock

Repository admins can configure file patterns (by extension) so that matching files are automatically locked when a user begins editing them. This removes the need for manual locking on common binary or unmergeable file types.

How Auto-Lock Works

  • When a user’s saved changes to a matching file sync to their workspace, Diversion automatically locks the file for that user. In Unreal Engine, saving a matching asset locks it for you a few seconds later. No dialog opens; the lock icon on the asset in the Content Browser shows the lock is yours — see Hard Locks in Unreal Engine.
  • If the file is already locked by another user, auto-lock does not apply — the existing lock is preserved.
Auto-lock is particularly useful for binary files like .uasset, .umap, or .fbx that cannot be merged and always require exclusive editing.

Configuring Auto-Lock Patterns

Auto-lock is a per-repository setting configured by a repo admin or owner.
  1. Click your profile avatar, select Your organizations, then select Repositories in the sidebar and Hard locks in the repository column
  2. Use the repository picker at the top of the repository column to select the repository
  3. Add file extension patterns (e.g., .uasset, .umap, .fbx)
  4. Save changes
Auto-lock configuration in repository settings

Auto-Release

Locks can be automatically released when the locking user commits changes on specific branches. This is configured alongside the auto-lock settings.

How Auto-Release Works

  • A repository admin defines which branches trigger auto-release (e.g., main, develop).
  • When a user commits or merges to one of these branches, their locked files included in the commit are automatically released.
Auto-release branch configuration in repository settings

Viewing Locked Paths

  • Desktop or Web App: Lock icons appear in the tree view next to locked paths. Hover over the icon to see who holds the lock.
  • CLI: Run dv lock with no arguments to list all locks in the repository.
  • Unreal Engine: Lock icons appear on assets in the Content Browser; the tooltip names the holder.
Lock icon on an asset in the Content Browser with a tooltip naming the lock holder

Hard Locks in Unreal Engine

The Unreal Engine plugin works with hard locks directly from the editor. Everything below requires a plan with hard locks; on other plans the lock actions and prompts do not appear.

Locking from the Content Browser

Right-click one or more assets, open the Revision Control submenu, and use the Diversion Locks section:
  • Lock — lock the selected assets so only you can commit changes to them. Others can still save locally.
  • Unlock — release your own locks.
  • Force Unlock — release another user’s lock. Shown only when a selected asset is locked by someone else, asks for confirmation, and requires repository admin permissions (the server rejects the request otherwise).
Diversion Locks section in the Content Browser's Revision Control submenu

Opening a locked asset

Opening an asset that another user has locked shows a dialog naming the holder. You can open it read-only, open it normally, or close it. Opening is never blocked — the lock is enforced when you commit. File Locked dialog shown when opening an asset locked by another user

The save dialog

When you save, the plugin checks every file in the save and asks about the ones that need a decision — one dialog per save, with the files grouped by situation: Save dialog grouping files by lock situation, with a choice per group
  • Files that need no decision — already locked by you, or covered by an auto-lock pattern — are listed for completeness and simply save.
  • A file matching an auto-lock pattern saves without asking and is locked for you moments later; choosing “no lock” for such a file would be meaningless, so the dialog never offers it.
  • Skip leaves the file unsaved in the editor. Cancel skips the entire save.
  • Saving a file locked by someone else is allowed — the save only syncs to your own workspace — but committing it stays blocked until the lock is released.
  • Automated saves never prompt: autosaves, scripted saves (Python/Blueprint), commandlets, and saves during merges or Play In Editor go through without questions. The commit check still protects locked files.

Settings

Prompt to Lock Assets on Save (Project Settings → Plugins → Diversion, on by default) controls only the “Not locked” question above. Turning it off skips that question — files matching auto-lock patterns are still locked on save, and files locked by others or edited elsewhere still prompt. On plans without hard locks the setting is greyed out.

Permissions