Search Unity

At Unite Berlin, we announced a strategic alliance with Google Cloud. Together, we are building a suite of features that will help you create, run, and scale your connected games. In this post, I’ll share how we define connected games, what we have been working on with Google Cloud, and give you a peek at our upcoming plans.

What are connected games?

The term applies to games that connect players to other players as well as players to developers. Their characteristics include traditional multiplayer (player vs player gameplay) and dynamic content updates like daily challenges or new levels. Another defining characteristic of connected games is that they are successful because they provide emergent and engaging experiences that keep players coming back.

Connected games are the most influential and successful type of games out there.

Although there are many types of connected games, we can divide them into four general segments:

  1. Dynamic Single Player: Single player focused games, with “live” features like social, leaderboards, and content updates.
  2. Turned Based Multiplayer: Asynchronous, turn-based gameplay, with more than one player.
  3. Real Time Multiplayer: Real time, session-based gameplay.
  4. Persistent Game Spaces: Real time game sessions that persist.

However, these categories are not rigid and defining. Connected games can pull from any and all these segments and there’s plenty of grey area between them. Still, within the overall category of connected games, there are a number of common game types and important features. Therefore, this structure helps us consider which features we need to create for you.

Collaborating with Google Cloud

To make connected games, you not only need network code, you also need infrastructure like servers and load balancers, and the specialized knowledge necessary to use that infrastructure. Furthermore, once you have this infrastructure, you need to support and operate it, 24/7. It’s a lot to ask for, and not all creators have enough resources.

Through our alliance with Google Cloud, we can provide you enterprise-grade infrastructure that is globally available, highly reliable, and customizable for your game. You won’t need to be a cloud expert to harness all that capability. We streamline your user experience by building and integrating features made first for game creators. At Unite Berlin, I demonstrated how technology from Multiplay, a Unity company, was used to scale more than 60,000 game servers to support over a million players in minutes.

By building a tight integration between Unity and Google Cloud, we aim to democratize connected games. From a robust global network that enables low-latency player connectivity, to worldwide synchronized databases, Unity developers will be able to take advantage of Google Cloud — right in Unity — without having to master the cloud.

Unity and Google Cloud engineers are already hard at work

We’re working on a suite of features to create, run, and scale your connected games. In addition to game server hosting, Unity and Google Cloud have co-founded an open source matchmaking project. Matchmaking is key to so many multiplayer games, with a lot of opportunity to innovate, so we’re collaborating to create something that is scalable and flexible enough to work with your game design. The open source project will be available later this summer. We’re also working a new ECS networking layer. The new paradigm will allow you to create fast, flexible networking code that delivers multiplayer by default.

Keep track of what we’re building to help you make connected games and harness the power of Google Cloud:


Learn more about connected games


Tell us about your connected game! Your feedback helps us understand and prioritize your needs. You can also reach out to us directly by posting on our forum.

34 replies on “Bringing connected games within reach with Google Cloud”

What I would love to see — Something that will allow us to make AAA grade games with a variety of multiplayer features. I say it this way, because not all of us are wanting to make facebook casual games. Some of us, like Myself, **Really** want to make a higher scale of game. Like a real Server-Authoritive MMO or MOBA or TB/RT-SG. (And, Atavism is not viable here, as if their demo server is any indication, it’s not fit for the job. 4 frames a second on a high-end gaming pc, because I went out of “town”… yeah, no.)

From what I have seen with the current room-based matchmaking games, they’re “great!” if all you want to do is recreate Quake from 20 yrs ago. If you want something more… complex, has built in team matchmaking – like the ability to be a “party” and join a match as a party, and stay “together” as a party, you have to completely write the logic yourself, AND NOT USE UNET… meaning that the current UNet fails miserably — especially pay-to-host matchmaking. If you want a server that you can run (locally or on a service) so that you can have your program work, the matchmaking services that come with UNet completely fails. It’s like it was created for lan parties, and oh, yeah, the internet is just an interesting way to make your lan party bigger.

And, it appears that the ecs-model is (also) just going to be an over glorified lan party. That said, (and strongly thinking that I am really not interested in paying for only the ability to write quake or doom — hence not using my crappy CCU’s that equate out to 2 simultaneous games) I look forward to the change. I would stress, however, that giving us optimized networking APIs that allow us to intuitively create servers, be it locally hosted/cloud/co-lo’d, would be a great thing.

What would suck, however, is being charged for yet another crappy CCU-based system asking us to accept only BaaS as the premium standard (meaning, you’re limited to crappy facebook games, casual android games — hint, the market is oversaturated as it is with both of these — or, Quake from 20 years ago, all the while paying a monthly fee for this schlock).

Having produced my share of Casual games, and games on Facebook, I’ve seen quite a LOT of services offered that lack any real value. At least with UNet, you can do a mixture of Socket IO and HLAPI and make a server (there’s a really good asset on the Asset Store, called Master Server Kit, to do this). I honestly, would love to see something like Master Server Kit integrated into the Networking offered by Unity. And, I’d love to see a headless windows build so that I don’t have to have a linux server if I don’t want one. (I realize that linux hosting is cheaper, but not all of us are fans of the os. Don’t laugh, I am sure they are out there.)

Just off-the-head thoughts at reading how the past 6 months of my life have just suddenly been “deprecated” with UNet being on it’s way out, and how it would have been better spent creating a custom tcp/ip based server and just serializing the heck out of the data sent.

It all sounds very cloud (and game) based, will this support completely enclosed system, e.g. on a private network? We build VR applications (not games) that may not be connected to the internet. Also, will there be any direct support for VR multi-user?

