Skip to content

Releases: needle-mirror/com.unity.netcode.gameobjects

2.2.0

16 Dec 17:01
Compare
Choose a tag to compare

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.2.0] - 2024-12-12

Added

  • Added NetworkObject.OwnershipStatus.SessionOwner to allow Network Objects to be distributable and only owned by the Session Owner. This flag will override all other OwnershipStatus flags. (#3175)
  • Added UnityTransport.GetEndpoint method to provide a way to obtain NetworkEndpoint information of a connection via client identifier. (#3130)
  • Added NetworkTransport.OnEarlyUpdate and NetworkTransport.OnPostLateUpdate methods to provide more control over handling transport related events at the start and end of each frame. (#3113)

Fixed

  • Fixed issue where the server, host, or session owner would not populate the in-scene place NetworkObject table if the scene was loaded prior to starting the NetworkManager. (#3177)
  • Fixed issue where the NetworkObjectIdHash value could be incorrect when entering play mode while still in prefab edit mode with pending changes and using MPPM. (#3162)
  • Fixed issue where a sever only NetworkManager instance would spawn the actual NetworkPrefab's GameObject as opposed to creating an instance of it. (#3160)
  • Fixed issue where only the session owner (as opposed to all clients) would handle spawning prefab overrides properly when using a distributed authority network topology. (#3160)
  • Fixed issue where an exception was thrown when calling NetworkManager.Shutdown after calling UnityTransport.Shutdown. (#3118)
  • Fixed issue where NetworkList properties on in-scene placed NetworkObjects could cause small memory leaks when entering playmode. (#3147)
  • Fixed in-scene NertworkObject synchronization issue when loading a scene with currently connected clients connected to a session created by a NetworkManager started as a server (i.e. not as a host). (#3133)
  • Fixed issue where a NetworkManager started as a server would not add itself as an observer to in-scene placed NetworkObjects instantiated and spawned by a scene loading event. (#3133)
  • Fixed issue where spawning a player using NetworkObject.InstantiateAndSpawn or NetworkSpawnManager.InstantiateAndSpawn would not update the NetworkSpawnManager.PlayerObjects or assign the newly spawned player to the NetworkClient.PlayerObject. (#3122)
  • Fixed issue where queued UnitTransport (NetworkTransport) message batches were being sent on the next frame. They are now sent at the end of the frame during PostLateUpdate. (#3113)
  • Fixed issue where NotOwnerRpcTarget or OwnerRpcTarget were not using their replacements NotAuthorityRpcTarget and AuthorityRpcTarget which would invoke a warning. (#3111)
  • Fixed issue where client is removed as an observer from spawned objects when their player instance is despawned. (#3110)
  • Fixed issue where NetworkAnimator would statically allocate write buffer space for Animator parameters that could cause a write error if the number of parameters exceeded the space allocated. (#3108)

Changed

  • In-scene placed NetworkObjects have been made distributable when balancing object distribution after a connection event. (#3175)
  • Optimised NetworkVariable and NetworkTransform related packets when in Distributed Authority mode.
  • The Debug Simulator section of the Unity Transport component was removed. This section was not functional anymore and users are now recommended to use the more featureful Network Simulator tool from the Multiplayer Tools package instead. (#3121)

1.12.0

13 Dec 17:02
Compare
Choose a tag to compare

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.12.0] - 2024-11-19

Added

  • Added UnityTransport.GetEndpoint method to provide a way to obtain NetworkEndpoint information of a connection via client identifier. (#3131)
  • Added a static NetworkManager.OnInstantiated event notification to be able to track when a new NetworkManager instance has been instantiated. (#3089)
  • Added a static NetworkManager.OnDestroying event notification to be able to track when an existing NetworkManager instance is being destroyed. (#3089)
  • Added message size validation to named and unnamed message sending functions for better error messages. (#3043)
  • Added "Check for NetworkObject Component" property to the Multiplayer->Netcode for GameObjects project settings. When disabled, this will bypass the in-editor NetworkObject check on NetworkBehaviour components. (#3034)

Fixed

  • Fixed issue where NetworkList properties on in-scene placed NetworkObjects could cause small memory leaks when entering playmode. (#3148)
  • Fixed issue where a newly synchronizing client would be synchronized with the current NetworkVariable values always which could cause issues with collections if there were any pending state updates. Now, when initially synchronizing a client, if a NetworkVariable has a pending state update it will serialize the previously known value(s) to the synchronizing client so when the pending updates are sent they aren't duplicate values on the newly connected client side. (#3126)
  • Fixed issue where changing ownership would mark every NetworkVariable dirty. Now, it will only mark any NetworkVariable with owner read permissions as dirty and will send/flush any pending updates to all clients prior to sending the change in ownership message. (#3126)
  • Fixed issue with NetworkVariable collections where transferring ownership to another client would not update the new owner's previous value to the most current value which could cause the last/previous added value to be detected as a change when adding or removing an entry (as long as the entry removed was not the last/previously added value). (#3126)
  • Fixed issue where a client (or server) with no write permissions for a NetworkVariable using a standard .NET collection type could still modify the collection which could cause various issues depending upon the modification and collection type. (#3126)
  • Fixed issue where NetworkAnimator would statically allocate write buffer space for Animator parameters that could cause a write error if the number of parameters exceeded the space allocated. (#3124)
  • Fixed issue with the in-scene network prefab instance update menu tool where it was not properly updating scenes when invoked on the root prefab instance. (#3084)
  • Fixed issue where NetworkAnimator would send updates to non-observer clients. (#3058)
  • Fixed issue where an exception could occur when receiving a universal RPC for a NetworkObject that has been despawned. (#3055)
  • Fixed issue where setting a prefab hash value during connection approval but not having a player prefab assigned could cause an exception when spawning a player. (#3046)
  • Fixed issue where collections v2.2.x was not supported when using UTP v2.2.x within Unity v2022.3. (#3033)
  • Fixed issue where the NetworkSpawnManager.HandleNetworkObjectShow could throw an exception if one of the NetworkObject components to show was destroyed during the same frame. (#3029)
  • Fixed issue where the NetworkManagerHelper was continuing to check for hierarchy changes when in play mode. (#3027)

Changed

  • Changed NetworkVariableDeltaMessage so the server now forwards delta state updates (owner write permission based from a client) to other clients immediately as opposed to keeping a NetworkVariable or NetworkList dirty and processing them at the end of the frame or potentially on the next network tick. (#3126)
  • The Debug Simulator section of the Unity Transport component will now be hidden if Unity Transport 2.0 or later is installed. It was already non-functional in that situation and users should instead use the more featureful Network Simulator tool from the Multiplayer Tools package. (#3120)

2.1.1

21 Oct 10:02
Compare
Choose a tag to compare

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.1.1] - 2024-10-18

Added

  • Added ability to edit the NetworkConfig.AutoSpawnPlayerPrefabClientSide within the inspector view. (#3097)
  • Added IContactEventHandlerWithInfo that derives from IContactEventHandler that can be updated per frame to provide ContactEventHandlerInfo information to the RigidbodyContactEventManager when processing collisions. (#3094)
    • ContactEventHandlerInfo.ProvideNonRigidBodyContactEvents: When set to true, non-Rigidbody collisions with the registered Rigidbody will generate contact event notifications. (#3094)
    • ContactEventHandlerInfo.HasContactEventPriority: When set to true, the Rigidbody will be prioritized as the instance that generates the event if the Rigidbody colliding does not have priority. (#3094)
  • Added a static NetworkManager.OnInstantiated event notification to be able to track when a new NetworkManager instance has been instantiated. (#3088)
  • Added a static NetworkManager.OnDestroying event notification to be able to track when an existing NetworkManager instance is being destroyed. (#3088)

Fixed

  • Fixed issue where NetworkPrefabProcessor would not mark the prefab list as dirty and prevent saving the DefaultNetworkPrefabs asset when only imports or only deletes were detected.(#3103)
  • Fixed an issue where nested NetworkTransform components in owner authoritative mode cleared their initial settings on the server, causing improper synchronization. (#3099)
  • Fixed issue with service not getting synchronized with in-scene placed NetworkObject instances when a session owner starts a SceneEventType.Load event. (#3096)
  • Fixed issue with the in-scene network prefab instance update menu tool where it was not properly updating scenes when invoked on the root prefab instance. (#3092)
  • Fixed an issue where newly synchronizing clients would always receive current NetworkVariable values, potentially causing issues with collections if there were pending updates. Now, pending state updates serialize previous values to avoid duplicates on new clients. (#3081)
  • Fixed issue where changing ownership would mark every NetworkVariable dirty. Now, it will only mark any NetworkVariable with owner read permissions as dirty and will send/flush any pending updates to all clients prior to sending the change in ownership message. (#3081)
  • Fixed an issue where transferring ownership of NetworkVariable collections didn't update the new owner’s previous value, causing the last added value to be detected as a change during additions or removals. (#3081)
  • Fixed issue where a client (or server) with no write permissions for a NetworkVariable using a standard .NET collection type could still modify the collection which could cause various issues depending upon the modification and collection type. (#3081)
  • Fixed issue where applying the position and/or rotation to the NetworkManager.ConnectionApprovalResponse when connection approval and auto-spawn player prefab were enabled would not apply the position and/or rotation when the player prefab was instantiated. (#3078)
  • Fixed issue where NetworkObject.SpawnWithObservers was not being honored when spawning the player prefab. (#3077)
  • Fixed issue with the client count not being correct on the host or server side when a client disconnects itself from a session. (#3075)

Changed

  • Changed NetworkConfig.AutoSpawnPlayerPrefabClientSide is no longer automatically set when starting NetworkManager. (#3097)
  • Updated NetworkVariableDeltaMessage so the server now forwards delta state updates from clients immediately, instead of waiting until the end of the frame or the next network tick. (#3081)

2.0.0

16 Sep 18:02
Compare
Choose a tag to compare

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.0.0] - 2024-09-12

Added

  • Added tooltips for all of the NetworkObject component's properties. (#3052)
  • Added message size validation to named and unnamed message sending functions for better error messages. (#3049)
  • Added "Check for NetworkObject Component" property to the Multiplayer->Netcode for GameObjects project settings. When disabled, this will bypass the in-editor NetworkObject check on NetworkBehaviour components. (#3031)
  • Added NetworkTransform.SwitchTransformSpaceWhenParented property that, when enabled, will handle the world to local, local to world, and local to local transform space transitions when interpolation is enabled. (#3013)
  • Added NetworkTransform.TickSyncChildren that, when enabled, will tick synchronize nested and/or child NetworkTransform components to eliminate any potential visual jittering that could occur if the NetworkTransform instances get into a state where their state updates are landing on different network ticks. (#3013)
  • Added NetworkObject.AllowOwnerToParent property to provide the ability to allow clients to parent owned objects when running in a client-server network topology. (#3013)
  • Added NetworkObject.SyncOwnerTransformWhenParented property to provide a way to disable applying the server's transform information in the parenting message on the client owner instance which can be useful for owner authoritative motion models. (#3013)
  • Added NetcodeEditorBase editor helper class to provide easier modification and extension of the SDK's components. (#3013)

Fixed

  • Fixed issue where NetworkAnimator would send updates to non-observer clients. (#3057)
  • Fixed issue where an exception could occur when receiving a universal RPC for a NetworkObject that has been despawned. (#3052)
  • Fixed issue where a NetworkObject hidden from a client that is then promoted to be session owner was not being synchronized with newly joining clients.(#3051)
  • Fixed issue where clients could have a wrong time delta on NetworkVariableBase which could prevent from sending delta state updates. (#3045)
  • Fixed issue where setting a prefab hash value during connection approval but not having a player prefab assigned could cause an exception when spawning a player. (#3042)
  • Fixed issue where the NetworkSpawnManager.HandleNetworkObjectShow could throw an exception if one of the NetworkObject components to show was destroyed during the same frame. (#3030)
  • Fixed issue where the NetworkManagerHelper was continuing to check for hierarchy changes when in play mode. (#3026)
  • Fixed issue with newly/late joined clients and NetworkTransform synchronization of parented NetworkObject instances. (#3013)
  • Fixed issue with smooth transitions between transform spaces when interpolation is enabled (requires NetworkTransform.SwitchTransformSpaceWhenParented to be enabled). (#3013)

Changed

  • Changed NetworkTransformEditor now uses NetworkTransform as the base type class to assure it doesn't display a foldout group when using the base NetworkTransform component class. (#3052)
  • Changed NetworkAnimator.Awake is now a protected virtual method. (#3052)
  • Changed when invoking NetworkManager.ConnectionManager.DisconnectClient during a distributed authority session a more appropriate message is logged. (#3052)
  • Changed NetworkTransformEditor so it now derives from NetcodeEditorBase. (#3013)
  • Changed NetworkRigidbodyBaseEditor so it now derives from NetcodeEditorBase. (#3013)
  • Changed NetworkManagerEditor so it now derives from NetcodeEditorBase. (#3013)

2.0.0-pre.4

22 Aug 13:01
Compare
Choose a tag to compare

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.0.0-pre.4] - 2024-08-21

Added

  • Added NetworkVariable.CheckDirtyState that is to be used in tandem with collections in order to detect whether the collection or an item within the collection has changed. (#3004)

Fixed

  • Fixed issue where nested NetworkTransform components were not getting updated. (#3016)
  • Fixed issue by adding null checks in NetworkVariableBase.CanClientRead and NetworkVariableBase.CanClientWrite methods to ensure safe access to NetworkBehaviour. (#3012)
  • Fixed issue where FixedStringSerializer<T> was using NetworkVariableSerialization<byte>.AreEqual to determine if two bytes were equal causes an exception to be thrown due to no byte serializer having been defined. (#3009)
  • Fixed Issue where a state with dual triggers, inbound and outbound, could cause a false layer to layer state transition message to be sent to non-authority NetworkAnimator instances and cause a warning message to be logged. (#3008)
  • Fixed issue using collections within NetworkVariable where the collection would not detect changes to items or nested items. (#3004)
  • Fixed issue where List, Dictionary, and HashSet collections would not uniquely duplicate nested collections. (#3004)
  • Fixed issue where NotAuthorityTarget would include the service observer in the list of targets to send the RPC to as opposed to excluding the service observer as it should. (#3000)
  • Fixed issue where ProxyRpcTargetGroup could attempt to send a message if there were no targets to send to. (#3000)

Changed

  • Changed NetworkAnimator to automatically switch to owner authoritative mode when using a distributed authority network topology. (#3021)
  • Changed permissions exception thrown in NetworkList to exiting early with a logged error that is now a unified permissions message within NetworkVariableBase. (#3004)
  • Changed permissions exception thrown in NetworkVariable.Value to exiting early with a logged error that is now a unified permissions message within NetworkVariableBase. (#3004)

1.11.0

22 Aug 12:02
Compare
Choose a tag to compare

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.11.0] - 2024-08-20

Added

  • Added NetworkVariable.CheckDirtyState that is to be used in tandem with collections in order to detect whether the collection or an item within the collection has changed. (#3005)

Fixed

  • Fixed issue by adding null checks in NetworkVariableBase.CanClientRead and NetworkVariableBase.CanClientWrite methods to ensure safe access to NetworkBehaviour. (#3011)
  • Fixed issue using collections within NetworkVariable where the collection would not detect changes to items or nested items. (#3005)
  • Fixed issue where List, Dictionary, and HashSet collections would not uniquely duplicate nested collections. (#3005)
  • Fixed Issue where a state with dual triggers, inbound and outbound, could cause a false layer to layer state transition message to be sent to non-authority NetworkAnimator instances and cause a warning message to be logged. (#2999)
  • Fixed issue where FixedStringSerializer<T> was using NetworkVariableSerialization<byte>.AreEqual to determine if two bytes were equal causes an exception to be thrown due to no byte serializer having been defined. (#2992)

Changed

  • Changed permissions exception thrown in NetworkList to exiting early with a logged error that is now a unified permissions message within NetworkVariableBase. (#3005)
  • Changed permissions exception thrown in NetworkVariable.Value to exiting early with a logged error that is now a unified permissions message within NetworkVariableBase. (#3005)

2.0.0-pre.3

29 Jul 12:02
Compare
Choose a tag to compare

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.0.0-pre.3] - 2024-07-23

Added

  • Added: UnityTransport.GetNetworkDriver and UnityTransport.GetLocalEndpoint methods to expose the driver and local endpoint being used. (#2978)

Fixed

  • Fixed issue where deferred despawn was causing GC allocations when converting an IEnumerable to a list. (#2983)
  • Fixed issue where the realtime network stats monitor was not able to display RPC traffic in release builds due to those stats being only available in development builds or the editor. (#2979)
  • Fixed issue where NetworkManager.ScenesLoaded was not being updated if PostSynchronizationSceneUnloading was set and any loaded scenes not used during synchronization were unloaded. (#2971)
  • Fixed issue where Rigidbody2d under Unity 6000.0.11f1 has breaking changes where velocity is now linearVelocity and isKinematic is replaced by bodyType. (#2971)
  • Fixed issue where NetworkSpawnManager.InstantiateAndSpawn and NetworkObject.InstantiateAndSpawn were not honoring the ownerClientId parameter when using a client-server network topology. (#2968)
  • Fixed issue where internal delta serialization could not have a byte serializer defined when serializing deltas for other types. Added [GenerateSerializationForType(typeof(byte))] to both the NetworkVariable and AnticipatedNetworkVariable classes to assure a byte serializer is defined.(#2962)
  • Fixed issue when scene management was disabled and the session owner would still try to synchronize a late joining client. (#2962)
  • Fixed issue when using a distributed authority network topology where it would allow a session owner to spawn a NetworkObject prior to being approved. Now, an error message is logged and the NetworkObject will not be spawned prior to the client being approved. (#2962)
  • Fixed issue where attempting to spawn during NetworkBehaviour.OnInSceneObjectsSpawned and NetworkBehaviour.OnNetworkSessionSynchronized notifications would throw a collection modified exception. (#2962)

Changed

  • Changed logic where clients can now set the NetworkSceneManager client synchronization mode when using a distributed authority network topology. (#2985)

1.10.0

25 Jul 19:01
Compare
Choose a tag to compare

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.10.0] - 2024-07-22

Added

  • Added NetworkBehaviour.OnNetworkPreSpawn and NetworkBehaviour.OnNetworkPostSpawn methods that provide the ability to handle pre and post spawning actions during the NetworkObject spawn sequence. (#2906)
  • Added a client-side only NetworkBehaviour.OnNetworkSessionSynchronized convenience method that is invoked on all NetworkBehaviours after a newly joined client has finished synchronizing with the network session in progress. (#2906)
  • Added NetworkBehaviour.OnInSceneObjectsSpawned convenience method that is invoked when all in-scene NetworkObjects have been spawned after a scene has been loaded or upon a host or server starting. (#2906)

Fixed

  • Fixed issue where the realtime network stats monitor was not able to display RPC traffic in release builds due to those stats being only available in development builds or the editor. (#2980)
  • Fixed issue where NetworkManager.ScenesLoaded was not being updated if PostSynchronizationSceneUnloading was set and any loaded scenes not used during synchronization were unloaded.(#2977)
  • Fixed issue where internal delta serialization could not have a byte serializer defined when serializing deltas for other types. Added [GenerateSerializationForType(typeof(byte))] to both the NetworkVariable and AnticipatedNetworkVariable classes to assure a byte serializer is defined. (#2953)
  • Fixed issue with the client count not being correct on the host or server side when a client disconnects itself from a session. (#2941)
  • Fixed issue with the host trying to send itself a message that it has connected when first starting up. (#2941)
  • Fixed issue where in-scene placed NetworkObjects could be destroyed if a client disconnects early and/or before approval. (#2923)
  • Fixed issue where NetworkDeltaPosition would "jitter" periodically if both unreliable delta state updates and half-floats were used together. (#2922)
  • Fixed issue where NetworkRigidbody2D would not properly change body type based on the instance's authority when spawned. (#2916)
  • Fixed issue where a NetworkObject component's associated NetworkBehaviour components would not be detected if scene loading is disabled in the editor and the currently loaded scene has in-scene placed NetworkObjects. (#2906)
  • Fixed issue where an in-scene placed NetworkObject with NetworkTransform that is also parented under a GameObject would not properly synchronize when the parent GameObject had a world space position other than 0,0,0. (#2895)

Changed

2.0.0-pre.2

24 Jun 13:02
Compare
Choose a tag to compare

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.0.0-pre.2] - 2024-06-17

Added

  • Added AnticipatedNetworkVariable<T>, which adds support for client anticipation of NetworkVariable values, allowing for more responsive gameplay. (#2957)
  • Added AnticipatedNetworkTransform, which adds support for client anticipation of NetworkTransforms. (#2957)
  • Added NetworkVariableBase.ExceedsDirtinessThreshold to allow network variables to throttle updates by only sending updates when the difference between the current and previous values exceeds a threshold. (This is exposed in NetworkVariable<T> with the callback NetworkVariable<T>.CheckExceedsDirtinessThreshold). (#2957)
  • Added NetworkVariableUpdateTraits, which add additional throttling support: MinSecondsBetweenUpdates will prevent the NetworkVariable from sending updates more often than the specified time period (even if it exceeds the dirtiness threshold), while MaxSecondsBetweenUpdates will force a dirty NetworkVariable to send an update after the specified time period even if it has not yet exceeded the dirtiness threshold. (#2957)
  • Added virtual method NetworkVariableBase.OnInitialize which can be used by NetworkVariable subclasses to add initialization code. (#2957)
  • Added NetworkTime.TickWithPartial, which represents the current tick as a double that includes the fractional/partial tick value. (#2957)
  • Added NetworkTickSystem.AnticipationTick, which can be helpful with implementation of client anticipation. This value represents the tick the current local client was at at the beginning of the most recent network round trip, which enables it to correlate server update ticks with the client tick that may have triggered them. (#2957)
  • Added event NetworkManager.OnSessionOwnerPromoted that is invoked when a new session owner promotion occurs. (#2948)
  • Added NetworkRigidBodyBase.GetLinearVelocity and NetworkRigidBodyBase.SetLinearVelocity convenience/helper methods. (#2948)
  • Added NetworkRigidBodyBase.GetAngularVelocity and NetworkRigidBodyBase.SetAngularVelocity convenience/helper methods. (#2948)

Fixed

  • Fixed issue when NetworkTransform half float precision is enabled and ownership changes the current base position was not being synchronized. (#2948)
  • Fixed issue where OnClientConnected not being invoked on the session owner when connecting to a new distributed authority session. (#2948)
  • Fixed issue where Rigidbody micro-motion (i.e. relatively small velocities) would result in non-authority instances slightly stuttering as the body would come to a rest (i.e. no motion). Now, the threshold value can increase at higher velocities and can decrease slightly below the provided threshold to account for this. (#2948)

Changed

  • Changed NetworkAnimator no longer requires the Animator component to exist on the same GameObject. (#2957)
  • Changed NetworkObjectReference and NetworkBehaviourReference to allow null references when constructing and serializing. (#2957)
  • Changed the client's owned objects is now returned (NetworkClient and NetworkSpawnManager) as an array as opposed to a list for performance purposes. (#2948)
  • Changed NetworkTransfrom.TryCommitTransformToServer to be internal as it will be removed by the final 2.0.0 release. (#2948)
  • Changed NetworkTransformEditor.OnEnable to a virtual method to be able to customize a NetworkTransform derived class by creating a derived editor control from NetworkTransformEditor. (#2948)

2.0.0-pre.1

20 Jun 10:02
Compare
Choose a tag to compare

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.0.0-pre.1] - 2024-06-17

Added

  • Added event NetworkManager.OnSessionOwnerPromoted that is invoked when a new session owner promotion occurs. (#2948)
  • Added NetworkRigidBodyBase.GetLinearVelocity and NetworkRigidBodyBase.SetLinearVelocity convenience/helper methods. (#2948)
  • Added NetworkRigidBodyBase.GetAngularVelocity and NetworkRigidBodyBase.SetAngularVelocity convenience/helper methods. (#2948)

Fixed

  • Fixed issue when NetworkTransform half float precision is enabled and ownership changes the current base position was not being synchronized. (#2948)
  • Fixed issue where OnClientConnected not being invoked on the session owner when connecting to a new distributed authority session. (#2948)
  • Fixed issue where Rigidbody micro-motion (i.e. relatively small velocities) would result in non-authority instances slightly stuttering as the body would come to a rest (i.e. no motion). Now, the threshold value can increase at higher velocities and can decrease slightly below the provided threshold to account for this. (#2948)

Changed

  • Changed the client's owned objects is now returned (NetworkClient and NetworkSpawnManager) as an array as opposed to a list for performance purposes. (#2948)
  • Changed NetworkTransfrom.TryCommitTransformToServer to be internal as it will be removed by the final 2.0.0 release. (#2948)
  • Changed NetworkTransformEditor.OnEnable to a virtual method to be able to customize a NetworkTransform derived class by creating a derived editor control from NetworkTransformEditor. (#2948)