Search Unity

  1. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Official Release Announcements

Discussion in 'Netcode for GameObjects' started by luke-unity, May 6, 2021.

Thread Status:
Not open for further replies.
  1. luke-unity

    luke-unity

    Joined:
    Sep 30, 2020
    Posts:
    306
    Hey Everyone

    This thread will be used to announce the releases of our experimental Netcode for GameObjects package formerly known as MLAPI.

    To learn more about Netcode, take a look at our documentation or our welcome thread for the Netcode forum.

    What does pre-release mean?
    We use the “Pre-release” state to describe packages that are almost fully mature.

    Pre-release packages are still being verified to be safe to use with the current version of Unity. These packages are supported by Unity and guaranteed to be fully validated for use in production by the end of the LTS version of the current cycle. For more information about the pre-release state and the lifecycle of packages, see Package states and lifecycle.

    There are a few things to be aware of when using this pre-release package:
    • Expect minor API change that do not break the API, but affects usage
    • Expect no SLA on the timeline to ship patches/fixes to releases, as we are still establishing our test and release cadence
    • Expect this will be moving towards a more stable, production-ready Release
    -----------------------------
    Latest Release: Version 1.0.0-pre

    Release notes are available at:
    https://docs-multiplayer.unity3d.com/releases/multiplayer/1.0.0

    Installation Guide:
    https://docs-multiplayer.unity3d.com/docs/migration/install

    Netcode for GameObjects version 1.0.0-pre is available now!! It is the first pre-release package of our team, and we are proud to give you the ability to play with it. We added lots of features and fixed many issues. We also decided to remove some of the not production-ready parts of our SDK to ensure a solid ground for your next awesome multiplayer game.

    Among the added features, you will find :
    • A Client Network Transform that allows you to control the transform client-side (yes, it is
    • finally interpolated)
    • New and improved scene management (yes, you finally can do additive scenes)
    • A tick system
    • OnNetworkDespawn that matches the OnNetworkSpawn (it was time)
    Head over here for the complete list.
     
    Last edited: Nov 12, 2021
    CreativeChris and Lars-Steenhoff like this.
  2. luke-unity

    luke-unity

    Joined:
    Sep 30, 2020
    Posts:
    306
    Version 0.1.0

    Release notes are available at:
    https://docs-multiplayer.unity3d.com/releases/multiplayer/0-1-0

    Installation Guide:
    https://docs-multiplayer.unity3d.com/docs/0.1.0/migration/install

    With version 0.1.0 of MLAPI, we focused on integrating MLAPI in our ecosystem and introduced changes to improve performance and make the API easier to use and maintain.

    Our next round of releases will focus on adding new and exciting features to MLAPI. You can get an overview of what we have planned on our roadmap. We encourage everyone to actively participate in the roadmap and submit suggestions and feature requests to us.

    Upgrading

    For all existing MLAPI users, we encourage you to upgrade to our new version. We introduced many bug fixes in version 0.1.0 and will be better able to support you if you upgrade. MLAPI is now distributed as a Unity package which means upgrading isn’t straightforward. We have created a guide for upgrading to the new version.

    If you have an existing UNet project or have used UNet previously checkout our UNet upgrade guide to learn about some of the key differences between UNet and MLAPI.
     
    Last edited: Nov 12, 2021
  3. luke-unity

    luke-unity

    Joined:
    Sep 30, 2020
    Posts:
    306
    Version 1.0.0-pre

    Release notes are available at:

    https://docs-multiplayer.unity3d.com/releases/multiplayer/1.0.0

    Installation Guide:
    https://docs-multiplayer.unity3d.com/docs/migration/install

    Netcode for GameObjects version 1.0.0-pre is available now!! It is the first pre-release package of our team, and we are proud to give you the ability to play with it. We added lots of features and fixed many issues. We also decided to remove some of the not production-ready parts of our SDK to ensure a solid ground for your next awesome multiplayer game.

    Among the added features, you will find :
    • A Client Network Transform that allows you to control the transform client-side (yes, it is
    • finally interpolated)
    • New and improved scene management (yes, you finally can do additive scenes)
    • A tick system
    • OnNetworkDespawn that matches the OnNetworkSpawn (it was time)
    Head over here for the complete list.
     
    Last edited: Nov 12, 2021
  4. CreativeChris

    CreativeChris

    Joined:
    Jun 7, 2010
    Posts:
    457
    Netcode for GameObjects 1.0.1 has been released and is available on GitHub and the Unity Package Registry now.

    Highlights:
    • When using UnityTransport, reliable payloads are now allowed to exceed the configured 'Max Payload Size'. Unreliable payloads remain bounded by this setting.
    • Performance improvements for cases with large number of NetworkObjects, by not iterating over all unchanged NetworkObjects.
    • Many fixes.
    You can find the changelog here: https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/releases/tag/1.0.1

    Thanks,
    Chris
     
  5. CreativeChris

    CreativeChris

    Joined:
    Jun 7, 2010
    Posts:
    457
    Netcode for GameObjects 1.0.2 has been released. This is a hotfix containing fixes for NetworkTransform's interpolation and extrapolation logic. More details:

    Fixed
    • Fixed issue where NetworkTransform was not honoring the InLocalSpace property on the authority side during OnNetworkSpawn. (#2170)
    • Fixed issue where NetworkTransform was not ending extrapolation for the previous state causing non-authoritative instances to become out of synch. (#2170)
    • Fixed issue where NetworkTransform was not continuing to interpolate for the remainder of the associated tick period. (#2170)
    • Fixed issue during NetworkTransform.OnNetworkSpawn for non-authoritative instances where it was initializing interpolators with the replicated network state which now only contains the transform deltas that occurred during a network tick and not the entire transform state. (#2170)

    The release is available on GitHub and the Unity Package Registry now. You can find the changelog here: https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/releases/tag/ngo/1.0.2

    Thanks,
    Chris
     
  6. CreativeChris

    CreativeChris

    Joined:
    Jun 7, 2010
    Posts:
    457
    Netcode 1.1.0 is now released! A significant number of improvements were added, as well as changes and fixes. More details:

    Added
    • Added NetworkManager.IsApproved flag that is set to true a client has been approved.(#2261)
    • UnityTransport now provides a way to set the Relay server data directly from the RelayServerData structure (provided by the Unity Transport package) through its SetRelayServerData method. This allows making use of the new APIs in UTP 1.3 that simplifies the integration of the Relay SDK. (#2235)
    • IPv6 is now supported for direct connections when using UnityTransport. (#2232)
    • Added WebSocket support when using UTP 2.0 with UseWebSockets property in the UnityTransport component of the NetworkManager allowing to pick WebSockets for communication. When building for WebGL, this selection happens automatically. (#2201)
    • Added position, rotation, and scale to the ParentSyncMessage which provides users with the ability to specify the final values on the server side when OnNetworkObjectParentChanged is invoked just before the message is created (when the Transform values are applied to the message). (#2146)
    • Added NetworkObject.TryRemoveParent method for convenience purposes as opposed to having to cast null to either GameObject or NetworkObject. (#2146)
    Changed
    • Updated UnityTransport dependency on com.unity.transport to 1.3.0. (#2231)
    • The send queues of UnityTransport are now dynamically-sized. This means that there shouldn't be any need anymore to tweak the 'Max Send Queue Size' value. In fact, this field is now removed from the inspector and will not be serialized anymore. It is still possible to set it manually using the MaxSendQueueSize property, but it is not recommended to do so aside from some specific needs (e.g. limiting the amount of memory used by the send queues in very constrained environments). (#2212)
    • As a consequence of the above change, the UnityTransport.InitialMaxSendQueueSize field is now deprecated. There is no default value anymore since send queues are dynamically-sized. (#2212)
    • The debug simulator in UnityTransport is now non-deterministic. Its random number generator used to be seeded with a constant value, leading to the same pattern of packet drops, delays, and jitter in every run. (#2196)
    • NetworkVariable<> now supports managed INetworkSerializable types, as well as other managed types with serialization/deserialization delegates registered to UserNetworkVariableSerialization<T>.WriteValue and UserNetworkVariableSerialization<T>.ReadValue (#2219)
    • NetworkVariable<> and BufferSerializer<BufferSerializerReader> now deserialize INetworkSerializable types in-place, rather than constructing new ones. (#2219)
    And a fair number of fixes.

    The release is available on GitHub and the Unity Package Registry now. You can find the changelog here:
    https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/releases/tag/ngo/1.1.0

    Thanks,
    Chris
     
    RikuTheFuffs-U and alytvynenko like this.
  7. CreativeChris

    CreativeChris

    Joined:
    Jun 7, 2010
    Posts:
    457
    We are pleased to announce the release of the Multiplayer 1.1.0 Tools package.

    Metrics:
    Improve the warning message for throttling, and increase the threshold for throttling a metric from 100 to 1,000 recorded events per frame

    Misc:
    Fixed compilation warning related to unsupported build targets

    Network Simulator:
    This release adds the Network Simulator to the Multiplayer Tools Package. This tool offers a configurable component to simulate adverse network conditions. Packet delay, jitter, packet loss and loss interval are all parameters that can be configured to simulate different kinds of networks. A set of built-in network scenarios are provided to simulate more complex scenarios. User-defined scenarios are also supported.

    Network Simulator compatible with 2022+ with NGO 1.1 and UTP2.0 only.

    Runtime Net Stats Monitor:
    Graphs and Simple Moving Average counters can now be configured to be sampled per second rather than per-frame Fixed an issue where RNSM line graphs could retain incorrect maximum values in some cases. Please utilise the new dedicated multiplayer-tools channel for further discussions.

    Thanks!
     
    RikuTheFuffs-U and fauteux like this.
  8. CreativeChris

    CreativeChris

    Joined:
    Jun 7, 2010
    Posts:
    457
    Netcode 1.2.0 is now released! A significant number of improvements were added, as well as changes and fixes. More details:

    Added

    • Added protected method NetworkBehaviour.OnSynchronize which is invoked during the initial NetworkObject synchronization process. This provides users the ability to include custom serialization information that will be applied to the NetworkBehaviour prior to the NetworkObject being spawned. (#2298)
    • Added support for different versions of the SDK to talk to each other in circumstances where changes permit it. Starting with this version and into future versions, patch versions should be compatible as long as the minor version is the same. (#2290)
    • Added NetworkObject auto-add helper and Multiplayer Tools install reminder settings to Project Settings. (#2285)
    • Added public string DisconnectReason getter to NetworkManager and string Reason to ConnectionApprovalResponse. Allows connection approval to communicate back a reason. Also added public void DisconnectClient(ulong clientId, string reason) allowing setting a disconnection reason, when explicitly disconnecting a client. (#2280)
    Changed
    • Changed 3rd-party XXHash (32 & 64) implementation with an in-house reimplementation (#2310)
    • When NetworkConfig.EnsureNetworkVariableLengthSafety is disabled NetworkVariable fields do not write the additional ushort size value (which helps to reduce the total synchronization message size), but when enabled it still writes the additional ushort value. (#2298)
    • Optimized bandwidth usage by encoding most integer fields using variable-length encoding. (#2276)
    Fixed
    • Fixed issue where NetworkTransform components nested under a parent with a NetworkObject component (i.e. network prefab) would not have their associated GameObject's transform synchronized. (#2298)
    • Fixed issue where NetworkObjects that failed to instantiate could cause the entire synchronization pipeline to be disrupted/halted for a connecting client. (#2298)
    • Fixed issue where in-scene placed NetworkObjects nested under a GameObject would be added to the orphaned children list causing continual console warning log messages. (#2298)
    • Custom messages are now properly received by the local client when they're sent while running in host mode. (#2296)
    • Fixed issue where the host would receive more than one event completed notification when loading or unloading a scene only when no clients were connected. (#2292)
    • Fixed an issue in UnityTransport where an error would be logged if the 'Use Encryption' flag was enabled with a Relay configuration that used a secure protocol. (#2289)
    • Fixed issue where in-scene placed NetworkObjects were not honoring the AutoObjectParentSync property. (#2281)
    • Fixed the issue where NetworkManager.OnClientConnectedCallback was being invoked before in-scene placed NetworkObjects had been spawned when starting NetworkManager as a host. (#2277)
    • Creating a FastBufferReader with Allocator.None will not result in extra memory being allocated for the buffer (since it's owned externally in that scenario). (#2265)
    Removed
    • Removed the NetworkObject auto-add and Multiplayer Tools install reminder settings from the Menu interface. (#2285)
    The release is available on GitHub and the Unity Package Registry now. You can find the changelog here: https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/releases/tag/ngo/1.2.0

    Thanks!
     
    RikuTheFuffs likes this.
  9. CreativeChris

    CreativeChris

    Joined:
    Jun 7, 2010
    Posts:
    457
    Netcode For GameObjects ("NGO") 1.3.1 is now released!

    Here are the highlights:

    Added:
    • Added detection and graceful handling of corrupt packets for additional safety.
    Changed:
    • The UTP component UI has been updated to be more user-friendly for new users by adding a simple toggle to switch between local-only (127.0.0.1) and remote (0.0.0.0) binding modes, using the toggle "Allow Remote Connections".
    • Updated UnityTransport dependency on com.unity.transport to 1.3.3.
    • NetworkShow() of NetworkObjects are delayed until the end of the frame to ensure consistency of delta-driven variables like NetworkList. - Dirty NetworkObject are reset at end-of-frame and not at serialization time.
    • NetworkHide() of an object that was just NetworkShow()n produces a warning, as remote clients will not get a spawn/despawn pair.
    • Renamed the NetworkTransform.SetState parameter shouldGhostsInterpolate to teleportDisabled for better clarity of what that parameter does.
    • Network prefabs are now stored in a ScriptableObject that can be shared between NetworkManagers, and have been exposed for public access. By default, a Default Prefabs List is created that contains all NetworkObject prefabs in the project, and new NetworkManagers will default to using that unless that option is turned off in the Netcode for GameObjects settings. Existing NetworkManagers will maintain their existing lists, which can be migrated to the new format via a button in their inspector.
    Many fixes are included as well.

    The release is available on GitHub and the Unity Package Registry now, meaning you'll be able to see on the latest LTS versions.

    Read the full changelog here.

    Thanks!
     
  10. CreativeChris

    CreativeChris

    Joined:
    Jun 7, 2010
    Posts:
    457
    Hello

    Netcode for GameObjects 1.4.0 is now released!

    Highlights below

    Added
    • Added a way to access the GlobalObjectIdHash via PrefabIdHash for use in the Connection Approval Callback.
    • Added OnServerStarted and OnServerStopped events that will trigger only on the server (or host player) to notify that the server just started or is no longer active.
    • Added OnClientStarted and OnClientStopped events that will trigger only on the client (or host player) to notify that the client just started or is no longer active.
    • Added NetworkTransform.UseHalfFloatPrecision property that, when enabled, will use half float values for position, rotation, and scale. This yields a 50% bandwidth savings a the cost of precision.
    • Added NetworkTransform.UseQuaternionSynchronization property that, when enabled, will synchronize the entire quaternion.
    • Added NetworkTransform.UseQuaternionCompression property that, when enabled, will use a smallest three implementation reducing a full quaternion synchronization update to the size of an unsigned integer.
    • Added NetworkTransform.SlerpPosition property that, when enabled along with interpolation being enabled, will interpolate using Vector3.Slerp.
    • Added BufferedLinearInterpolatorVector3 that replaces the float version, is now used by NetworkTransform, and provides the ability to enable or disable Slerp.
    • Added HalfVector3 used for scale when half float precision is enabled.
    • Added HalfVector4 used for rotation when half float precision and quaternion synchronization is enabled.
    • Added HalfVector3DeltaPosition used for position when half float precision is enabled. This handles loss in position precision by updating only the delta position as opposed to the full position.
    • Added NetworkTransform.GetSpaceRelativePosition and NetworkTransform.GetSpaceRelativeRotation helper methods to return the proper values depending upon whether local or world space.
    • Added NetworkTransform.OnAuthorityPushTransformState virtual method that is invoked just prior to sending the NetworkTransformState to non-authoritative instances. This provides users with the ability to obtain more precise delta values for prediction related calculations.
    • Added NetworkTransform.OnNetworkTransformStateUpdated virtual method that is invoked just after the authoritative NetworkTransformState is applied. This provides users with the ability to obtain more precise delta values for prediction related calculations.
    • Added NetworkTransform.OnInitializevirtual method that is invoked after the NetworkTransform has been initialized or re-initialized when ownership changes. This provides for a way to make adjustments when NetworkTransform is initialized (i.e. resetting client prediction etc).
    • Added NetworkObject.SynchronizeTransform property (default is true) that provides users with another way to help with bandwidth optimizations where, when set to false, the NetworkObject's associated transform will not be included when spawning and/or synchronizing late joining players.
    • Added NetworkSceneManager.ActiveSceneSynchronizationEnabled property, disabled by default, that enables client synchronization of server-side active scene changes.
    • Added NetworkObject.ActiveSceneSynchronization, disabled by default, that will automatically migrate a NetworkObject to a newly assigned active scene.
    • Added NetworkObject.SceneMigrationSynchronization, enabled by default, that will synchronize client(s) when a NetworkObject is migrated into a new scene on the server side via SceneManager.MoveGameObjectToScene.
    Full changelog

    Thanks!
     
    tjumma, Lurking-Ninja and Mj-Kkaya like this.
  11. CreativeChris

    CreativeChris

    Joined:
    Jun 7, 2010
    Posts:
    457
    Netcode for GameObjects 1.5.1 is out now!

    A few things added, a bunch of fixes and some changes to be aware of, full changelog: https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/releases/tag/ngo/1.5.1

    and some highlights

    Added Added support for serializing NativeArray<> and NativeList<> in FastBufferReader/FastBufferWriter, BufferSerializer, NetworkVariable, and RPCs. (To use NativeList<>, add UNITY_NETCODE_NATIVE_COLLECTION_SUPPORT to your Scripting Define Symbols in Project Settings > Player)

    The location of the automatically-created default network prefab list can now be configured Added: Message size limits (max single message and max fragmented message) can now be set using NetworkManager.MaximumTransmissionUnitSize and NetworkManager.MaximumFragmentedMessageSize for transports that don't work with the default values

    Added NetworkObject.SpawnWithObservers property (default is true) that when set to false will spawn a NetworkObject with no observers and will not be spawned on any client until NetworkObject.NetworkShow is invoked.

    Thanks! ♥️
     
  12. CodeNinja-

    CodeNinja-

    Unity Technologies

    Joined:
    Feb 22, 2023
    Posts:
    27
    Netcode for GameObjects 1.5.2 is now available!

    This release contains the following fixes:
    • Fixed issue where
      NetworkClient.OwnedObjects
      was not returning any owned objects due to the
      NetworkClient.IsConnected
      not being properly set. (#2631)
    • Fixed a crash when calling TrySetParent with a null Transform (#2625)
    • Fixed issue where a
      NetworkTransform
      using full precision state updates was losing transform state updates when interpolation was enabled. (#2624)
    • Fixed issue where
      NetworkObject.SpawnWithObservers
      was not being honored for late joining clients. (#2623)
    • Fixed issue where invoking
      NetworkManager.Shutdown
      multiple times, depending upon the timing, could cause an exception. (#2622)
    • Fixed issue where removing ownership would not notify the server that it gained ownership. This also resolves the issue where an owner authoritative NetworkTransform would not properly initialize upon removing ownership from a remote client. (#2618)
    • Fixed ILPP issues when using CoreCLR and for certain dedicated server builds. (#2614)
    • Fixed an ILPP compile error when creating a generic NetworkBehaviour singleton with a static T instance. (#2603)
    Thanks!
     
    NotaNaN and Mj-Kkaya like this.
  13. CreativeChris

    CreativeChris

    Joined:
    Jun 7, 2010
    Posts:
    457
    Netcode for GameObjects 1.6.0 is out now!

    One add and a bunch of fixes, full changelog:
    https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/releases/tag/ngo/1.6.0

    Added
    • Added a protected virtual method NetworkTransform.OnInitialize(ref NetworkTransformState replicatedState) that just returns the replicated state reference.
    Fixed
    • Fixed issue where invoking NetworkManager.Shutdown within NetworkManager.OnClientStopped or NetworkManager.OnServerStopped would force NetworkManager.ShutdownInProgress to remain true after completing the shutdown process. (#2661)
    • An issue, where ARMv7 Android builds, would crash when trying to validate the batch header. (#2654)
    • Fixed issue with client synchronization of position when using half precision and the delta position reaches the maximum value and is collapsed on the host prior to being forwarded to the non-owner clients. (#2636)
    • Fixed issue with scale not synchronizing properly depending upon the spawn order of NetworkObjects. (#2636)
    • Fixed issue position was not properly transitioning between ownership changes with an owner authoritative NetworkTransform. (#2636)
    • Fixed issue where a late joining non-owner client could update an owner authoritative NetworkTransform if ownership changed without any updates to position prior to the non-owner client joining. (#2636)
    Thanks!
     
    Mj-Kkaya likes this.
  14. Kitty-Unity

    Kitty-Unity

    Unity Technologies

    Joined:
    May 18, 2021
    Posts:
    10
    Netcode for GameObjects 1.7.0 is out now! Major highlights of this release include:
    • Exposing methods and adding features to better support making custom NetworkVariable types supported by our code-generated serialization (NetworkVariableSerialization<T>)
    • Support for per-peer MTU settings to support custom transports that do MTU discovery
    • Better support for generic NetworkBehaviour types and for including RPCs in generic NetworkBehaviour types, including the use of generic types declared at the class level as RPC parameters
    • Better support for developing with domain reload and scene reload disabled
    • Fixes for various issues reported with the GlobalObjectIdHash
    • An update to our dependencies to use UTP 1.4
    • And various other small bugfixes
    Full changelog: https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/releases/tag/ngo/1.7.0
     
  15. CreativeChris

    CreativeChris

    Joined:
    Jun 7, 2010
    Posts:
    457
    Netcode for GameObjects 1.7.1 is out now! The release is to address a critical bug discovered.

    Fixed
    • Fixed a bug where having a class with Rpcs that inherits from a class without Rpcs that inherits from NetworkVariable would cause a compile error.
    • Fixed issue where NetworkBehaviour.Synchronize was not truncating the write buffer if nothing was serialized during NetworkBehaviour.OnSynchronize causing an additional 6 bytes to be written per NetworkBehaviour component instance.
    Thanks!
     
  16. Kitty-Unity

    Kitty-Unity

    Unity Technologies

    Joined:
    May 18, 2021
    Posts:
    10
    Netcode for GameObjects 1.8.0 is out now!

    This release brings an important new feature: universal RPCs, which extend the capabilities of current ServerRpc and ClientRpc to allow for a number of different RPC targets beyond just "server" and "clients", and enable clients to directly send RPCs to each other by proxying an RPC through the server. Universal RPCs also add additional features, such as being able to delay local invocation of an RPC, such as when a server sends an RPC to the host client. More information on universal RPCs can be found here: https://docs-multiplayer.unity3d.com/netcode/current/advanced-topics/message-system/rpc/

    Other highlights include:
    • An improved server/host shutdown sequence to help ensure all clients are properly notified of the disconnect and can shut down cleanly
    • Added a new universal connection event callback, which unifies current connection callbacks and also allows clients to get information about when other peer clients connect and disconnect (
      NetworkManager.OnConnectionEvent
      )
    • Exposed the current list of connection IDs on the client side via
      NetworkManager.ConnectedClientIds
    • Various performance and reliability improvements to
      NetworkTransform
    • Various fixes and improvements to scene management, particularly relating to initialization and shutdown of NetworkObjects

    Full changelog: https://github.com/Unity-Technologi....0/com.unity.netcode.gameobjects/CHANGELOG.md
     
    BSimonSweet and Luemus like this.
  17. Kitty-Unity

    Kitty-Unity

    Unity Technologies

    Joined:
    May 18, 2021
    Posts:
    10
Thread Status:
Not open for further replies.