ChangeOwnerMessage
. NetworkIdentity.AssignClientAuthority
and RemoveClientAuthority
now send this message instead of a SpawnMessage
, so transform data is no longer reset to server values, so no more snap-back of moving objects.SyncDictionary
can now be declared and initialized from an existing List.ILPostProcessor
is now used for Unity versions 2020.3 and later.NetworkManager.ServerChangeScene
now aborts if scene change already in progress.hasAuthority
is now properly cleared on client when unspawning scene objects.NetworkMatch
components, and no longer throws Key not found exception in certain cases.NetworkManager.StopClient
no longer fires twice in certain cases.NetworkMatch
was missing attributes.NetworkLoop
static class is now public.NetworkConnection.observing
is now public.NetworkTransformV2
default values updated. interpolateScale
also defaults to false
now.NetworkTransformV2
isClientAuthority
now protected
instead of private
.NetworkTransformV2
now using default values.NetworkManager
Script Template.componentIndex
is now a byte
in CmdMessage
and RpcMessage
structs.SyncObject
is now a class instead of an interface.SyncObject.Flush
- Use ClearChanges
instead.NetworkBehaviour.getSyncVarHookGuard
- Use GetSyncVarHookGuard
instead.NetworkBehaviour.setSyncVarHookGuard
- Use SetSyncVarHookGuard
instead.NetworkBehaviour.SetDirtyBit
- Use SetSyncVarDirtyBit
instead.NetworkServer.SendToReady
- Use SendToReadyObservers
instead.GUIConsole
for easier debugging.UnpackAndInvoke
now throws error and disconnects in case of missing handlers.NetworkServer
/NetworkClient
now detects ever-growing batches.ILPostProcessing
in Unity 2020+.NetworkTransformV2
.NetworkTransformBase.OnDrawGizmos
now only runs in play mode.using
to Network Manager template.OnGUI
calls are now wrapped in #if UNITY_EDITOR || DEVELOPMENT_BUILD
.NetworkEarlyUpdate
/NetworkLateUpdate
in NetworkLoop
now exposed via Action events.NetworkIdentity.spawned
has been split into NetworkServer.spawned
and NetworkClient.spawned
.OnSpawned
/ OnDestroyed
events.OnServerError
and OnClientError
overrides. Transports still need to implement their part.ZigZag VarInt
added back to Compression module.StopDiscovery
when stopping server/host/client.NetworkTime.lastPingTime
is now reset properly.NetworkBehaviour
dirty check uses double time.NetworkTime.UpdateClient
uses double precision time for accuracy over days/weeks.NetworkAnimator
uses double precision time for accuracy over days/weeks[Command]
attribute to NetworkAnimator.CmdSetAnimatorSpeed
. DestroyObject
is now called when cleaning up scene identities too. Sends unspawn messages and calls OnStopClient
/OnStopServer
properly.hasAuthority
when destroying and call OnStopAuthority
.NetworkManager.isNetworkActive
is now a readonly bool.NetworkManager.ConfigureServerFrameRate
renamed to ConfigureHeadlessFrameRate
.NetworkServer
/ NetworkClient
OnConnected
/ OnDisconnected
events now public so custom Network Managers can hook into them.NetworkServer
/ NetworkClient
Shutdown
now correctly clears OnConnected
/ OnDisconnected
event handlers.OnClientDisconnect
wasn't being called for host client.SetHostVisibility
overwriting.networkBehaviours
array is null.NetworkIdentity.Awake
when parent is inactive.OnClientChangeScene
was not firing for host client.UnpackAndInvoke
.WriteUri
and ReadUri
.FinishLoadScene
should not be called when customHandling
is true (Additive Scenes).clientAuthority
is now public in NetworkRigidbody
/ NetworkRigidbody2D
.ServerAuthFailed
bool to Basic Authenticator.NetworkIdentity
default script execution order set to -1.OnDisable
/ OnDestroy
.NetworkTransform
sync scale and interpolation.NetworkServer.OnDisconnect
now calls DestroyPlayerForConnection
if NetworkManager
doesn't handle it.NetworkClient.Disconnect
now checks for null connection and that it's not called twice.NetworkTime
now resets when server starts.PlayerUI
text corrected.NetworkConnection
parameter removed from Network Authenticator's Client messages.MessagePacking GetId<T>
return value changed to ushort
.Transport.ServerDisconnect
return is now void instead of bool.PersistNetworkManagerToOfflineScene
to Network Manager...see tooltip.targetFramerate
like headless serversNetworkTransform
now has the following features:Library/ScriptAssemblies
folder and IL2CPP cacheNetworkIdentity.isLocalPlayer
is only set, but never reset. Fixes a bug where isLocalPlayer
would be false in OnDestroy
, so some components couldn't rely on it in OnDestroy
.NetworkIdentity.Reset
now resets isLocalPlayer
after the isLocalPlayer
/ClearLocalPlayer
check.NetworkIdentity.OnDestroy
now only clears NetworkClient.localPlayer
if we are still the local player.StopClient
.SyncVar
field label not shown in Unity 2020 versions (Unity bug).OnServerAddPlayer
now adds the connection id to the object name (on the server only, not synced to clients).NetworkTime
were renamed. The previous field names are still there and obsolete and will be removed in a later version.ClientScene
is now obsolete, use same or similar properties in NetworkClient
instead. ClientScene
will be fully deprecated and removed in a later version.NetworkClient.RegisterHandler
overload that included a NetworkConnection
is now obsolete and will be removed in a later version. Handlers can use NetworkClient.connection
directly.ClientScene.onLocalPlayerChanged
removed.NetworkIdentity
now has isServer
/ isClientOnly
.StopServer
/ StopClient
when offline scene is defined to avoid singleton collision.NetworkEarlyUpdate
(before any Update/FixedUpdate)NetworkLateUpdate
(after any Update/FixedUpdate/LateUpdate) loopsTickIncoming
/ TickOutgoing
to utilize the new NetworkEarly/LateUpdate functions...minimizes latency.MirrorTransport
timeout to 30sec from 5sec to cover scene changes.NetworkServer.SpawnObserversForConnection
refactored to support all visibility cases (ForceShown
/ ForceHidden
/ Default
) and all systems (legacy / new / default).NetworkManager.StopServer/StopClient
: avoid NullReferenceException
when called in OnApplicationQuit
or from tests.NetworkServer.Update
: inactive connection check moved into the main connections foreach
loop. Eliminates a foreach
-connections loop.NetworkServer.Update
: separate connections update loop moved into the main loop. Now there is only one connections loop.NetworkManagerHUD.showGUI
is now obsolete and will be removed in a later version.SendToClientOfPlayer
is now obsolete and will be removed in a later version.LogFactory
and logging asset feature removed.ignoreAuthority
parameter renamed to requiresAuthority
, default true.ClientRpc
excludeOwner
parameter renamed to includeOwner
, default true.ClientScene.spawnableObjects
is no longer public.NetworkServer
/ NetworkClient
don't use Connect/Disconnect messages any more. Connect/Disconnect events are raised by the transport instead.OnServerError
/ OnClientError
removed since no transport ever implemented them.NetworkConnection.InvokeHandler
as no longer needed.NetworkServer.OnConnected
allows for connectionId
< 0 now.NetworkRoomPlayer
ReadyStateChanged
oldReadyState
parameter name.