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.GetEndpointmethod to provide a way to obtainNetworkEndpointinformation of a connection via client identifier. (#3131) - Added a static
NetworkManager.OnInstantiatedevent notification to be able to track when a newNetworkManagerinstance has been instantiated. (#3089) - Added a static
NetworkManager.OnDestroyingevent notification to be able to track when an existingNetworkManagerinstance 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
NetworkObjectcheck onNetworkBehaviourcomponents. (#3034)
Fixed
- Fixed issue where
NetworkListproperties on in-scene placedNetworkObjects could cause small memory leaks when entering playmode. (#3148) - Fixed issue where a newly synchronizing client would be synchronized with the current
NetworkVariablevalues always which could cause issues with collections if there were any pending state updates. Now, when initially synchronizing a client, if aNetworkVariablehas 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
NetworkVariabledirty. Now, it will only mark anyNetworkVariablewith 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
NetworkVariablecollections 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
NetworkVariableusing 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
NetworkAnimatorwould statically allocate write buffer space forAnimatorparameters 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
NetworkAnimatorwould send updates to non-observer clients. (#3058) - Fixed issue where an exception could occur when receiving a universal RPC for a
NetworkObjectthat 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.HandleNetworkObjectShowcould throw an exception if one of theNetworkObjectcomponents to show was destroyed during the same frame. (#3029) - Fixed issue where the
NetworkManagerHelperwas continuing to check for hierarchy changes when in play mode. (#3027)
Changed
- Changed
NetworkVariableDeltaMessageso the server now forwards delta state updates (owner write permission based from a client) to other clients immediately as opposed to keeping aNetworkVariableorNetworkListdirty 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)