Releases
1.0.0-pre.2
Compare
Sorry, something went wrong.
No results found
Netcode for GameObjects
Added
Added ClientNetworkTransform sample to the SDK package (#1168 )
Added Bootstrap sample to the SDK package (#1140 )
Enhanced NetworkSceneManager implementation with additive scene loading capabilities (#1080 , #955 , #913 )
NetworkSceneManager.OnSceneEvent provides improved scene event notificaitons
Enhanced NetworkTransform implementation with per axis/component based and threshold based state replication (#1042 , #1055 , #1061 , #1084 , #1101 )
Added a jitter-resistent BufferedLinearInterpolator<T> for NetworkTransform (#1060 )
Implemented NetworkPrefabHandler that provides support for object pooling and NetworkPrefab overrides (#1073 , #1004 , #977 , #905 ,#749 , #727 )
Implemented auto NetworkObject transform parent synchronization at runtime over the network (#855 )
Adopted Unity C# Coding Standards in the codebase with .editorconfig ruleset (#666 , #670 )
When a client tries to spawn a NetworkObject an exception is thrown to indicate unsupported behavior. (#981 )
Added a NetworkTime and NetworkTickSystem which allows for improved control over time and ticks. (#845 )
Added a OnNetworkDespawn function to NetworkObject which gets called when a NetworkObject gets despawned and can be overriden. (#865 )
Added SnapshotSystem that would allow variables and spawn/despawn messages to be sent in blocks (#805 , #852 , #862 , #963 , #1012 , #1013 , #1021 , #1040 , #1062 , #1064 , #1083 , #1091 , #1111 , #1129 , #1166 , #1192 )
Disabled by default for now, except spawn/despawn messages
Will leverage unreliable messages with eventual consistency
NetworkBehaviour and NetworkObject's NetworkManager instances can now be overriden (#762 )
Added metrics reporting for the new network profiler if the Multiplayer Tools package is present (#1104 , #1089 , #1096 , #1086 , #1072 , #1058 , #960 , #897 , #891 , #878 )
NetworkBehaviour.IsSpawned a quick (and stable) way to determine if the associated NetworkObject is spawned (#1190 )
Added NetworkRigidbody and NetworkRigidbody2D components to support networking Rigidbody and Rigidbody2D components (#1202 , #1175 )
Added NetworkObjectReference and NetworkBehaviourReference structs which allow to sending NetworkObject/Behaviours over RPCs/NetworkVariables (#1173 )
Added NetworkAnimator component to support networking Animator component (#1281 , #872 )
Changed
Bumped minimum Unity version, renamed package as "Unity Netcode for GameObjects", replaced MLAPI namespace and its variants with Unity.Netcode namespace and per asm-def variants (#1007 , #1009 , #1015 , #1017 , #1019 , #1025 , #1026 , #1065 )
Minimum Unity version:
Package rename:
Display name: MLAPI Networking Library → Netcode for GameObjects
Name: com.unity.multiplayer.mlapi → com.unity.netcode.gameobjects
Updated package description
All MLAPI.x namespaces are replaced with Unity.Netcode
MLAPI.Messaging → Unity.Netcode
MLAPI.Connection → Unity.Netcode
MLAPI.Logging → Unity.Netcode
MLAPI.SceneManagement → Unity.Netcode
and other MLAPI.x variants to Unity.Netcode
All assembly definitions are renamed with Unity.Netcode.x variants
Unity.Multiplayer.MLAPI.Runtime → Unity.Netcode.Runtime
Unity.Multiplayer.MLAPI.Editor → Unity.Netcode.Editor
and other Unity.Multiplayer.MLAPI.x variants to Unity.Netcode.x variants
Renamed Prototyping namespace and assembly definition to Components (#1145 )
Changed NetworkObject.Despawn(bool destroy) API to default to destroy = true for better usability (#1217 )
Scene registration in NetworkManager is now replaced by Build Setttings → Scenes in Build List (#1080 )
NetworkSceneManager.SwitchScene has been replaced by NetworkSceneManager.LoadScene (#955 )
NetworkManager, NetworkConfig, and NetworkSceneManager scene registration replaced with scenes in build list (#1080 )
GlobalObjectIdHash replaced PrefabHash and PrefabHashGenerator for stability and consistency (#698 )
NetworkStart has been renamed to OnNetworkSpawn. (#865 )
Network variable cleanup - eliminated shared mode, variables are server-authoritative (#1059 , #1074 )
NetworkManager and other systems are no longer singletons/statics (#696 , #705 , #706 , #737 , #738 , #739 , #746 , #747 , #763 , #765 , #766 , #783 , #784 , #785 , #786 , #787 , #788 )
Changed INetworkSerializable.NetworkSerialize method signature to use BufferSerializer<T> instead of NetworkSerializer (#1187 )
Changed CustomMessagingManager's methods to use FastBufferWriter and FastBufferReader instead of Stream (#1187 )
Reduced internal runtime allocations by removing LINQ calls and replacing managed lists/arrays with native collections (#1196 )
Removed
Removed NetworkNavMeshAgent (#1150 )
Removed NetworkDictionary, NetworkSet (#1149 )
Removed NetworkVariableSettings (#1097 )
Removed predefined NetworkVariable<T> types (#1093 )
Removed NetworkVariableBool, NetworkVariableByte, NetworkVariableSByte, NetworkVariableUShort, NetworkVariableShort, NetworkVariableUInt, NetworkVariableInt, NetworkVariableULong, NetworkVariableLong, NetworkVariableFloat, NetworkVariableDouble, NetworkVariableVector2, NetworkVariableVector3, NetworkVariableVector4, NetworkVariableColor, NetworkVariableColor32, NetworkVariableRay, NetworkVariableQuaternion
Removed NetworkChannel and MultiplexTransportAdapter (#1133 )
Removed ILPP backend for 2019.4, minimum required version is 2020.3+ (#895 )
NetworkManager.NetworkConfig had the following properties removed: (#1080 )
Scene Registrations no longer exists
Allow Runtime Scene Changes was no longer needed and was removed
Removed the NetworkObject.Spawn payload parameter (#1005 )
Removed ProfilerCounter, the original MLAPI network profiler, and the built-in network profiler module (2020.3). A replacement can now be found in the Multiplayer Tools package. (#1048 )
Removed UNet RelayTransport and related relay functionality in UNetTransport (#1081 )
Removed UpdateStage parameter from ServerRpcSendParams and ClientRpcSendParams (#1187 )
Removed NetworkBuffer, NetworkWriter, NetworkReader, NetworkSerializer, PooledNetworkBuffer, PooledNetworkWriter, and PooledNetworkReader (#1187 )
Removed EnableNetworkVariable in NetworkConfig, it is always enabled now (#1179 )
Removed NetworkTransform's FixedSendsPerSecond, AssumeSyncedSends, InterpolateServer, ExtrapolatePosition, MaxSendsToExtrapolate, Channel, EnableNonProvokedResendChecks, DistanceSendrate (#1060 ) (#826 ) (#1042 , #1055 , #1061 , #1084 , #1101 )
Removed NetworkManager's StopServer(), StopClient() and StopHost() methods and replaced with single NetworkManager.Shutdown() method for all (#1108 )
Fixed
Fixed ServerRpc ownership check to Debug.LogError instead of Debug.LogWarning (#1126 )
Fixed NetworkObject.OwnerClientId property changing before NetworkBehaviour.OnGainedOwnership() callback (#1092 )
Fixed NetworkBehaviourILPP to iterate over all types in an assembly (#803 )
Fixed cross-asmdef RPC ILPP by importing types into external assemblies (#678 )
Fixed NetworkManager shutdown when quitting the application or switching scenes (#1011 )
Now NetworkManager shutdowns correctly and despawns existing NetworkObjects
Fixed Only one PlayerPrefab can be selected on NetworkManager inspector UI in the editor (#676 )
Fixed connection approval not being triggered for host (#675 )
Fixed various situations where messages could be processed in an invalid order, resulting in errors (#948 , #1187 , #1218 )
Fixed NetworkVariables being default-initialized on the client instead of being initialized with the desired value (#1266 )
Improved runtime performance and reduced GC pressure (#1187 )
Fixed #915 - clients are receiving data from objects not visible to them (#1099 )
Fixed NetworkTransform's "late join" issues, NetworkTransform now uses NetworkVariables instead of RPCs (#826 )
Throw an exception for silent failure when a client tries to get another player's PlayerObject, it is now only allowed on the server-side (#844 )
Known Issues
NetworkVariable does not serialize INetworkSerializable types through their NetworkSerialize implementation
NetworkObjects marked as DontDestroyOnLoad are disabled during some network scene transitions
NetworkTransform interpolates from the origin when switching Local Space synchronization
Exceptions thrown in OnNetworkSpawn user code for an object will prevent the callback in other objects
Cannot send an array of INetworkSerializable in RPCs
ILPP generation fails with special characters in project path
Unity Transport for Netcode for GameObjects
Added
Support for Unity Relay (#887 )
New SetConnectionData function that takes in a NetworkEndpoint
Changed
No longer use coroutines when connecting to relay
Consolidated the Send/Recv queue properties as they always needed to be the same.
Consolidated the Fragmentation/Queue size as they always needed to be the same.
Updated Unity Transport package to 1.0.0-pre.6
Fixed
Fixed an issue where OnClientDisconnectCallback was not being called (#1243 )
Flush the UnityTransport send queue on shutdown (#1234 )
Exposed a way to set ip and port from code (#1208 )
Possible Editor crash when trying to read a batched packet where the size of the packet was larger than the max packet size.
Removed the requirement that MaxPacketSize needs to be the same size as the batched/fragmentation buffer size.
You can’t perform that action at this time.