Update [11th April 2019]: As promised, we have been following closely, and building our new Connected Games solution, alongside your feedback. We’ve updated the FAQs below to address the concerns we’ve seen most feedback about, like transition timing. Read on to find out more, including on our decision to extend UNet LLAPI critical support for an additional year from the original plan.
Feedback about Unity's plans for Connected Games?
Post here in the Connected Games sticky posts.
Why is UNet being deprecated?
UNet, Unity’s legacy multiplayer solution, does not meet the needs of many multiplayer game creators. To reach the performance, scale, and security goals of Unity creators, we’ve reached the difficult decision that completely new technology is required, including lightweight and fast networking, and a dedicated game server model.
What is being deprecated?
1) The High Level API (HLAPI) and the Low Level API (LLAPI) that work with the editor.
2) The P2P Relay Service (Not to be confused with the newer UGS service)
3) The legacy Matchmaker service (Not to be confused with the newer UGS service)
What will the deprecated UNet features be replaced with?
The HLAPI and LLAPI will be replaced with a new networking layer, with development focused first on a fast and minimal transport layer. The P2P Relay service will be replaced with a Game Server Hosting service, enabling server-authoritative games. A new matchmaking service will replace the legacy Matchmaker and work seamlessly with the Game Server Hosting service.
The Game Server Hosting service and integrated matchmaking service will be provided by Multiplay, which has been running game servers for over 20 years, and is now part of the Unity family. For clarity, you will always be able to choose the approach that you think suits you best. You will be able to build with the new networking stack, and host game servers on your own infrastructure, if you like.
Beyond simply depreciating a legacy solution, we are at the start of an exciting journey to deliver an end-to-end solution for Connected Games. We have, for example, recently added Vivox to the family, delivering voice and text chat for multiplayer games.
What is the deprecation plan for UNet features?
The HLAPI will no longer be shipped after 2018.4 (LTS), and will be supported for two years after this release. The LLAPI will no longer be shipped after 2019.4 (LTS), and will be supported for two years after this release. The Relay Server and legacy Matchmaker services will operate for at least three years following 2018.4 (LTS) (expected 2022).
Below is a depreciation plan and high-level roadmap for upcoming features and services. Stay tuned to our blog and forums for more details about upcoming features and services.
Will I still be able to use the High Level and Low Level APIs?
Yes, but the HLAPI and LLAPI will no longer work with Unity after 2018.4 (LTS) and 2019.4 (LTS) respectively.
Is there a migration path from the existing HLAPI and LLAPI, and the new networking layer?
The LLAPI functions similarly to the new transport layer, and the migration will be intuitive if you are using this API.
The capabilities provided in the HLAPI will move from a one-size-fits-all API to more of a collection of tools tuned to work well with a certain game type. For example, our initial focus is on the client-side prediction model used commonly in FPS games, with other archetypes like RTS and fighting games to come. It will probably have a steeper learning curve, but we are focused on good documentation and examples. We have released an FPS sample that includes open-source implementations of lag compensation, forward prediction, etc., that can be reused for similar games.
For clarity, the HLAPI will support both the LLAPI and the new transport (once it reaches a sufficient feature set) throughout the HLAPI transition period till Spring 2021. We feel confident that before 2021, the new networking stack will be a much more performant solution than the HLAPI, and we strongly recommend developers move over by this date.
What can I look forward to with the net networking stack?
We’re building the new networking stack with these key principles in mind:
- Transparency: The new networking stack will be provided as a package with full source for debugging and extending. We will also be able to ship rapid updates as previews outside the four-month release cycle.
- Modularity: Monolithic libraries add unnecessary overhead for features you likely don’t need. Each new feature beyond the baseline transport will be separate and optional, so you can integrate only the features needed for your game. For example, there may be one package for the base unreliable transport, one optional "Reliable" package, another optional "Sequenced Reliable" package, etc (caveat - not final names).
- Performance and scalability: We are ensuring that, from the beginning, networking will scale to the needs of modern games. For example, the new networking stack will be DOTS-compatible. This means it will work with ECS, Job System (for multi-threading), and Burst Compiler. It also does not require you to use DOTS for everything. Most of your game can still be written in classic Unity if you prefer that.
- Archetype specificity: We now understand that there is no single solution that is ideal for all game types. So instead, we will create different solutions for common network archetypes used in games, such as FPS, RTS, and fighting games.
Will a “self-service” version of the P2P Relay Server or Matchmaker service be made available?
We do not have plans to do so at this time. Well before 2022, we will provide a clear transition plan to new technology.
What should I use if I am making a multiplayer game today or have already shipped a multiplayer game?
- Already launched: If your game has shipped and uses our Relay service, it will continue to run as expected until at least Spring 2024. By that time, we will either extend the Relay service or provide a clear transition plan to new technologies. It’s our goal not to harm games that depend on this tech. Please see this forum post for alternatives.
- To be shipped in the next 0-6 months: If you’ve already completed most of the work on your multiplayer game using the LLAPI or HLAPI, it is okay to ship it using the 2018.4 (LTS) or prior versions of Unity. If you’re using the LLAPI, it is even okay to ship using the 2019.4 (LTS), but we do not recommend this if you have sufficient time to transition (see below). P2P architectures of all forms struggle with scalability, inconsistent connection quality, and hackable clients, so we recommend most games move to a dedicated server model if possible.
- To be shipped in 6+ months: You should consider moving to dedicated servers to determine what it will take to create a server-authoritative version of your game. We believe the new tech stack enables longer term success.
While the initial release of the new tech stack will necessarily be “preview” or “experimental” in some form, we are committed to moving out of preview as soon as possible -- the current goal is within 2019.
We deeply appreciate those who are working through this transition with us and ask that you provide feedback every step of the way. Each component of the new tech stack will remain in preview until we have confidence that real games can successfully launch using it, based on feedback from the community. Stay tuned to our blog and forums for more details soon about the upcoming Preview packages to build your game with the new networking stack, server runtime, dedicated servers, and integrated server hosting and matchmaking service matchmaker.
What can you tell me about pricing?
Multiplay’s current game server hosting service is based on a consumption model. The service is production-ready today, but primarily large-game focused and providing custom hosting solutions. Actual consumption turns on how the game is specifically hosted.
As part of the Connected Games initiative, we are working to provide a more automated workflow and thereby wider access to Multiplay’s hosting and scaling tech. We are still working through the pricing for this scenario, and unfortunately cannot share more concrete details at the time.
In the meantime, we'll continue to focus on reducing the overhead of the headless server runtime to reduce the costs of servers, and the Multiplay-based orchestration tech will ensure servers are only running and consuming resources when your players need them.
Where can I learn more about the new features and services that will replace UNet?
Visit the learn more section in our real-time multiplayer page. We are also hoping to post more frequent updates about the upcoming features and services -- stay tuned.
In case you missed it, we welcome all feedback on our Connected Games sticky posts, and respond to these as frequently as we are able to.