Vince Pavey spoke to Jeff Collins, senior vice president of engineering at Unity Technologies about the UGS vision for the future of cross-play, and how the company are making it happen.
I’m sure people are familiar with Unity, but for the benefit of our readers, can you explain what Unity Gaming Services are?
It’s a modular set of services to build, run and grow your game. It spans the set of tasks from building and constructing a live and connected game – everything from multiplayer services to identity to server list computation, and the ability to save cloud profiles, all the way through to the analytics and operational capabilities to run live ops for your game. It’s also inclusive of ways to monetise and grow your game through in-app purchases, and ultimately, ads.
What would you say is the unique selling point that differentiates you from Epic Online Services or nWay Play, or similar competitors that are in the same ballpark?
So when we thought of making UGS at Unity, we saw an opportunity in the market to make something a little bit more comprehensive. Still modular, but covering a broader set of tasks, across the whole game lifecycle. I already described how it goes from building, to running the live ops, all the way to monetization. It’s hard to find an offering as comprehensive as that out there today. So we always thought of UGS as solving the whole game development and operation problem.
You said it was modular. What are the advantages of UGS being so modular?
We never wanted to make it so that in order to use any of the capabilities of UGS, you had to adopt all of them, or make choices as a developer of a game that you didn’t want to. Having to bring in extra libraries – having to bring in extra code, or try to understand a broader set of functionality, when all you’re trying to do is solve a simple problem, is annoying. So when you talk about UGS being modular, what that generally is going to mean is that if you have a specific problem you’re trying to solve, you could get started with it, solve one thing at a time, and then later, add more UGS capabilities – if you want to, of course.
In the long run that gets people comfortable with using parts of UGS that really do a great job for them. As they build more games, they’ll tend to want to adopt more and more of the functionality. So we want to lower the barrier of entry for someone who’s wanting to take advantage of our tools, but doesn’t want to consume all of it at first.
So it can be as complex or as simple as you want it to be, basically? Cutting through some of the bloat.
Absolutely. When you’re a developer, it’s so important to make things with a purpose. If you’re trying to get a demo running of a game, with a mechanic that you want to see working, the last thing you want to do is have to confront modules you’re not even going to use in order to solve the simple problem of say, multiplayer, or cloud save for a player. Why would I want to confront a whole bunch of different modules when all I’m trying to do is solve a simple problem? We have that mentality at the core of how we develop UGS.
One of the modules is for Vivox voice chat. What makes that a good solution for chat?
It is the most comprehensive. It’s actually got an amazing pedigree. It’s had some of the world’s biggest games on it for a while and when we talk to customers about their experience integrating Vivox it’s a very mature product. So I get this feedback all the time, where people will try other voice and communication solutions, and then they’ll tell us “Oh, and we just sat down to integrate Vivox. It was the easiest process to integrate, that we’ve seen from all the competitive products.” But not only that, its maturity makes it very broad.
So, for example, it not only has regular voice and communications, where team members can talk to each other, but it also supports 3D voice. So it actually has differences depending on your location. That’s a pretty rich feature. People find that its ease of use is great. Then they can graduate into all the capabilities it has to offer. It really is the market leader in that space.
Does it also include moderation tools, or is that a separate module?
Moderation tools are a separate module. It’s actually an area of pretty significant investment. You may know this from the news, but in August of 2021, we acquired a company called OTO, which is known for its tonal analysis functionality. So instead of just doing speech-to-text, it actually will analyse the tone of the communications using machine learning. That investment was really interesting to us, because we see a lot of toxicity in gaming today. In fact, one of the UGS mission statements is to reduce toxicity in gaming, because it’s good for the players, and then therefore good for the whole community at large. The tone analysis technology we acquired is being used as part of a moderation package, where we can do transcription of the voice stream, speech-to-text and tonal analysis, and combine those together to see who is behaving badly.
What that does is it gives studios agency. It gives them the ability to make choices on how to respond to this type of behaviour, and either through incentives or punitive measures, trying to create a better, more fun community, a more inclusive community, for their players. This on one hand, from a business perspective, will increase engagement, and on the other hand, is the right thing to do. We see that as a great vision for Unity to be tackling, and that’s part of UGS today.
Why do you think cross-play and cross-progression are so important for games going forward?
It reduces friction. Studios are going to live and die off of the engagement of their players and what you really want the opportunity for – especially with a multiplayer game, that’s exciting with fast paced action – you want anybody to be able to compete. So when you’re able to support any platform, you’re going to create opportunities for more players and even different types of players to compete against each other. So it’s just a way of increasing your audience, and increasing the competitiveness in games, and maintaining a larger audience over time.
How much work did you have to do with platform holders and game developers to get those features working? Was it fairly simple, or was there some back and forth?
So those features are generally going to revolve around the notion of identity. So you have to anchor to some identity… for example, we’re very proud of Apex Legends. And we’re very proud of the fact that the game is owned by EA. Apex Legends, today is made with Source. It’s a very exciting multiplayer game, and to use cross-play, you will be using your EA account.
So the idea with multiplayer games is that you’re trying to bind to some notion of identity that’s transcendent of the platform. UGS supports that through our authentication layers, and the notion of identity being abstractable. So lots of games out there are following this pattern and it’s enabled at the core by UGS having a single notion of identity.
Then you can map the players in different contexts to that identity. So it’s pretty important that any type of service layer supports a notion of global identity like ours does. That’s how those games are built. It’s par for the course. Is it hard? Sure. But it is part of UGS that identity is supported in that way.
What were some of the hurdles that first popped up when you were trying to develop UGS? Obviously it had to grow outwards. How did you know where to start, and where to progress?
As Unity, we’ve done a great job of getting some of the “best of breed” products to be part of our company. Three years ago, when we started on the journey to build UGS, we had done a nice job of bringing in Multiplay. In 2019, we also brought in Vivox. We acquired deltaDNA, which was a high-end analytics provider, and then a couple of other tools, including OTO. We then said, “Okay, those are great, but they’re independent products.” They didn’t integrate very well. What we wanted to do was produce a suite of products that was fully integrated, and powered by a common set of data underneath all the products.
You can imagine that that’s not a trivial task. We had to embark on a pretty major development effort to reskin all of the SDKs to make a common notion of identity, and then make sure that all of the products had a common SDK look and feel. Then we did a bunch of data integration work between all the products and added a bunch of new capabilities, like our relay in the lobby. We brought in a product called CCD [Cloud Content Delivery], our remote config product.
All of them had to be integrated in such a way that it is possible for someone to use multiple UGS products together in an integrated fashion. That was a long build. It’s taken a couple of years. The journey started in 2019, so it’s been about three years. We’re actually very proud of the point we’ve reached now, which is a comprehensive set of services. They’re modular, but they are integrated. That was the achievement we had hoped for.
Were there any particular obstacles that came to mind, in regards to integrating them?
So the biggest single obstacle, as with similar products or projects like this, is that you have a number of offerings that were never intended to be integrated in any way. You have to do the engineering to make sure that they’re all working together and install a data pipeline underneath all of them. So the obstacles are generally going to be that you’re having to adapt services to each other and build integrations, which takes a large amount of effort. It’s worth it, though, because the value that we bring with UGS today is great for the user.
How big is the team working on UGS?
It’s in the hundreds. I mean, we have decided as a company that this type of offering is going to be strategic for Unity’s future. So we’re very serious about this investment. We also have a number of new offerings that we haven’t even announced yet, that are being worked on right now …
So how have you and the team worked with developers to make UGS even better since launch? How do you organise and respond to feedback?
We have, internally, an early release programme. What we will do is allow customers to come in to try out parts of UGS that are new, before they’re launched publicly. We’ve done that for every single part of UGS that wasn’t itself originally a product we acquired. We’ve had a lot of feedback on some of the things that you see out there today, like our cloud code module within UGS with the idea of serverless compute.
Through feedback, we found that while we support the ability to write JavaScript in the cloud, our developers on the Unity side, those who use the Unity Engine, were saying, “Hey, look, you’re gonna have to add more language types.” So we’ve heard that feedback loud and clear. On our roadmap is C# support, because our Unity developers demand that. So that’s a great example of customer feedback and forming what our future direction is. Another one is that people are asking for new capabilities around cloud saves, and the ability to store persistent data. What I’m really happy about, is that we put UGS out there with a position. A point of view. Then we built it in a way that we knew worked really well. We’ve seen a lot of success.
But what I love is being able to actually have it out there and get customer feedback that teaches us the actual new direction and new capabilities we should add. We’ve been able to do that really effectively. So over time, we’ll continue to do early releases of new features within UGS, and solicit customer input all along the way. That’s what’s forming our picture of how we’re going to take it forward.
Have you ever thought about developing a game in-house with UGS, like how Epic Games develop things with Unreal to test features?
The position here is that Unity doesn’t compete with its customers. We are generally going to focus on enabling technology. There are in our sports and live entertainment divisions, tools and technologies that we think are really fun for consumers, but it’s generally going to be B2B. When we’re talking about building games, we’re just really, really excited about our customers doing an amazing job.
What does the future of cross-play and cross-platform services look like in say, five years?
I always think of UGS having this vision of the future where it’s increasingly possible to build immersive interactive experiences, fully integrated with a profile and data. Where that comes out of the box. So you can imagine the synthesis of all the multiplayer capabilities, all the live ops capabilities, the ability to run what amounts to a very complex experience in 3D.
Inside of that, I envision that while it’s really flexible, there will always be a common notion of identity that can span across any of the boundaries of the platforms. Where it is already pre-integrated, so that the user can log in with any kind of identity mechanism that they feel is appropriate, and just jump in. Where that’s the base platform, for someone to then create an experience. On top of that, what they’re really doing is tailoring and adding creatives and adding a little bit of logic, but you get to choose which venue you deploy it to. In Roblox, it’s really easy to create an immersive experience, but you’re in the platform itself.
With Unity, we see that you can be free of any of those boundaries and be able to deploy it wherever you like. That experience will be almost like an operating system for a game. Then the developer can put the finishing touches on it and let the world experience it.
Is that the inspiration behind the authentication layers and how it’s tying into services already?
The authentication layers and being able to have that modular view, but still including all of the hosting capabilities, and all of the live ops capabilities out of the box. Modularity is critical and you should be able to use only what you need. But the idea of using the composed version of UGS to build something novel – that’s what we find very interesting at Unity.
So what is your favourite use of cross-platform features? Which game does it best in your opinion?
There’s so many games out there that it would be fun to kind of point at. So cross-platform progression wise, I think Marvel Snap is pretty cool. All you have to do is link it with your Google account, and then you’re able to, just play on whatever device you want. If you think about what goes into that, our cloud content delivery product is being used by Marvel Snap to have all the cloud delivered assets on the CDN. The fact that that’s being done there, and then all the content is downloaded to whichever device you’re using? That’s pretty cool. So I’m a fan of that game.
UGS services don’t have to be used exclusively in Unity games, do they?
UGS is engine agnostic. I’m glad you brought that up. We are trying to provide a platform in the cloud for creators. Obviously, Unity Engine is a wonderful way to build your game using UGS. End to end, that’s going to be a very seamless integration. But the value of the UGS platform is, as I described in the beginning, to be able to build, run and then grow your game. We see that as being relevant, whether you’re using the Unity Engine or not. We have a lot of customers who are using other types of engines. Sometimes it’s Unreal, sometimes it’s Source, and sometimes it’s homegrown custom engines … that doesn’t change anything for us. We think that’s a great use case for Unity Gaming Services going forward and into the future.