Search Unity

Official UNet Deprecation and Removal Plan - 2021 Update and FAQ

Discussion in 'UNet' started by UnityGio, Jul 7, 2021.

Thread Status:
Not open for further replies.
  1. UnityGio

    UnityGio

    Joined:
    Jun 8, 2018
    Posts:
    19
    What is UNet?
    UNet is a multiplayer solution set released as part of Unity 5, back in 2014. UNet is composed of three layers:
    1. The low level API responsible for the transport and socket abstraction, known as LLAPI.
    2. The high level API responsible for the game object abstraction layer, known as HLAPI.
    3. The service layer that includes:
      • The P2P Relay Service - The legacy relay service that allowed for peers to communicate by proxy.
      • The legacy Matchmaker Service that connected players looking to be matched.
    All components of these layers were formally marked as deprecated in August 2018.

    In the general sense, deprecation is a formalized recommendation against using a product or service. This is a process where technology is put into a “sunsetting” process, where feature development stops, investments are downsized, and teams supporting the technology are moved on to different projects.


    How is deprecated technology treated in Unity?
    With 2021.1 and onwards, Unity package status is now represented as per the new Unity Package Lifecycle model. The new model includes a Deprecated package state which explicitly signals deprecated packages as officially unsupported. Deprecated technology is labeled explicitly as no longer being suitable for production.

    Not all deprecated technologies exist as services or inside of Unity packages. Deprecated technology, like LLAPI, can be part of the mainline Engine source code.


    What is the deprecation plan for UNet LLAPI as of July 2021?
    Though deprecated, UNet LLAPI will remain inside the Editor for 2021.3 LTS. As of 2022.2, UNet LLAPI has be removed from Unity. It is still available for users of previous LTS versions of Unity.


    What is the deprecation plan for UNet HLAPI as of July 2021?
    In 2021.1, the HLAPI package became a Deprecated package. This means it is officially unsupported for that version of Unity and onwards. User of 2021.1 cannot install the HLAPI package anymore via the Package Manager editor interface nor search for it by name.

    In 2021.2, HLAPI has been removed from Package Manager registry [2021.2.0b4].


    What is the deprecation plan for UNet Cloud Services as of July 2021?
    UNet Cloud Services for Relay and Matchmaking are deprecated, but remain operational and in maintenance mode. No new service sign up are being taken for the legacy services, as our new Unity Gaming Services are now available for users in beta and soon-to-be general availability.

    What about the Unity users using UNet in prior LTS releases of the Editor?
    UNet LLAPI and HLAPI users of 2020.3 LTS will have support for any bugs or high-user pain issues for the duration of support for that year’s LTS. LTS support windows are about two years in time. UNet HLAPI was removed from 2021.2, meaning only UNet LLAPI is found in 2021.3 LTS.

    UNet Cloud Service user can continue to receive support. However, it’s important to note that no new feature work or enhancements are planned for UNet Cloud Services as the services are deprecated and have been announced as such since 2018.

    What about users who have made custom branches of either the source code or HLAPI Unity package?
    While no custom branch or fork of source code is supported by Unity by default, users who have done so and who stay on supported LTS versions of the Editor can expect critical fixes to be released for HLAPI and LLAPI for supported LTS versions of the Editor. This remains in effect during the support cycle of the LTS version.

    What alternatives can LLAPI users utilize as a substitute?
    Unity Transport Package is the successor for UNet LLAPI. It comes as a Unity package, meaning you are able to see the managed code it is built from. It also supports the C# Job System and can be Burst-optimized. For more information on the Unity Transport Package, please go to this sub-forum post.

    What alternatives can HLAPI users utilize as a substitute?
    Netcode for GameObjects
    is a client-server, non-deterministic, GameObject-centric netcode library that is being developed in the open and as open-source. Please go to this sub-forum post for more information.

    Please see the documentation for Netcode for GameObjects for information how to migrate from UNet to the new netcode system.

    Netcode for Entities (formerly known as DOTS Netcode) is a client-server, Entities-centric netcode library aimed at users of Unity's Entity Component System. Please go to this sub-forum for more information.

    Where can I go to learn more about these alternatives and alternatives to UNet Cloud Services?
    Please see this sub-forum post for information on Unity-provided alternatives available today, including the new Unity Gaming Services.
     
    Last edited: Apr 5, 2022
Thread Status:
Not open for further replies.