Game assets are exploding in volume and version control systems need improvement
Copy Link
Version control management (VCM) is integral to any software development project. VCM is the tool that allows for tracking and managing changes to code, while also allowing large numbers of developers to work on the same project simultaneously. While the original predecessors of modern version control began to emerge in the 80’s (PlasticSCM), today, there are dozens of solutions for VCM, with the two most popular for game developers being Git and Perforce (Diversion):
Collaboration: Allowing multiple users to work on the same project at the same time and deciding which versions to keep, especially when there is a conflict (disagreement between developers or artists on which version should be used) is another pillar of VCM.
In summary: Compared to traditional text-based files, large non-text-based files are cumbersome to store and difficult to compare.
While many users have turned to existing solutions like Git for large files, Git’s original focus on text-based files is apparent in their piecemeal solutions for large files. So much so, that some users avoid uploading their assets to Git at all and supplement their workflows with Google Drive, Dropbox, and Email, despite having this approach forgo a single source of truth, while also adding another software to manage.
Perforce and other larger enterprise focused VCM solutions have stepped up attempting to alleviate some of the pain points:
These solutions address the symptoms, but not the core problem. On-premise servers are a band aid solution for massive files that cannot be stored efficiently on the cloud, while plugins are another point of friction in the user experience instead of the more centralized and streamlined approach we see with Github.
Artists are still frustrated, pointing to issues like the need to learn complex processes and lack of collaboration tools, not to mention the immense cost and complex implementation at the outset. As seen below, artists are still spending large amounts of time trying to manage their assets (Unity).
Solving this problem is more important now than ever given the influx in large files as AR, VR, and virtual worlds become more complex. The next generation of version control could come in many forms offering multiple features:
Innovations in other parts of the industry will also likely impact how game developers use version control. Most notable is the Alliance for OpenUSD (AOUSD) which is attempting to enhance the interoperability of 3D tools and data, across software applications using their open-sourced software called Universal Scene Description (USD). As more assets are created across more programs in more file types, collaboration across software will become increasingly important. Although USD is not necessarily a VCM, it does enable more real-time collaboration between artists.
Another potential source of disruption is the vertical software providers themselves (Maya, Blender, Unreal Engine, etc). Given they own their own rendering pipeline, it would be more likely that Unreal Engine could create an internal tool that highlights differences in their large files.
We believe that existing solutions today, namely Perforce, do a good job of managing large files for artists and development teams (despite introducing cost and complexity). Still, there are unique areas of technological innovation that have the ability to disrupt the space, leaving the door open for innovative startups.
Takeaway: Version control systems have been pivotal in managing code, but as the digital landscape pivots towards more complexity, traditional version control platforms show their limitations. While solutions like Perforce have made strides in adapting to these needs, there remains room for improvement and innovation. As we look to the future, integrating features such as improved storage and cloud-native functionality could significantly enhance efficiency and collaboration.
The race is on for innovators and established players alike to craft a service that not only meets the current demands of large file asset management but also sets the stage for future advancements, potentially transforming how we store, manage, and analyze digital assets in a rapidly evolving digital world.