Releases: needle-mirror/com.unity.netcode.gameobjects
2.2.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.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 otherOwnershipStatus
flags. (#3175) - Added
UnityTransport.GetEndpoint
method to provide a way to obtainNetworkEndpoint
information of a connection via client identifier. (#3130) - Added
NetworkTransport.OnEarlyUpdate
andNetworkTransport.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 theNetworkManager
. (#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 actualNetworkPrefab
'sGameObject
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 callingUnityTransport.Shutdown
. (#3118) - Fixed issue where
NetworkList
properties on in-scene placedNetworkObject
s 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 aNetworkManager
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 placedNetworkObject
s instantiated and spawned by a scene loading event. (#3133) - Fixed issue where spawning a player using
NetworkObject.InstantiateAndSpawn
orNetworkSpawnManager.InstantiateAndSpawn
would not update theNetworkSpawnManager.PlayerObjects
or assign the newly spawned player to theNetworkClient.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
orOwnerRpcTarget
were not using their replacementsNotAuthorityRpcTarget
andAuthorityRpcTarget
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 forAnimator
parameters that could cause a write error if the number of parameters exceeded the space allocated. (#3108)
Changed
- In-scene placed
NetworkObject
s have been made distributable when balancing object distribution after a connection event. (#3175) - Optimised
NetworkVariable
andNetworkTransform
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
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 obtainNetworkEndpoint
information of a connection via client identifier. (#3131) - Added a static
NetworkManager.OnInstantiated
event notification to be able to track when a newNetworkManager
instance has been instantiated. (#3089) - Added a static
NetworkManager.OnDestroying
event notification to be able to track when an existingNetworkManager
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 onNetworkBehaviour
components. (#3034)
Fixed
- Fixed issue where
NetworkList
properties on in-scene placedNetworkObject
s 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 aNetworkVariable
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 anyNetworkVariable
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 forAnimator
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 theNetworkObject
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 aNetworkVariable
orNetworkList
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
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 fromIContactEventHandler
that can be updated per frame to provideContactEventHandlerInfo
information to theRigidbodyContactEventManager
when processing collisions. (#3094)ContactEventHandlerInfo.ProvideNonRigidBodyContactEvents
: When set to true, non-Rigidbody
collisions with the registeredRigidbody
will generate contact event notifications. (#3094)ContactEventHandlerInfo.HasContactEventPriority
: When set to true, theRigidbody
will be prioritized as the instance that generates the event if theRigidbody
colliding does not have priority. (#3094)
- Added a static
NetworkManager.OnInstantiated
event notification to be able to track when a newNetworkManager
instance has been instantiated. (#3088) - Added a static
NetworkManager.OnDestroying
event notification to be able to track when an existingNetworkManager
instance is being destroyed. (#3088)
Fixed
- Fixed issue where
NetworkPrefabProcessor
would not mark the prefab list as dirty and prevent saving theDefaultNetworkPrefabs
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 aSceneEventType.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 anyNetworkVariable
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 startingNetworkManager
. (#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
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 onNetworkBehaviour
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 childNetworkTransform
components to eliminate any potential visual jittering that could occur if theNetworkTransform
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 theNetworkObject
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 parentedNetworkObject
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 usesNetworkTransform
as the base type class to assure it doesn't display a foldout group when using the baseNetworkTransform
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 fromNetcodeEditorBase
. (#3013) - Changed
NetworkRigidbodyBaseEditor
so it now derives fromNetcodeEditorBase
. (#3013) - Changed
NetworkManagerEditor
so it now derives fromNetcodeEditorBase
. (#3013)
2.0.0-pre.4
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
andNetworkVariableBase.CanClientWrite
methods to ensure safe access toNetworkBehaviour
. (#3012) - Fixed issue where
FixedStringSerializer<T>
was usingNetworkVariableSerialization<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
, andHashSet
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 withinNetworkVariableBase
. (#3004) - Changed permissions exception thrown in
NetworkVariable.Value
to exiting early with a logged error that is now a unified permissions message withinNetworkVariableBase
. (#3004)
1.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.
[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
andNetworkVariableBase.CanClientWrite
methods to ensure safe access toNetworkBehaviour
. (#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
, andHashSet
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 usingNetworkVariableSerialization<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 withinNetworkVariableBase
. (#3005) - Changed permissions exception thrown in
NetworkVariable.Value
to exiting early with a logged error that is now a unified permissions message withinNetworkVariableBase
. (#3005)
2.0.0-pre.3
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
andUnityTransport.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 ifPostSynchronizationSceneUnloading
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 wherevelocity
is nowlinearVelocity
andisKinematic
is replaced bybodyType
. (#2971) - Fixed issue where
NetworkSpawnManager.InstantiateAndSpawn
andNetworkObject.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 theNetworkVariable
andAnticipatedNetworkVariable
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 theNetworkObject
will not be spawned prior to the client being approved. (#2962) - Fixed issue where attempting to spawn during
NetworkBehaviour.OnInSceneObjectsSpawned
andNetworkBehaviour.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
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
andNetworkBehaviour.OnNetworkPostSpawn
methods that provide the ability to handle pre and post spawning actions during theNetworkObject
spawn sequence. (#2906) - Added a client-side only
NetworkBehaviour.OnNetworkSessionSynchronized
convenience method that is invoked on allNetworkBehaviour
s 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-sceneNetworkObject
s 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 ifPostSynchronizationSceneUnloading
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 theNetworkVariable
andAnticipatedNetworkVariable
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 associatedNetworkBehaviour
components would not be detected if scene loading is disabled in the editor and the currently loaded scene has in-scene placedNetworkObject
s. (#2906) - Fixed issue where an in-scene placed
NetworkObject
withNetworkTransform
that is also parented under aGameObject
would not properly synchronize when the parentGameObject
had a world space position other than 0,0,0. (#2895)
Changed
2.0.0-pre.2
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 ofNetworkVariable
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 inNetworkVariable<T>
with the callbackNetworkVariable<T>.CheckExceedsDirtinessThreshold
). (#2957) - Added
NetworkVariableUpdateTraits
, which add additional throttling support:MinSecondsBetweenUpdates
will prevent theNetworkVariable
from sending updates more often than the specified time period (even if it exceeds the dirtiness threshold), whileMaxSecondsBetweenUpdates
will force a dirtyNetworkVariable
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 byNetworkVariable
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
andNetworkRigidBodyBase.SetLinearVelocity
convenience/helper methods. (#2948) - Added
NetworkRigidBodyBase.GetAngularVelocity
andNetworkRigidBodyBase.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 theAnimator
component to exist on the sameGameObject
. (#2957) - Changed
NetworkObjectReference
andNetworkBehaviourReference
to allow null references when constructing and serializing. (#2957) - Changed the client's owned objects is now returned (
NetworkClient
andNetworkSpawnManager
) 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 aNetworkTransform
derived class by creating a derived editor control fromNetworkTransformEditor
. (#2948)
2.0.0-pre.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.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
andNetworkRigidBodyBase.SetLinearVelocity
convenience/helper methods. (#2948) - Added
NetworkRigidBodyBase.GetAngularVelocity
andNetworkRigidBodyBase.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
andNetworkSpawnManager
) 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 aNetworkTransform
derived class by creating a derived editor control fromNetworkTransformEditor
. (#2948)