Accelerate Video Game Development

How version control can save your life?

Leszek Król

Many of Unity developers work alone. They often start from youtube tutorials from which it’s worth to begin. In small one-person projects, you will think that you don’t need extra program to manage your game files. Sooner or later you will start work with bigger team and then you will need help of external programs to collaborate with other people. Sure you can hold your project in cloud like a Dropbox or on company's server hard drive but in my opinion this is not optimal way to handle teamwork with Unity. In this case the best option is to start use Version Control System. In this article we talk about is it worth to use version control system?

What is Version Control?

A version control system (VCS) watching the changes you’ve made to assets in your project. The name of your local copy of project is “working copy”. These changes are stored in a remote database named a “repository”. Every time you change something in your working copy, you need to commit those changes to the remote. The VCS compares what’s already changes in particular commit and only stores the differences. This solution allows the repository be small as possible. For me version control is one of the most important tool in my arsenal. Million times it saved my life. With VCS you can easily roll back changes if you accidentally break or delete something. You can also compare older and newer version of your code to see what’s different. And finally this is an invaluable support for teammates when one of them overwrites other person work by mistake.

Tools

A version control systems divide on three types:

  • local - allows save data only on local computer (e.g., SCCS, RCS)
  • centralized - client - server architecture (e.g., CVS, SVN)
  • distributed - P2P architecture (e.g., Git, Mercurial, Bazaar)

Distributed VS Centralized

Centralized VCS (like SVN) are based on idea of a single “central” copy of your project (probably on a server). Programmers will commit their changes to this central copy. Centralized VCS causes that programmers no longer have to keep copies of files on their hard drives manually. This kind of VCS allows retrieve any need version on the fly.

This post is for paying subscribers only

Sign up now and upgrade your account to read the post and get access to the full library of posts for paying subscribers only.

Sign up now Already have an account? Sign in
Your link has expired
Success! Check your email for magic link to sign-in.
Please enter at least 3 characters 0 Results for your search

May we suggest an author?

Leszek Król