Releases: needle-mirror/com.unity.netcode.gameobjects
2.11.0
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
Additional documentation and release notes are available at Multiplayer Documentation.
[2.11.0] - 2026-03-19
Added
- Added a
WebSocketPathfield toUnityTransport.ConnectionData(which also shows up in the inspector if "Use WebSockets" is checked) that controls the path clients will connect to and servers/hosts will listen on when using WebSockets. (#3901) NetworkTransport.EarlyUpdateandNetworkTransport.PostLateUpdateare now public. For the vast majority of users, there's really no point in ever calling those methods directly (theNetworkManagerhandles it). It's only useful if wrapping transports outside of NGO. (#3890)
Removed
- Removed un-needed exceptions on
NetworkObject.cs. (#3867)
Fixed
- Fixed issue where an attachable could log an error upon being de-spawned during shutdown. (#3895)
- NestedNetworkVariables initialized with no value no longer throw an error. (#3891)
- Fixed
NetworkShowbehavior when it is called twice. (#3867)
Obsolete
NotListeningExceptionis now marked as obsolete as it is no longer used internally. (#3867)
2.10.0
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
Additional documentation and release notes are available at Multiplayer Documentation.
[2.10.0] - 2026-03-01
Added
- The
NetworkMetricsPipelineStagefor Unity Transport is now part of the public API. This allows using it in custom implementations ofINetworkStreamDriverConstructorthat want to maintain compatibility with the multiplayer tools package. (#3853)
Changed
- Updating usage of deprecated
FindObjectsByType(FindObjectsSortMode)and enumFindObjectSortModein 6000.4 and 6000.5. (#3857)
Fixed
- Fixed
NetworkTransformissue where a user could enable UseUnreliableDeltas while SwitchTransformSpaceWhenParented was also enabled (and vice versa). (#3875) - Fixed issue where
NetworkVariablewas not properly synchronizing to changes made by the spawn and write authority duringOnNetworkSpawnandOnNetworkPostSpawn. (#3878) - Fixed issue where
NetworkManagerwas not cleaning itself up if an exception was thrown while starting. (#3864) - Prevented a
NullReferenceExceptioninUnityTransportwhen using a customINetworkStreamDriverConstructorthat doesn't use all the default pipelines and the multiplayer tools package is installed. (#3853)
2.9.1
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
Additional documentation and release notes are available at Multiplayer Documentation.
[2.9.1] - 2026-02-05
Changed
- Updating usage of deprecated
FindObjectsByType(FindObjectsSortMode)and enumFindObjectSortModein 6000.4 and 6000.5. (#3857)
2.9.0
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
Additional documentation and release notes are available at Multiplayer Documentation.
[2.9.0] - 2026-02-01
Added
- Added stricter checks on
InSpawnedwithinNetworkObject. (#3831) - Added a new
InvalidOperationstatus toOwnershipRequestStatus. (#3831)
Changed
- Ensure logs in
NetworkObjectlog theNetworkObject.namewherever possible. (#3831) - 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. (#3863)
- Fixed memory leak in
NetworkAnimatoron clients whereRpcTargetgroups were not being properly disposed due to incorrect type casting ofProxyRpcTargetGrouptoRpcTargetGroup. - Fixed issue when using a client-server topology where a
NetworkListwith 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)
1.15.1
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
Additional documentation and release notes are available at Multiplayer Documentation.
[1.15.1] - 2026-01-21
Fixed
- general documentation update
2.8.0
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
Additional documentation and release notes are available at Multiplayer Documentation.
[2.8.0] - 2025-12-15
Added
- It is now possible to control which port clients will bind to using the
UnityTransport.ConnectionData.ClientBindPortfield. 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.AuthorityModewhich allows you to select whether theNetworkAnimatorwill use a server or owner authority model for state updates (likeNetworkTransform). (#3586) - Added the ability to select which
Animatorparameters the authorityNetworkAnimatorinstance should synchronize. This can be done via the inspector view interface or during runtime viaNetworkAnimator.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
RpcAttributealong with the appropriateSendToparameter. (#3586)
Fixed
- Ensure
NetworkBehaviour.IsSessionOwneris 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
NetworkObjectdespawn. (#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
NetworkBehaviourassociated with the sameNetworkObjectthat is ordered before theNetworkBehaviourinvoking the RPC, duringOnNetworkSpawncould throw an exception if scene management is disabled. (#3782) - Fixed issue where the
Axis to Synchronizetoggles didn't work with multi object editing inNetworkTransform. (#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)
1.15.0
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
Additional documentation and release notes are available at Multiplayer Documentation.
[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
NetworkManagerfunctionsGetTransportIdFromClientIdandGetClientIdFromTransportIdwill now returnulong.MaxValuewhen 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)
2.7.0
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
Additional documentation and release notes are available at Multiplayer Documentation.
[2.7.0] - 2025-10-27
Added
RpcInvokePermissionto control who has permission to invoke specific RPC methods. (#3731)- Added NetworkRigidbody documentation section. (#3664)
- Added new fields to the
SceneMapstruct when using Unity 6.3 or higher. These fields allow referencing scene handles via the newSceneHandlestruct. (#3734)
Changed
- Better error message when using generic IEquatable in a generic INetworkSerializable class and updated documentation with workaround. (#3739)
- The
NetworkManagerfunctionsGetTransportIdFromClientIdandGetClientIdFromTransportIdwill now returnulong.MaxValuewhen 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.SwitchTransformSpaceWhenParentedwhen 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
NetworkDeliveryused 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)
2.6.0
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
Additional documentation and release notes are available at Multiplayer Documentation.
[2.6.0] - 2025-10-11
Added
NetworkSceneManageras an internal wrapper for theSceneManager.Scene.handleand swapped all places that use anintto represent aScene.handleto instead use theNetworkSceneManager. (#3647)- Clicking on the Help icon in the inspector will now redirect to the relevant documentation. (#3663)
- Added a
Setfunction ontoNetworkListthat 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
ClientIdslist when sending aChangeOwnershipMessage. (#3687) - Made a variety of small performance improvements. (#3683)
2.5.1
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
Additional documentation and release notes are available at Multiplayer Documentation.
[2.5.1] - 2025-09-13
Added
- Added a warning when
NetworkManager.NetworkConfig.ConnectionApprovalis 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)