Skip to content

Releases: Unity-Technologies/com.unity.netcode.gameobjects

v2.9.2

13 Feb 00:59

Choose a tag to compare

[2.9.2] - 2025-02-11

Fixed

  • Fixed issue where NetworkVariable was not properly synchronizing to changes made by the spawn and write authority during OnNetworkSpawn and OnNetworkPostSpawn. (#3878)

v2.8.2

13 Feb 00:52

Choose a tag to compare

[2.8.2] - 2025-02-11

Fixed

  • Fixed issue where NetworkVariable was not properly synchronizing to changes made by the spawn and write authority during OnNetworkSpawn and OnNetworkPostSpawn. (#3878)

v2.9.1

13 Feb 00:57

Choose a tag to compare

[2.9.1] - 2026-02-05

Changed

  • Updating usage of deprecated FindObjectsByType(FindObjectsSortMode) and enum FindObjectSortMode in 6000.4 and 6000.5. (#3857)

v2.9.0

04 Feb 11:32

Choose a tag to compare

[2.9.0] - 2026-02-01

Added

  • Added stricter checks on InSpawned within NetworkObject. (#3831)
  • Added a new InvalidOperation status to OwnershipRequestStatus. (#3831)

Changed

  • Ensure logs in NetworkObject log the NetworkObject.name wherever possible. (#3283)
  • Improved performance of NetworkBehaviour ILPostProcessor by omitting unnecessary type and assembly resolutions. (#3827)
  • Improve performance of NetworkObject. (#3820, #3831)
  • If the Unity Transport Disconnect Timeout is set to 0 in the Editor, the timeout will be entirely disabled. (#3810)

Fixed

  • Duplicate transport connection events for the same connection will now do nothing. (#3861)
  • Fixed memory leak in NetworkAnimator on clients where RpcTarget groups were not being properly disposed due to incorrect type casting of ProxyRpcTargetGroup to RpcTargetGroup.
  • Fixed issue when using a client-server topology where a NetworkList with owner write permissions was resetting sent time and dirty flags after having been spawned on owning clients that were not the spawn authority. (#3850)
  • Fixed an integer overflow that occurred when configuring a large disconnect timeout with Unity Transport. (#3810)

v2.8.1

26 Jan 21:16

Choose a tag to compare

[2.8.1] - 2025-01-23

Fixed

Fixed issue when using a client-server topology where a NetworkList with owner write permissions was resetting sent time and dirty flags after having been spawned on owning clients that were not the spawn authority. (#3850)

v2.8.0

08 Jan 15:57

Choose a tag to compare

[2.8.0] - 2025-12-15

Added

  • It is now possible to control which port clients will bind to using the UnityTransport.ConnectionData.ClientBindPort field. If not set, clients will bind to an ephemeral port (same as before this change). (#3764)
  • Added a flag to override command-line arguments (port and ip) in SetConnectionData. (#3760)
  • Added a command-line singleton to parse environment command-line arguments. (#3760)
  • Added NetworkAnimator.AuthorityMode which allows you to select whether the NetworkAnimator will use a server or owner authority model for state updates (like NetworkTransform). (#3586)
  • Added the ability to select which Animator parameters the authority NetworkAnimator instance should synchronize. This can be done via the inspector view interface or during runtime via NetworkAnimator.EnableParameterSynchronization. (#3586)

Changed

  • Improve performance of ParentSyncMessage. (#3814)
  • Improve performance of DestroyObjectMessage. (#3801)
  • Improve performance of CreateObjectMessage. (#3800)
  • First pass of CoreCLR engine API changes. (#3799)
  • Changed when a server is disconnecting a client with a reason it now defers the complete transport disconnect sequence until the end of the frame after the server's transport has sent all pending outbound messages. (#3786)
  • Improve performance of NetworkTransformState. (#3770)
  • Changed NetworkAnimator to use the RpcAttribute along with the appropriate SendTo parameter. (#3586)

Fixed

  • Ensure NetworkBehaviour.IsSessionOwner is correctly set when a new session owner is promoted. (#3817)
  • Fixed issue where spawning a player in distributed authority mode via a client, typically session owner, other than the newly connected client and scene management is disabled then the already spawned players will not properly get synchronized by each owning client due to the newly connected client's identifier already being added prior to synchronization. (#3816)
  • Reset extended ownership flags on NetworkObject despawn. (#3817)
  • Fixed issues with the "Client-server quickstart for Netcode for GameObjects" script having static methods and properties. (#3787)
  • Fixed issue where a warning message was being logged upon a client disconnecting from a server when the log level is set to developer. (#3786)
  • Fixed issue where the server or host would no longer have access to the transport id to client id table when processing a transport level client disconnect event. (#3786)
  • Fixed issue where invoking an RPC, on another NetworkBehaviour associated with the same NetworkObject that is ordered before the NetworkBehaviour invoking the RPC, during OnNetworkSpawn could throw an exception if scene management is disabled. (#3782)
  • Fixed issue where the Axis to Synchronize toggles didn't work with multi object editing in NetworkTransform. (#3781)
  • Fixed issue where using the dedicated server package would override all attempts to change the port by code. (#3760)
  • Fixed issue with authority animator instance sending itself RPCs. (#3586)

v1.15.0

19 Nov 15:43

Choose a tag to compare

[1.15.0] - 2025-11-14

Changed

  • Better error message when using generic IEquatable in a generic INetworkSerializable class and updated documentation with workaround. (#3744)
  • The NetworkManager functions GetTransportIdFromClientId and GetClientIdFromTransportId will now return ulong.MaxValue when the clientId or transportId do not exist. (#3721)
  • Changed minimum Unity version supported to 2022.3 LTS

Fixed

  • Multiple disconnect events from the same transport will no longer disconnect the host. (#3721)
  • Exception when the network prefab list in the network manager has uninitialized elements. (#3744)

v2.7.0

03 Nov 19:47
b1ca571

Choose a tag to compare

[2.7.0] - 2025-10-27

Added

  • RpcInvokePermission to control who has permission to invoke specific RPC methods. (#3731)
  • Added NetworkRigidbody documentation section. (#3664)
  • Added new fields to the SceneMap struct when using Unity 6.3 or higher. These fields allow referencing scene handles via the new SceneHandle struct. (#3734)

Changed

  • Better error message when using generic IEquatable in a generic INetworkSerializable class and updated documentation with workaround. (#3739)
  • The NetworkManager functions GetTransportIdFromClientId and GetClientIdFromTransportId will now return ulong.MaxValue when the clientId or transportId do not exist. (#3707)
  • Changed NetworkShow to send a message at the end of the frame and force a NetworkVariable synchronization prior to generating the CreateObjectMessage as opposed to waiting until the next network tick to synchronize the show with the update to NetworkVariables. (#3664)
  • Changed NetworkTransform now synchronizes NetworkTransform.SwitchTransformSpaceWhenParented when it is updated by the motion model authority. (#3664)
  • Changed when NetworkObjects pending to be shown to clients can now occur on partial network ticks. If any pending NetworkObjects pending to be shown to clients happens to be ready on a new network tick they still are shown after network variable deltas have been processed. (#3664)
  • Changed the default NetworkDelivery used by all messages is now reliable fragmented sequenced with the exception of named, unnamed, and any messages sent with a user specified network delivery type. This assures certain order of operations to be preserved when same call-stack changes are applied to a newly spawned, authority side, NetworkObject. (#3664)
  • Changed NetworkTransform documentation to better reflect the Teleport methods intended usage along with updates to NetworkObject and physics areas of the documentation. (#3664)
  • The first session owner no longer sends two synchronization messages to the service. (#3563)
  • Updated transport dependency of the package to 2.6.0 (#3736)

Deprecated

  • Deprecated all RequireOwnership fields around the RPCs in favor of the RpcInvokePermission. (#3731)
  • On Unity 6.5 some SceneMap fields that use an int to represent a SceneHandle are deprecated. (#3734)

Removed

  • Removed usage of UNITY_UNET_PRESENT define (#3736)

Fixed

  • Initialization errors with NetworkAnimator. (#3767)
  • Multiple disconnect events from the same transport will no longer disconnect the host. (#3707)
  • Fixed NetworkTransform state synchronization issue when NetworkTransform.SwitchTransformSpaceWhenParented is enabled and the associated NetworkObject is parented multiple times in a single frame or within a couple of frames. (#3664)
  • Fixed issue when spawning, parenting, and immediately re-parenting when NetworkTransform.SwitchTransformSpaceWhenParented is enabled. (#3664)
  • Fixed issue where the disconnect event and provided message was too generic to know why the disconnect occurred. (#3551)
  • Exception when the network prefab list in the network manager has uninitialized elements. (#3739)

v2.6.0

16 Oct 16:22
a0231c6

Choose a tag to compare

[2.6.0] - 2025-10-11

Added

  • NetworkSceneManager as an internal wrapper for the SceneManager.Scene.handle and swapped all places that use an int to represent a Scene.handle to instead use the NetworkSceneManager. (#3647)
  • Clicking on the Help icon in the inspector will now redirect to the relevant documentation. (#3663)
  • Added a Set function onto NetworkList that takes an optional parameter that forces an update to be processed even if the current value is equal to the previous value. (#3690)

Changed

  • Improved performance of the NetworkVariable. (#3683)
  • Improved performance around the NetworkBehaviour component. (#3687)

Fixed

  • Distributed authority clients no longer send themselves in the ClientIds list when sending a ChangeOwnershipMessage. (#3687)
  • Made a variety of small performance improvements. (#3683)

v2.5.1

15 Sep 12:50

Choose a tag to compare

[2.5.1] - 2025-09-13

Added

  • Added a warning when NetworkManager.NetworkConfig.ConnectionApproval is set in a distributed authority context. (#3658)

Fixed

  • Fixed issue where a client, under above average latency and packet loss conditions, could receive multiple NetworkTransform state updates in one frame and when processing the state updates only the last state update would be applied to the transform if interpolation was disabled. (#3614)