Version Control for Binary Files: Your Best Options
A lot of teams are starting to look for version control for binary files. As more teams adopt game engine technology, they produce more art assets, builds, and other files that they need to store and track.
A lot of version control tools simply don’t do a good job with versioning or storing large binary files, like game engine files. Managing these files efficiently becomes a serious issue the more a team and their projects grow.
You need the right version control for large binary files. So which tool is the best?
What is a Binary File?
A binary file refers to any file that is not text, such as an image, video, 3D model, game asset, and many other types. The data is stored in binary (as ‘1’s and ‘0’s) and the file can only be opened by programs that understand the right way to read the information.
If you try to open a binary file in a text editor, it will look appear as random characters and symbols.
Art assets from Adobe and other art programs are typically stored as binary files (also simply called “binaries” or “binary assets”) because they do not translate well to text.
Challenges of Binary File Management
Binary files are known to be a hassle to version, if not impossible depending on what version control tool you use. Most of the popular version control systems do not handle them well or even at all (except Helix Core — more on that later).
Some of the main challenges in managing and versioning binaries include:
- You can’t merge them, making collaboration on an asset difficult.
- Few version control systems are powerful enough to store them.
- They take up a lot of space, especially for teams working on big projects like a video game.
- So many programs use them, and they’re becoming more common across roles and industries.
Some version control systems make it easier to manage binary assets than others. Let’s dive into which popular version control systems people use to manage binary files, and which ones are the best for this purpose.
Popular Version Control Systems
First off, what are the most popular version control systems? You may have heard of:
Compare Top Version Control Tools
See a comparison of the top version control tools and decide which is best for your team.
Which Version Control Systems Scale to Manage Large Binary Files?
The short answer: Perforce Helix Core and Subversion are the top version control systems that can scale to manage large binary files.
The long answer:
- Git is not great for binaries – Storing large binary files in Git is not possible. Every time a large file is changed and committed, Git repositories grow exponentially. Some teams use Git LFS to manage large files. However, using Git LFS complicates the repository because the binary files are stored in a different system from the text files. The Git repository only stores links to those files.
- Plastic is not great for binaries – It can store binaries. However, performance quickly degrades once a project grows beyond a few Gigs. Games and VFX projects can quickly grow past this size, causing slowdowns and other performance issues.
- Subversion is ok, but not ideal, for binaries – It can technically version binaries. Your performance will be impacted if you are managing huge binaries because SVN is slow and has a complex branching system. It does not scale well as teams and projects grow.
- Perforce Helix Core is ideal for managing large binaries – Helix Core stores and version all your digital assets, including large binary files. It is designed to quickly process petabytes of data, so binary files are easily managed with it.
Version Control for Binary Files: It’s Either Helix Core or Subversion
Perforce Helix Core and Apache Subversion (SVN) are the only two viable options for teams who need to version large binary files. So, which is better for this task, and why?
The short answer: Helix Core is better.
The long answer: Helix Core is better than SVN for binary file management. SVN can handle multiple smaller binary files fine. It handles single large files fine, but performance slows or fails when dealing with multiple large binary files. For teams working with many large art assets, like game development and virtual production teams, Subversion simply won’t cut it.
Read more on the differences between Helix Core vs. SVN.
Best Version Control System for Binary Files: Helix Core
Perforce Helix Core is the best version control system for managing large binary assets. Why?
Helix Core is simply the only version control tool on the market that is powerful enough to handle many, massive files, including binary files.
Single Source of Truth
Most version control systems that do handle binary assets have to store them separately. Helix Core stores binaries alongside source code in the same depot. You can easily find and update the file you need, allowing you to streamline your build process. It serves as a single source of truth for your whole team, ensuring time and efforts are not wasted.
This is an essential function for teams working with binary files since they are not mergeable. Helix Core not only offers file locking, but it also has an exclusive checkouts feature. This ensures your team doesn’t waste time unknowingly making changes to the same file, only to not be able to combine everyone’s changes.
Helix Core offers completely configurable security, down to individual users and files. For those in the film industry, Perforce is part of the Trusted Partner Network (TPN) to ensure we meet all industry security standards.
Keep Using Git
Helix Core is ideal if you need a more scalable version control tool, but you have teams that need to keep working on Git projects. Helix4Git is a free add-on that allows your developers to use their preferred Git tools.
Version All File Types
Helix Core manages more than just source code. It manages all types of files. This means every member of your team is supported with Helix Core.
Easy Cloud Deployment
Even if your systems are currently on-premises, many teams across industries are looking into cloud version control for its cost effectiveness, ease of maintenance, and for better collaboration between remote & global team members. Helix Core can be deployed in your cloud of choice and is ready to launch with a pre-configured environment in AWS and Azure. It is also free for up to 5 users on DigitalOcean.
Try Free Version Control for Large Binary Files
Helix Core is free for small teams up to 5 users.
For game development teams or other teams working with large binary art assets, the Perforce Indie Studio Pack offers all the tools you need to get started, free. Get industry-leading version control, code review, and project management for game development teams. This pack is ready to deploy on Azure, AWS, or on-prem.