Currently we are prototyping a real-time FPS. Can you tell when the realtime module would be ready for launch so that we can use it for our project?

What languages will be supported? I am currently in the earlystages of building my backend in Azure with node.Js and socket.Io but would definatly be interested in changing to this, if it is going to save me time and effort but still achieve the results that i am after.

“We are building the new networking stack from the bottom-up, starting with a very lightweight and fast transport that is ECS-compatible.”

Very much looking forward to this. Been hoping this would happen for years! Like another said, currently using Firebase at Google, relying on Realtime for “networking” which works okay but isn’t really made for this. They seem to be trying to move everyone away from Realtime which is a bit worrisome. Anyway, my ask is: Do build your cloud-centric networking stack that can be used for large numbers of players.

It’s cool, but now we have Firebase at Google which gives an ability to have:
– Realtime database (very fast database, can be used to share a player data between other ones)
– Cloud functions (you can use it to update the cloud data through the functions, to prevent some cheating)
– Cloud storage (you can store the additional game content which can be downloaded a bit later during the game)

And a lot of more. Google has a Unity plugin for that, so you don’t need to write your own C++ plugin. And the pricing is very well. For 25$ per month you can get 100k simultaneous connections to a realtime database (which is very cheaply).

I’m happy to see your movings here but for now I think Firebase is the best solution to create connections games.

Anyway looking forward for your progress!

Looks awesome, but how much will it cost.? Will there be a free tier to be used while developing.? I want to own my own server only so I can prototype my game not paying a monthly fee, will there be such an option.?

As we build and fully understand the costs to run these servers and services, we are in parallel developing a pricing model and aren’t yet ready to give additional details. Feedback is well-timed, so if you’ve seen other pricing models you’ve appreciated for servers and services, please share them with us.

I have started looking into gamesparks and they have a very nice program for small teams and indies with a free program until you reach a very high account of active users. Something like that would b great.

It looks very great to see that such scalable solutions are coming up. This brings me a question, for which I didn’t found answer in years. The question is: will it be possible to set APIs that players could make direct payments to Google Cloud for bandwidth and cloud services they use while playing multiplayer mode?

This is an interesting question and something that Multiplay already enables for some of their enterprise customers, so it may be feasible depending on what you want to do. We’re still building out the long-term roadmap for Unity-integrations with Multiplay, so it’s helpful to know that this is a desirable use-case.

It is! We are building the new networking stack from the bottom-up, starting with a very lightweight and fast transport that is ECS-compatible. We haven’t announced specific plans for the HLAPI and the rest of the “Unet” stack just yet; we know many games depend on this technology today, so we take that responsibility seriously and will continue to support critical issues. Stay tuned for more details soon.

Would Unity + Google Cloud have answer for native Cloud based User Data/Game Data solution? I feel like Backend cloud solution for user/game data is far more pressing matter than multiplayer. Not 100% games need multiplayer mode, but practically all legitimate games could use simple secure handling of user / game data. Beside, a good user/. game data solution is more or less required for good multiplay games anyway.

This is definitely something we are thinking about; there’s a reason these new initiatives are called “Connected games” rather than “Multiplayer” – we’ve seen that all games benefit from greater connectedness, including “dynamic single player” games like Angry Birds 2 or Pokemon Go. Across the spectrum, we want to solve some of the hardest problems for developers today, and the feedback we’ve heard so far is that making successful real-time games is still very hard and highly desired, so we are focused here first then will expand to additional problem spaces in the coming months. It’s true that persistent/shared game data and cloud-based logic are valuable also in the multiplayer space, and they may be something we focus on sooner rather than later; your feedback is helpful as we’re building out the roadmap.

Thank you so much, Brandi. I really do appreciate Unity making the best efforts for many solutions to hard problems developers face. I certainly benefitted a lot over the years on how Unity evolved. One last thorn in my eyes is how to store user data / game data so we can update/modify/serve the contents and user experiences. We’ve had a big vacuum where storing locally (let that be the inadequate Playerpref, or some asset solutions) just isn’t secure or flexible enough, while BAAS like Gamesparks and Playfab are just too cumbersome and too… not Unity. I really hope to see Unity’s solution soon. Thank you

Is this service going to be a backend-as-a-service where we can collect and manage players/game data or make some custom server-side logic (PlayFab, GameSpark like)?

I just responded to Charles who had a similar question/feedback. The initial suite of technology we showed in the Unite Berlin keynote is focused on the core technology that powers scalable real-time multiplayer games: dedicated servers, fast networking, and matchmaking. Additional services are all being actively discussed internally – are there ones in particular that would be most valuable to you?

As I mentioned to Riv below – Unity will not force you to use GCP, but all our tools and services will be built with them.

Will the FPS Network Demo have a server that is not actually a headless version of unity?
But a real authoritative client server model?

I still remember something about a Unity Server DLL… but that was a long time ago and never released.

We are actively working on optimizing our headless Linux runtime – reducing CPU and memory consumption and increasing uptime. We know that a server runtime is critical, and we want you to be able to develop your server code in the same way you write your client code.

This is great news! I currently use Azure but would be very interested in seeing what you can provide.

Unity’s alliance with Google means that we will be building tools that enable you to build connected games more quickly in our shared ecosystem. We will not block developers from using a different cloud provider.

We know many games currently depend on “Unet” technology. We will announce more concrete details soon, but rest assured it will remain supported.

So, this is pretty much an all in once solution to a multiplayer game?? So in theory, I can have 64 player FPS Game matches?

Comments are closed.