Skip to content

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

v3.1.0

Choose a tag to compare

@michalChrobot michalChrobot released this 05 Oct 11:43

Changed

  • Updated Netcode for Entities dependency to 7.1.0

v2.13.3

Choose a tag to compare

@michalChrobot michalChrobot released this 21 Sep 11:48

[2.13.3] - 2026-09-14

Changed

  • Changed NetworkTransform.UseHalfFloatPrecision to synchronize position with a resolution of approximately 1mm regardless of how far an object has travelled. Previously the resolution could degrade to approximately 3cm. This does not increase bandwidth, but projects using NetworkTransform.UseUnreliableDeltas will send full precision position updates more often. (#4128)

Fixed

  • Fixed issue where scenes additively loaded before a session started were tracked as loaded on the server but had no scene handle entries, which caused NetworkSceneManager.UnloadScene to log an error and leave the scene registered as loaded even though it unloaded on all peers. (#4014)
  • Issue where NetworkTransform interpolated towards a point in time taken from the local clock rather than the server clock that state updates are stamped on, which starved the interpolator on clients and reduced interpolation to snapping between state updates. (#4133)
  • Issue where NetworkTransform.GetTickLatencyInSeconds returned an absolute network timestamp that grew for as long as the session ran, rather than the tick latency as a duration in seconds that it is documented to return. (#4133)
  • Issue where lerp smoothing was applied per frame instead of over time, which caused the Lerp and SmoothDampening interpolation types to smooth by different amounts at different frame rates. Results at 60fps are unchanged. (#4130)
  • Issue where setting a maximum interpolation time of 1.0 would stop a NetworkTransform from interpolating at all when using the Lerp or SmoothDampening interpolation types. (#4130)
  • Issue where objects using NetworkTransform.UseHalfFloatPrecision appeared to jitter on non-authority instances while they were stationary or coming to rest, even though the authority was not moving them. (#4128)

v3.0.0

Choose a tag to compare

@michalChrobot michalChrobot released this 21 Sep 11:52

[3.0.0] - 2026-09-14

Added

  • Netcode for Entities (com.unity.netcode 7.0.0) is now a hard dependency, so installing Netcode for GameObjects also brings it, and its own dependencies (Entities, Burst, Collections), into the project.

Changed

  • All editor assembly definitions are renamed with Unity.Netcode.GameObjects.x variants
Unity.Netcode.Editor → Unity.Netcode.GameObjects.Editor
Unity.Netcode.Editor.CodeGen → Unity.Netcode.GameObjects.Editor.CodeGen
Unity.Netcode.Editor.PackageChecker → Unity.Netcode.GameObjects.Editor.PackageChecker
Unity.Netcode.Editor.Tests → Unity.Netcode.GameObjects.Editor.Tests
  • The timing types moved out of the Unity.Netcode namespace into Unity.Netcode.GameObjects.Timing. The assembly is unchanged, and existing scripts are migrated automatically when the package is upgraded. The exception is a reference another installed package still resolves under Unity.Netcode: the updater only rewrites references that fail to resolve, so those have to be updated by hand. A reference reached through a namespace alias is also left alone, and reports as a compile error naming the type.
Unity.Netcode.NetworkTime → Unity.Netcode.GameObjects.Timing.NetworkTime
Unity.Netcode.NetworkTimeSystem → Unity.Netcode.GameObjects.Timing.NetworkTimeSystem
Unity.Netcode.NetworkTickSystem → Unity.Netcode.GameObjects.Timing.NetworkTickSystem

Deprecated

  • Several APIs that were already marked [Obsolete] with a warning now raise a compile error instead (they are not removed yet).

v2.13.2

Choose a tag to compare

@michalChrobot michalChrobot released this 25 Aug 12:06

[2.13.2] - 2026-08-16

Fixed

  • Issue where in a distributed authority session changing a NetworkVariable prior to changing ownership in the same call-stack would result in the NetworkVariable not being synchronized. (#4107)
  • Resolved GC allocations in some hot paths. (#4119)
  • Issue with not being able to spawn initially disabled in-scene placed objects. (#4019)
  • Issue with pre-instantiated network prefab instances being marked as in-scene placed. Now pre-instantiated network prefabs are dynamically spawned. (#4093)
  • Issue where a user could spawn runtime created NetworkObject that has a GlobalObjectIdHash of zero. These are not valid instances and will no longer be allowed to spawn. (#4093)

v2.13.1

Choose a tag to compare

@michalChrobot michalChrobot released this 24 Jul 12:20

[2.13.1] - 2026-07-19

Added

  • Single player session section to provide users with information about SinglePlayerTransport and an example script of how to switch between single and multi player sessions. (#4062)

Fixed

  • Issue where NetworkAnimator did no bounds check on the parameter index read prior to obtaining a pointer to the location within the array. (#4090)
  • Issue where scene migration in a distributed authority session would throw an exception on clients migrating their owned NetworkObject instances to a different scene.(#4086)
  • Issue where migrating a dynamically spawned or in-scene placed NetworkObject into a different scene during awake could result in that spawned instance to not be synchronized. (#4086)
  • Issue where a NullReferenceException was thrown when a non-authority failed to spawn a NetworkObject. (#4067)
  • Issue where the active scene was not being serialized as the 1st scene which could result in various errors including a soft synchronization error if, on the client-side, other synchronized scenes had already been loaded prior to the active scene, which is always loaded as LoadSceneMode.SingleMode when client synchronization is set to LoadSceneMode.SingleMode, resulting in the previously loaded scene(s) to be unloaded. (#4065)
  • Issue when FastBufferReader is attempting to read a string and all or a portion of the character count has already been read by user script, it could read a character length that results in a negative byte length which could result in an editor crash. (#4052)
  • Issue where NetworkRigidbodyBase was not applying rotation correctly when using Rigidbody2D. (#4012)
  • Issue where NetworkRigidbodyBase was always checking the 3D rigid body's interpolation mode when determining if it is kinematic and needs to put the rigid body to sleep and then switch to interpolation. (#4012)
  • Fixed AnticipatedNetworkTransform not respecting the InLocalSpace flag. (#3995)

v2.13.0

Choose a tag to compare

@michalChrobot michalChrobot released this 22 Jun 08:30

[2.13.0] - 2026-06-21

Added

  • Added support for Unity's Fast Enter Play Mode with domain reload disabled. (#3956)
  • RPC messages now log any time they are not processed. (#3994)

Changed

  • Changed replaced define usages of DEVELOPMENT_BUILD || UNITY_EDITOR and a few niche uses of DEVELOPMENT_BUILD with DEBUG. (#4006)

Deprecated

  • Deprecated the nullable boolean NetworkObject.IsSceneObject and introduced NetworkObject.InScenePlaced. (#4000)

v2.12.0

Choose a tag to compare

@michalChrobot michalChrobot released this 02 Jun 08:40

[2.12.0] - 2026-05-24

Added

  • Added a new variant of UnityTransport.GetDefaultPipelineConfigurations that takes a reference to the created NetworkDriver. This will register all pipeline stages that UnityTransport requires, removing the need to manually register them in your own custom driver constructor. (#3980)

Changed

  • NetworkMetricsPipelineStage is now defined even when the multiplayer tools package is not installed, removing the need to guard its registration behind a version define when using a custom driver in UnityTransport. (#3980)

Deprecated

  • Deprecated a number of methods that were no longer valid or being used. (#3987)

v2.11.2

Choose a tag to compare

@NoelStephensUnity NoelStephensUnity released this 01 May 21:57

[2.11.2] - 2026-05-01

Fixed

  • Fixed issue where if the NetworkManager player prefab is not assigned an exception is thrown upon starting a host and/or when a client joins. (#3965)

v2.11.1

Choose a tag to compare

@SamuelBellomo SamuelBellomo released this 29 Apr 20:31

[2.11.1] - 2026-04-26

Added

  • Better context aware logging (#3944)

Changed

  • Improve handling of destroyed NetworkBehaviours. The collection of which NetworkBehaviours belong to a NetworkObject is now a Dictionary giving stable lookup. (#3953)
  • Hardened error handling and recovery during NetworkObject spawn. (#3941)
  • Replaced Debug usage by NetcodeLog on NetworkSpawnManager and NetworkObject. (#3933)
  • Improved performance of NetworkBehaviour. (#3915)
  • Improved performance of NetworkTransform. (#3907)
  • Improved performance of NetworkRigidbodyBase. (#3906)
  • Improved performance of NetworkAnimator. (#3905)
  • Small cleanup and replaced Debug usage by NetcodeLog on NetworkSpawnManager and NetworkObject. (#3933)

Removed

  • Removed un-needed exceptions on NetworkSpawnManager. (#3933)

Fixed

  • Fixed issue where either an AttachableBehaviour or an AttachableNode can throw an exception if they are attached during a scene unload where one of the two persists the scene unload event and the other does not. (#3931)
  • Fixed issue where attempts to use NetworkLog when there is no NetworkManager instance would result in an exception. (#3917)
  • CreateObject and DestroyObject messages will now be properly deferred while the client is still connecting (#3941)
  • Resources will be properly cleaned up when an object spawn fails (#3941)
  • Non-authority client will now always have the OnSceneEvent callback triggered with the Synchronize event when starting to process the Synchronize message from the scene authority (#3941)

v2.11.0

Choose a tag to compare

@michalChrobot michalChrobot released this 23 Mar 11:03

[2.11.0] - 2026-03-19

Added

  • Added a WebSocketPath field to UnityTransport.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. (#3903)
  • NetworkTransport.EarlyUpdate and NetworkTransport.PostLateUpdate are now public. For the vast majority of users, there's really no point in ever calling those methods directly (the NetworkManager handles it). It's only useful if wrapping transports outside of NGO. (#3890)

Fixed

  • Fixed issue where starting the NetworkManager within OnClientStopped or OnServerStopped resulted in a broken NetworkManager state. (#3908)
  • Fixed issue where an attachable could log an error upon being de-spawned during shutdown. (#3589)
  • NestedNetworkVariables initialized with no value no longer throw an error. (#3891)
  • Fixed NetworkShow behavior when it is called twice. (#3867)

Removed

  • Removed un-needed exceptions on NetworkObject.cs. (#3867)

Obsolete

  • NotListeningException is now marked as obsolete as it is no longer used internally. (#3867)