Skip to main content
On this page

Version Control

Unity Version Control for Unreal Engine

Version control formerly called Plastic SCM, with Smart Locks, a partial-workspace client for artists, and a built-in Unreal provider.

It's ideal for Windows and Linux teams that want real branching and enforced binary locks without administering Perforce. Mac-heavy teams will miss the editor integration.

What it is

Unity Version Control, formerly Plastic SCM, stores projects in repositories on a Unity Cloud or on-premises server. A workspace can check in straight to the server, or work against a local replica and push and pull like Git.

Unreal already knows how to talk to it. Pick Plastic SCM in the editor's source control menu and artists get checkout, lock state, changelists, and shelves in the Content Browser, the same as with Perforce.

The catch is platform support. The provider bundled with UE 5.6 through 5.8 is version 1.11.0 and loads only on Windows and Linux. The GitHub release is newer, and Mac users need the desktop client or Gluon.

With Unreal Engine

Unreal Engine ships a Plastic SCM source control provider, enabled by default and not marked beta. It handles checkout, locks, branches, changelists, and shelves inside the editor. It only loads on Windows and Linux, so macOS artists work through the desktop client.

Where it fits

Strengths

  • Smart Locks block a second checkout and stay held until the change merges into the destination branch.
  • Gluon gives artists a partial workspace that checks in without updating the whole project.
  • Unity Cloud hosting has no per-seat charge; organizations pay for storage and transfer above the free allowance.

Tradeoffs

  • The editor provider does not load on macOS.
  • The copy bundled with the engine trails the GitHub release.
  • Cloud hosting needs a Unity ID and a Unity organization.

Choose it when

  • Artists need enforced locks and programmers need task branches in the same repository.
  • The team wants hosted version control without running a P4 server.
  • Editor workstations run Windows or Linux.

Look elsewhere when

  • Artists work on macOS and need lock state inside the editor.
  • The pipeline depends on UnrealGameSync or other Perforce-only tooling.
  • The studio doesn't want contributors tied to a Unity organization.

How it works

Repositories and workspaces
A repository holds the project history on the server. A workspace is a local copy. In the centralized setup the workspace checks in straight to the server. In the distributed setup you keep a local replica and push and pull changesets, and a partial replica downloads file data only when needed.17
Smart Locks
A locked file can only be changed and checked in by the lock holder. Checking it in on a task branch moves the lock to Retained. Others can check it out, but the lock stays until the file merges into the destination branch, /main by default. Checking in on the destination branch releases it.3
Lock rules
Lock rules decide which files need an exclusive checkout. On Unity Cloud they live in the Unity Dashboard under DevOps settings, with an organization rule and per-repository overrides. On-premises servers use lock.conf. For Unreal, a rule covering /Content, or *.uasset and *.umap, is the starting point.245
Gluon partial workspaces
Gluon is the client built for artists. You choose which files to load, lock what you edit, and check in without updating the rest of the workspace. A Gluon workspace works on one branch and does not branch or merge.6
The Unreal provider
The engine ships the provider as Plastic SCM, version 1.11.0 in UE 5.6 through 5.8. It covers checkout, check-in, revert, sync, branches, merges, changelists, shelves, lock release, and Blueprint diffs. Newer builds come from GitHub or Fab and replace the bundled copy.21011

In production

  1. 01

    Set lock rules before the first check-in

    Add a lock rule for /Content, or for *.uasset and *.umap, and set the destination branch the team merges into. Test with two accounts: the second checkout of the same .uasset needs to fail.245

  2. 02

    Connect the editor

    Install the desktop client and its cm command-line tool, sign in once through the desktop client or Gluon, then pick Plastic SCM in Unreal's source control settings. Commit Provider=Plastic SCM in Config/DefaultSourceControlSettings.ini so every workstation picks the same provider.28

  3. 03

    Give artists Gluon workspaces

    Artists who don't branch can load only the folders they need and check in without updating first. Programmers and anyone merging keep full workspaces.26

  4. 04

    Close the editor for updates and merges

    Updating, switching branches, and merging rewrite packages the editor may have loaded. Close Unreal Editor first, then reopen it on the new state.10

Best practices

Install the current plugin
Check the GitHub releases against the plugin version your engine ships. UE 5.6 through 5.8 bundle 1.11.0, and the latest upstream release is 1.12.2. Replace the engine copy on every workstation at once so the team runs one version.11
Keep generated folders out
Use the ignore.conf the plugin generates. It excludes Binaries, DerivedDataCache, Intermediate, Saved, IDE folders, and solution files. Review it before the first check-in.2
Watch storage, not seats
Since March 1, 2026, Unity Cloud charges no per-seat fee. Each organization gets 25 GB of storage and 100 GB of egress a month, then pays $0.14 per GB-month of storage and $0.10 per GB of egress. Build Automation draws on the same allowance.1213

Gotchas

No macOS support in the editor
The provider's plugin descriptor allows only Win64 and Linux. Mac users check out and check in through the desktop client or Gluon, and the editor shows no lock state for them.810
Locks stay held until the merge
A file checked in on a task branch keeps a Retained lock until it merges into the destination branch. An abandoned branch can keep an asset locked until an admin releases it.3
Locks don't cross replicas
Smart Locks live on one server. Teams using the distributed setup with separate replicas don't get lock protection between them.37
Some merge conflicts need the desktop client
The plugin README lists cherry-pick and range-merge conflicts as unsupported in the editor and documents a crash with Accept Target during merge conflicts. Resolve those in the desktop client.10
Cloud hosting runs through a Unity organization
Repository access, lock rules, and billing are managed in the Unity Dashboard. Every contributor needs a Unity ID in that organization, including people who never open Unity.49

Adoption checklist

  • Confirm every editor workstation runs Windows or Linux, or plan a desktop-client workflow for Mac users.
  • Add lock rules for Unreal packages and set the destination branch before importing content.
  • Commit ignore.conf and DefaultSourceControlSettings.ini with the project.
  • Decide which people use Gluon and which need full workspaces.
  • Pick one plugin version and install it on every workstation.
  • Estimate storage and egress from full binary history, not the current Content folder.

Sources

Official sources checked .

  1. 1Unity Version Control documentationdocs.unity.com
  2. 2Unreal Engine plugin guidedocs.unity.com
  3. 3Smart Locksdocs.unity.com
  4. 4Cloud organization settings and lock rulesdocs.unity.com
  5. 5On-premises exclusive checkoutdocs.unity.com
  6. 6Gluondocs.unity.com
  7. 7Partial replicasdocs.unity.com
  8. 8Desktop clientdocs.unity.com
  9. 9Unity organizationsdocs.unity.com
  10. 10UEPlasticPlugin repositorygithub.com
  11. 11UEPlasticPlugin releasesgithub.com
  12. 12Unity DevOps pricing updateunity.com
  13. 13Unity DevOps chargessupport.unity.com

Unreal Directive is free and ad-free.

If it saved you time, you can help keep it that way.

Donate