Migrate Git to Unity Version Control

Are commits a source of conflict at your studio? Upgrade to a workflow that’s fully optimized for both artists and programmers, and able to handle large files out of the box – no add-ons required.

See how Sycoforge moved from Bitbucket to Unity’s version control solution mid-project – and increased commits by 300%. Download case study

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 key art

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.

Plastic SCM large files
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.

Collaboration with artists on Unity Engine
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.

DevOps
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.

Maintenance inside the Unity Editor
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.

Key features

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.

Analyze Refactors Git Users

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.

Unity with Git Version Control

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.

Get more detail
Fast Import Export with Unity

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.

Plastic SCM DevOps lifecycle

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).

Get more detail

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.

Set up Unity Version Control for your project

Want to get up and running quickly? These instructions can help you set up Unity Version Control for your project in just a few minutes.

Frequently asked questions

Can you work distributed with Unity Version Control?

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.

 

Can you create feature branches and switch between branches?

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.

Can you push and pull branches from remote repos?

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.

Do you need to clone repos?

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.

How does merging compare to Git?

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.

How can Unity Version Control handle large files?

Unity Version Control can handle huge files – what fits in RAM is not the limit. Version Control is good with huge repos too.

Are there “remotes” in Unity’s version control?

“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.

Are there submodules in Unity’s version control?

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.

Is Unity Version Control better than Git?

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.

Is Unity Version Control based on Git?

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.

We use cookies to ensure that we give you the best experience on our website. Visit our cookie policy page for more information.

Got it