6. What you'll spend (and where you'll save)

Version control systems rank among the more affordable DevOps tools; the true costs lie in implementation. With this in mind, try to evaluate a system for its benefits, and how it can help you save in other ways.

It's also worth choosing something that's easily accessible to your whole team, no matter their technical background. As previously mentioned, everyone should be given the chance to contribute autonomously. When your teammates' needs are not met, hidden costs can start to surface.

If your version control system is challenging to grasp, for example, you'll have to spend more time teaching others how to use it, as well as creating denser internal documentation on version control best practices. And when teammates can't work independently, internal frustrations can begin to rise. Whatever you choose, it shouldn't stand in the way of your team's overarching success.

7. Security requirements

Version control isn't just about managing your game's source code. The system you choose will also store other assets like business and procedural documentation, design files, tool configurations, and so on.

To keep these files safe, your VCS should provide multiple levels of protection and permissions. This will help secure your code and IP assets from outside intrusions - and safeguard them from the possibility of internal leaks, too.

8. Level of flexibility

Would you consider your team big or small? Do you work out of a single office, or are you distributed? Depending on these factors, you'll need different levels of flexibility from your version control system. More than this, you'll have to decide whether you'll operate using centralized, distributed, or multisite workflows. Let's take a look at the advantages of each.

Centralized workflows

A centralized workflow uses a check-in/push workflow to connect to your main server. Whenever changes are made, they are automatically stored in your repository as a new version. This way, you get powerful branching and merging without cloning your repository to multiple machines. It's a simple and secure solution.

Distributed workflows

With a distributed workflow, you can check in, branch, and merge on your own time, without connecting to your main server. The advantage here is that remote teammates can work apart, at speed, without having to worry about slow networks or VPNs.

Multisite workflows

Multisite is like a blend between centralized and distributed workflows. At each location, teammates work in a sort of mini centralized workflow, where they share their branches and progress - easily merging, and pushing and pulling among the team, until they finally push to the main server, on their own time.

Multisite workflows are optimal for teams working on a shared codebase across different cities or continents. In this situation, you should establish a host server at each work site and then copy changes between those servers. If you don't, the teams working at sites without servers will experience slower responses than others.

Attachments

  • Original document
  • Permalink

Disclaimer

Unity Software Inc. published this content on 23 September 2021 and is solely responsible for the information contained therein. Distributed by Public, unedited and unaltered, on 23 September 2021 14:01:09 UTC.