How Unity keeps games on track for remote-working developers
Developers from Alta, KO_OP and Sycoforge explain how Unity's version control system Plastic SCM has made remote development smoother than ever
Like the rest of the world, the games industry has had to adapt to working remotely. While this also brings opportunities, such as the ability to collaborate with individuals from across the globe, it presents new challenges that can impact a project from shipping on-time, on-budget, and with few bugs.
Why is Source Code Management Important
Version control systems (VCS) are key for source code management, but a VCS with features that help increase productivity and collaboration is all the more crucial for global teams. Triaging solutions with clunky add-on services or 'status quo' tools not designed for large projects can waste time, and pull valuable resources away from making the game itself. For developers Alta (creator of VR open world RPG A Township Tale), KO_OP (the team behind narrative adventure Goodbye Volcano High) and Sycoforge (makers of dark fantasy adventure Return To Nangrim), Unity's Plastic SCM has been the perfect solution.
Plastic SCM is a VCS purposely designed for game development that's easy to use whether you're a programmer, artist or designer. Not only is it secure and efficient for any kind of project, but it also supports any engine, not just Unity.
While most game developers will be familiar with some of the more popular VCS options out there, the studios we spoke to have generally found they weren't ideal for game development, even if many teams have grown used to them with past projects.
"At our previous workplaces [...] we always had a lot of trouble with art files, particularly large files," explains A Township Tale's game director Boramy Unn in a recent Creator Spotlight stream with Unity's community team.
"I think there was a 2GB limit somewhere, and whenever an artist or somebody who didn't know how to use command line arguments and didn't understand on a quite deep level how [it] worked, it would pretty much halt everything."
According to Sycoforge CEO Michela Rimensberger, while some programmers might be able to navigate the complexities of other VCS tools, she says: "artists had sweat outbreaks using them."
How to set-up the perfect SCM Workflow
"Whenever we had an issue with Git, it could literally cost us one to two weeks to resolve it"
Boramy Unn, Alta
With other VCS solutions, a common issue shared by the developers is that collaboration can hit a wall over the smallest of errors. "It felt like if someone touched the wrong thing, everything would break," says KO_OP studio director Saleem Dabbous, making it difficult for programmers to have the confidence to step in for someone else. "Plastic is easy to parse and much easier to navigate. In Plastic, people can jump around the project in ways that won't be destructive."
Switching to Plastic SCM made all the difference for A Township Tale. After trialing it for a short while, it was clear to Alta that it was a far more stable VCS. As Unn says: "On the Plastic web page, it listed the problems that we would have [with other solutions] that Plastic solves."
"Whenever we had an issue with Git, it could literally cost us one to two weeks to resolve it, and even when we did resolve it, somebody's work would get lost quite seriously - we pretty much have to nuke everything and go down to one version of the project," Unn continues. "Since Plastic, we haven't had that issue, and it's become far more important since the game went live, because we can't afford to delay something for two weeks."
Plastic SCM is especially important for Return To Nangrim's development, which also involves testing and feedback from a group of players dubbed 'The Player's Guild'. Taking feedback from surveys, the Discord server, and collated on a public Trello board, the team checks to see if amendments need to be made, gather amendments in working packages, and distribute the tasks.
"This is where Plastic SCM comes in. As our team is spread all over the world, Plastic helps us to work together, even if most of us are working remotely," Rimensberger explains.
"We have a standardized workflow, where the first thing in the morning is either checking emails or checking if there's a commit on Plastic. If there's a problem with a version, Plastic makes it really easy to reproduce earlier steps. It also really boosts iteration and collaboration, something that's crucial when trying to provide agile, fast updates."
One particular benefit of Plastic SCM is its ability for developers to work in branches, which are also clearly visualised in the system. This has been vital for A Township Tale, which has been developed in two branches, a main branch for PC and another for Oculus Quest, although the team is also working on a third branch that hopes to combine the two so that eventually both are built off the same project version.
"[Plastic] lets us have branches, and we can create a new branch for every feature," says Unn. "Then for any kind of risky endeavour within that feature or things that might trouble the waters of one of the branches coming out, we can easily create sub-branches to de-risk things, and build this parallel network of features."
According to Dabbous, setting up branches was incredibly accessible. When KO_OP changed version control in the middle of Goodbye Volcano High's development, "It wasn't 'this tool does this, this tool does that, now figure it out'," he says. "Plastic recommended and showed how to set up a branch model at a much more granular and effective level than what we were used to." KO_OP's success with Plastic SCM has allowed the team to improve collaboration and visibility across the board.
Having individual branches also allows individuals to work on their own specialties, particularly with the artist-friendly interface (Gluon), which KO_OP's Technical Lead Jacob Blommestein calls "a pleasant surprise. The artists didn't have to know anything about branching or merging. They just added their .psp files, and the versioning was transparent."
When artists need to lock assets, visual interfaces make what's available clear, eliminating disruptions. Similarly, it's easy to browse, select and only download the files they need to work on. Overall, by speeding up workflows, Gluon helps make development far more collaborative in nature.
Unn adds that for the cosmetics team on A Township Tale "they just need to work on their branch, they can push, and all the work they do is usually quite safe. Anybody building a release that needs to update to the latest cosmetics can just merge into their branch and it's completely safe, we've never really had issues emerging from there." For Alta, what the team is able to achieve now with A Township Tale is difficult to envision how it would look if they were to revert to Git.
The best part is that Plastic SCM supports any engine on any OS, although having a plug-in (currently in beta) means its features can be accessed directly from Unity. For Rimensberger, having both has been a perfect match as Return To Nangrim's scope grows on a daily basis. She's partial to the variety of tools that Unity offers developers, too.
"Having a solid next-gen programming language at hand is really powerful," she continues.
"Thanks to tools like Timeline, our VFX artists had an easy time developing high-quality cinematics, the High Definition Render Pipeline (HDRP) coupled with Shader Graph makes developing high-fidelity shaders absolutely smooth, easy, and maintainable across Unity updates. Being able to extend the engine according to our needs or being able to prototype quickly thanks to the variety of assets from the Asset Store is also a real plus."
To find out more, and to start Plastic SCM Cloud Edition for free, visit https://unity.com/products/plastic-scm