Ubisoft: A Unity case study
As one of the most successful studios of all time, Ubisoft knows how to build and operate games as a service, and part of operating games at scale is trusting the right partners. For Rainbow Six Siege, a tactical shooter where communication is critical, they chose Vivox.
Microsoft Windows, PlayStation 4, Xbox One
Tactical shooter, with single- and multiplayer modes
Ubisoft and Unity Multiplayer Services
In June 2017, Ubisoft took the time-honored tradition of continuous improvement to a mind-bending new level – launching “Operation Health,” a season dedicated as a live major update to Rainbow Six Siege, an online game with tens of millions of players. The update included a major network architecture shift that required new voice chat infrastructure. Rather than use in-house resources to rework existing code, Ubisoft chose Vivox, a Unity Multiplayer service, to quickly and cost-effectively deliver a reliable solution.
- Peer-to-peer to client-side architecture
- Fast integration to meet strict deadlines
- World-class voice solution, trusted by millions of Rainbow Six fans
- After a successful integration, Ubisoft’s ‘Harbour team’ now promotes Vivox to other teams internally
Deciding to invest in long-term game health
The development team for Rainbow Six Siege had a strong creative and technical background in AAA games, but had less experience with operating a live, multiplayer title. Their game won the Game Critics Awards’ Best PC Game and three nominations in its first year, yet the team quickly realized that some of the technological choices made prior to the launch were not ideal for a competitive multiplayer game.
Rainbow Six Siege shipped with a mixed network architecture: a client/server model that used some peer-to-peer (P2P) elements. For example, its player vs environment (PVE) play, party sessions, and voice chat all relied on P2P rather than a client/server model. Unfortunately, live play showed that P2P wasn’t great for a highly competitive shooter like Rainbow Six Siege. Networks weren’t sufficiently stable and net neutrality was a big concern. The team realized quickly that some issues were caused by those elements that were using a P2P architecture, and they couldn't be fixed without fully transitioning to client/server.
Ubisoft had two options. They could incrementally fix some Rainbow Six Siege issues while continuing to create new content and updates, the essence of a games-as-a-service (GaaS) strategy. This would represent a short-term patch and would not be a sustainable solution for the game. Or, they could take a more radical approach, delay new maps and characters, and invest in the long-term success of the project. They gambled on the long run and dedicated the three months of Season 2 to improving the game with Operation Health.
Operation Health – three months for three goals
Operation Health had three months (one game season) to accomplish three primary goals:
- Fix top issues reported by the community
- Reduce technical debt and refactor systems that were not sustainable for the long-term, including replacing voice chat
- Optimize transparent deployment processes
Reducing technical debt meant replacing all P2P components with a client-server architecture, deploying more powerful servers (faster tick rates and hit registration), and enabling one-step matchmaking. Optimized deployment processes were behind the scenes but are critically important to a GaaS game that constantly updates code and content. Lastly, Operation Health provided an opportunity to fix top issues identified by the community and implement a more robust bug-fixing process to avoid the likelihood of new regressions.
All these changes took place transparently in the background while the 60M+ player game was live.
Why Ubisoft chose Vivox for voice chat
Voice chat is essential for a cooperative, competitive shooter, and coordinating team strategy is one of the joys of the game. Yet the time constraint for replacing the existing voice component was exceptionally tight, and overall the wholesale change from P2P to client/server architecture was by no means trivial.
In deciding whether to build their own solution or outsource the work, Ubisoft considered a number of factors. First, although voice chat is a required capability, it’s not a game differentiator – as long as it’s there, players don’t care if Ubisoft built it or not. Second, Ubisoft engineers could have coded their own solution, but they would have been spending time grinding out a software utility rather than building an awesome Rainbow Six game experience. Third, they saw that Vivox was an affordable and reliable solution proven industry-wide with over 200 games including PlayerUnknown’s Battlegrounds (PUBG) and League of Legends. This was enough – they glanced at competitive offerings but quickly integrated Vivox.
The Rainbow Six Siege team assigned just one person to integrate Vivox using their Scimitar engine and the transition was fast and seamless. When questions came up, the Vivox team responded immediately.
Beyond Rainbow Six: Why Ubisoft’s Harbour team promotes Vivox
The Ubisoft family of games represents many of the industry’s most creative efforts; yet each game has its own developmental challenges. One is gameplay – what goes on the stage and entertains. The other is all the technical services – everything backstage that’s needed to put on the show, ranging from low-level networking to matchmaking and voice chat.
Within Ubisoft, the Harbour team offers online services that can be shared by any title, unlike the gameplay that’s unique for each game. Harbour connects developers with standard tools that games need to deliver their experience with all of Ubisoft’s added benefits – such as hooking into existing account systems and standard telemetry and tracking.
After seeing the successful implementation of Vivox in Ubisoft games, including Rainbow Six Siege, the Harbour team assessed Vivox to see if the solution would be a fit for other games being developed by Ubisoft. Vivox passed the test.
Reducing distractions and maintaining focus
This kind of buy vs build approach may sound like a no-brainer, but the build philosophy is often deeply rooted. Good engineers can program anything they set their minds to, and the more complex the problem, the more attractive it is. However, the opportunity cost of developing internal solutions for every infrastructure challenge is considerable, that’s why Ubisoft weighs its options and looks at commercial off-the-shelf solutions (COTS).
As the Harbour team points out, as a rule, setting up their own matchmaking service or voice chat almost always takes longer than anticipated and costs more than planned. If a solution is available off the shelf, has all the needed features, and is affordable and proven, it makes a lot less sense to repeatedly reinvent the wheel.
For lean development teams, Harbour’s services enable getting from concept to a playable prototype much faster. There are simply fewer functions they need to grind out, let alone plan and budget for. They can focus on what’s interesting and creative, and they can plug in third-party, AAA-quality components, like Vivox, for the more technical aspects of their game.
“The voice chat component originally used in Rainbow Six Siege was peer-to-peer, and we needed to step up to a solution that could perform more reliably for our players. The Vivox solution had all the features we wanted, it used a client-server architecture, and it cost less than doing it in-house.”
“For a company-wide, generic solution, we need a high level of flexibility and reliability, and it has to support all the different platforms and languages. The level of constraints are much higher. But if we do our job right, the overall savings in development costs from using a standardized component are huge. Vivox helps Harbour achieve that”