Why Git users switch to Unity Version Control
Open source, free, and flexible, Git is a popular version control solution (VCS), but it can be daunting for the less technically savvy. When artists run into issues, they need programmers to fix them: It doesn’t integrate with their tools, and buckles under the weight of large binary files common in gamedev.

Return to Nangrim by Sycoforge
How Git users benefit from Unity Version Control
Unity Version Control is built for game development. Here’s what you stand to gain when you upgrade from Git.

Speed with large repos and binary files
Unity Version Control won’t break, even with repos in excess of 5 TB, and it handles updates and check-ins faster than other solutions.

Better collaboration with artists
Artists can use Unity Version Control independently via Gluon, an easy-to-use workflow with file locking. Coders maintain their standard workflow with full branching and merging.

Work centralized or distributed
Choosing a VCS often means deciding whether to work centralized or distributed. Unity Version Control has both: Get the speed and power of Git-style workflows with Perforce-like scalability.

Simplify maintenance with greater flexibility
Unity Version Control supports multiple workflows and large files out of the box, so you don’t need to maintain redundant systems or add-ons. Keep your toolchain lean and highly performant.
Unity’s DevOps solutions give programmers a wide range of functionality while keeping things streamlined for artists. See something missing from the list? Check out our DevOps roadmap.

Save time and minimize task-switching
Unity’s code-aware merge tech, SemanticMerge, tracks moved code to help you focus only on the relevant changes. By analyzing syntax, it automates 16–30% of code merges normally requiring a manual merge, drastically reducing merge conflicts that will distract from your workflow.
Unity Version Control will analyze a refactor and assess whether parts of the code, such as a method, have been moved, even across multiple files. This allows you to focus your review on only the most substantial changes. It supports C#, Java, VB.NET, and more.

Use Unity Version Control as a Git client
Unity Version Control’s GitSync provides bidirectional synchronization between Version Control and Git. Unity Version Control communicates with Git network protocols to push and pull packages and merges to a remote Git server (and the reverse). This allows you to use the Version Control GUI as a Git client: Because Unity Version Control is structured somewhat similarly to Git, you can exchange all changesets, branches, and merges between them.

Fast import and export
Unity Version Control implements fast-import and fast-export commands, all of which are totally compatible with their Git counterparts. These commands are used to import your project from Git to Unity Version Control, and as a way to safely move away from Version Control if you ever need to. For regular daily operations, GitSync is an easier choice.

Utilize the Git ecosystem
Any tool in Git’s ecosystem can connect to Unity Version Control instantly using their native Git functionalities. Teams using Version Control can then benefit from all the DevOps, CI, and project management integrations developed specifically for Git.
GitServer is GitSync’s server-side counterpart. It closes the Git interoperability loop by allowing Unity Version Control to serve repositories using Git protocols (Git and HTTP supported).
Games making it happen
Goodbye Volcano High
How does a worker-owned cooperative studio get both artists and engineers aligned on a production process? Read how KO_OP powered collaboration with Plastic SCM (now Unity Version Control).
Return to Nangrim
Read how Sycoforge leveraged Unity tools to manage the growing scope of their project and integrate player feedback for rapid, iterative game development.
Subnautica
Find out why Unknown Worlds chose Unity and Plastic SCM (now Unity Version Control) to help bring Subnautica to life.
Frequently asked questions
Unity Version Control is a DVCS too. So you'll use the same workflow: You commit first (checkin), then push your changes to the remote repo. With Version Control, you can work centralized if you wish. SVN-style, directly doing checkin without an intermediate clone? It’s possible.
While coders will love DVCS, other roles like artists and designers will probably go for central.
Yes. Everything in Unity Version Control can be done visually from the GUI. You’ll use the Branch Explorer for all things related to branching and merging.
Yes, and you can make partial replicas, meaning you can simply pull a branch without bringing all the parents and merge sources and be able to add changes and push back.
You don’t need to “clone” the full repo to start working on a replicated repo in Unity Version Control. You can simply run what we call a partial replica, which is much faster, then work on the repo, make new changes, and pull back.
This is the equivalent of a shallow clone with a restricted depth but capable of pushing back.
Merging in Unity Version Control is even better. The merge engine in Version Control can deal with moves and renames that make Git break. Unity Version Control includes its own diff and merge tools, too.
Unity Version Control can handle huge files – what fits in RAM is not the limit. Version Control is good with huge repos too.
“Remotes” don’t exist in Unity Version Control. You just push and pull the branches you want to the repos you want – there’s no need to define remotes first.
Unity Version Control submodules are called Xlinks, and they’re a greatly enhanced and simplified version of submodules. Creating them is simple, with full GUI support, and the tedious process of updating a submodule doesn’t exist with Xlinks – they are capable of managing references manually. Branches under Xlinked directories are created automatically, making feature branches very simple in multi-repo scenarios.
Git-based version control offers a wide array of features and community support, while Unity Version Control offers flexibility for different workflows and handles large files out of the box. What works best for one organization may not work as well for another. For helpful tips in evaluating what’s best for you, read more in this blog.
Unity Version Control is not Git, though it allows for distributed version control (DVCS) like a Git-based system. Unity Version Control starts with all the strengths of Git, and then it adds support for large files, consistent GUIs, ACL-based permissions, handles huge repos, strong merging, partial replica, semantic diffing, and more.