2021 Change Log
v53.0.0 -- 2021-Oct-20
Added:
ChangeOwnerMessage.NetworkIdentity.AssignClientAuthorityandRemoveClientAuthoritynow send this message instead of aSpawnMessage, so transform data is no longer reset to server values, so no more snap-back of moving objects.Added:
SyncDictionarycan now be declared and initialized from an existing List.Added: Nullable color added to Data Types Mirror handles.
Added:
ILPostProcessoris now used for Unity versions 2020.3 and later.Fixed: Stopping Discovery no longer causes a crash.
Fixed: Additive Scenes example had misplaced scene objects.
Fixed:
NetworkManager.ServerChangeScenenow aborts if scene change already in progress.Fixed:
hasAuthorityis now properly cleared on client when unspawning scene objects.Fixed: Match Interest Management now correctly handles networked objects without
NetworkMatchcomponents, and no longer throws Key not found exception in certain cases.Fixed:
NetworkManager.StopClientno longer fires twice in certain cases.Fixed:
NetworkMatchwas missing attributes.Changed:
NetworkLoopstatic class is now public.Changed:
NetworkConnection.observingis now public.Changed:
NetworkTransformV2default values updated.interpolateScalealso defaults tofalsenow.Changed:
NetworkTransformV2isClientAuthoritynowprotectedinstead ofprivate.Changed: Examples using
NetworkTransformV2now using default values.Changed: Updated
NetworkManagerScript Template.Changed: Tanks example has health bars now.
Changed:
componentIndexis now abyteinCmdMessageandRpcMessagestructs.Changed:
SyncObjectis now a class instead of an interface.Obsolete:
SyncObject.Flush- UseClearChangesinstead.Obsolete:
NetworkBehaviour.getSyncVarHookGuard- UseGetSyncVarHookGuardinstead.Obsolete:
NetworkBehaviour.setSyncVarHookGuard- UseSetSyncVarHookGuardinstead.Obsolete:
NetworkBehaviour.SetDirtyBit- UseSetSyncVarDirtyBitinstead.Obsolete:
NetworkServer.SendToReady- UseSendToReadyObserversinstead.Removed: Various obsolete methods that were at least 3 months old.
Removed: Fallback transport -- no longer included or supported.
v46.0.4 - 2021-Sep-03
Added: Tanks example now has
GUIConsolefor easier debugging.Fixed:
UnpackAndInvokenow throws error and disconnects in case of missing handlers.Fixed:
NetworkServer/NetworkClientnow detects ever-growing batches.Fixed: Weaver now uses
ILPostProcessingin Unity 2020+.Fixed: Movement delay in
NetworkTransformV2.Fixed:
NetworkTransformBase.OnDrawGizmosnow only runs in play mode.Fixed: Added missing
usingto Network Manager template.Fixed: Some
OnGUIcalls are now wrapped in#if UNITY_EDITOR || DEVELOPMENT_BUILD.Changed:
NetworkEarlyUpdate/NetworkLateUpdateinNetworkLoopnow exposed via Action events.Changed: Multiple Matches example now uses Match Interest Management.
Changed: Multiple Additive Scenes example now uses Scene Interest Management.
Obsolete:
NetworkIdentity.spawnedhas been split intoNetworkServer.spawnedandNetworkClient.spawned.Removed: Network Observer template.
v44.0.2 -- 2021-Aug-08
Added: Scene Interest Management. Put this on Network Manager and remove all Network Scene Checker components.
Added: Match Interest Management. Put this on Network Manager and replace Network Match Checker with new Network Match component.
Added: Interest Management now has
OnSpawned/OnDestroyedevents.Added: Network Transform V2 with Snapshot Interpolation.
Added: Network Transport exception events that transports can raise to Network Manager's
OnServerErrorandOnClientErroroverrides. Transports still need to implement their part.Added:
ZigZag VarIntadded back to Compression module.Fixed: Network Discovery HUD now calls
StopDiscoverywhen stopping server/host/client.Fixed:
NetworkTime.lastPingTimeis now reset properly.Fixed: KCP updated to version 1.12.
Fixed:
NetworkBehaviourdirty check uses double time.Fixed:
NetworkTime.UpdateClientuses double precision time for accuracy over days/weeks.Fixed:
NetworkAnimatoruses double precision time for accuracy over days/weeksFixed: Quaternion Compression would produce wrong result for certain values.
Fixed: Added missing
[Command]attribute toNetworkAnimator.CmdSetAnimatorSpeed.Fixed:
DestroyObjectis now called when cleaning up scene identities too. Sends unspawn messages and callsOnStopClient/OnStopServerproperly.Fixed: Clear
hasAuthoritywhen destroying and callOnStopAuthority.Changed: Distance Interest Management now has custom range component, replacing Network Proximity Checker.
Changed: Per-scene interest management replaces Network Scene Checker.
Changed: Network Match component separated from Network Match Checker.
Changed: Match Interest Management replaces Network Match Checker.
Changed:
NetworkManager.isNetworkActiveis now a readonly bool.Changed:
NetworkManager.ConfigureServerFrameRaterenamed toConfigureHeadlessFrameRate.
v42.2.12 -- 2021-Jul-12
Added: Timestamp-based batching. Batching is always on now and is bidirectional.
Added:
NetworkServer/NetworkClientOnConnected/OnDisconnectedevents now public so custom Network Managers can hook into them.Fixed:
NetworkServer/NetworkClientShutdownnow correctly clearsOnConnected/OnDisconnectedevent handlers.Fixed: Scene loading with batching works now.
Fixed: KCP 1.11 significantly reduced garbage allocations.
Fixed: Fallback Transport didn't propagate Early/Late Update.
Fixed:
OnClientDisconnectwasn't being called for host client.Fixed: Interest Management V2 now allows
SetHostVisibilityoverwriting.Fixed: Serialization precision over days using frame count instead of single precision time.
Fixed: Added null check and error logging when
networkBehavioursarray is null.Fixed: Force calling
NetworkIdentity.Awakewhen parent is inactive.Fixed:
OnClientChangeScenewas not firing for host client.Fixed: Avoid NRE in
UnpackAndInvoke.Fixed: Null handling in
WriteUriandReadUri.Fixed:
FinishLoadSceneshould not be called whencustomHandlingis true (Additive Scenes).Fixed: Prevent assetId from being set to an empty string.
Fixed:
clientAuthorityis now public inNetworkRigidbody/NetworkRigidbody2D.Changed: Transports are no longer paused (disabled) during scene loading. Message processor handles this correctly now, so transports can be simplified.
v40.0.9 -- 2021-Jun-08
Added:
ServerAuthFailedbool to Basic Authenticator.Added: Discovery HUD now has a Stop Button.
Fixed: KCP updated to version 1.10.
Fixed: Telepathy updated to version 1.8.
Fixed:
NetworkIdentitydefault script execution order set to -1.Fixed: Discovery now properly shuts down in
OnDisable/OnDestroy.Fixed: Discovery now stops discovering when client is connected to game server.
Fixed:
NetworkTransformsync scale and interpolation.Fixed: Player object now prevented from being added to Network Manager's spawnable prefabs list
Fixed: Simple Web Sockets transport SSL Handshake.
Fixed:
NetworkServer.OnDisconnectnow callsDestroyPlayerForConnectionifNetworkManagerdoesn't handle it.Fixed:
NetworkClient.Disconnectnow checks for null connection and that it's not called twice.Fixed:
NetworkTimenow resets when server starts.Fixed: Basic example
PlayerUItext corrected.Fixed: Timeouts in Telepathy fixed.
Fixed: Observers are now correctly cleared after other clients disconnect.
Changed:
NetworkConnectionparameter removed from Network Authenticator's Client messages.Changed:
MessagePacking GetId<T>return value changed toushort.Changed:
Transport.ServerDisconnectreturn is now void instead of bool.Removed: Network Manager's Idle Timeout.
Removed: Cloud API and examples.
Obsolete: Fallback Transport will be removed in a later release.
v35.1.0 -- 2021-Mar-29
Added: Network Discovery now has a bool to disable automatic active discovery.
Added:
PersistNetworkManagerToOfflineSceneto Network Manager...see tooltip.Added: Latency Simulation Transport that can be added to Network Manager and have normal transport chained to it to simulate network latency.
Added: Sync Mode tooltip.
Added: Headless clients now set
targetFrameratelike headless serversAdded:
NetworkTransformnow has the following features:Compress Rotation option
Sync Scale option
Interpolate Scale option
Fixed: No Writer found / No Reader found errors have been resolved.
NOTE: You may need to delete your
Library/ScriptAssembliesfolder and IL2CPP cache
Fixed:
NetworkIdentity.isLocalPlayeris only set, but never reset. Fixes a bug whereisLocalPlayerwould be false inOnDestroy, so some components couldn't rely on it inOnDestroy.Fixed:
NetworkIdentity.Resetnow resetsisLocalPlayerafter theisLocalPlayer/ClearLocalPlayercheck.Fixed:
NetworkIdentity.OnDestroynow only clearsNetworkClient.localPlayerif we are still the local player.Fixed: Client Shutdown is no longer run twice via user code calling
StopClient.Fixed:
SyncVarfield label not shown in Unity 2020 versions (Unity bug).Changed: Network Manager
OnServerAddPlayernow adds the connection id to the object name (on the server only, not synced to clients).Changed: Several fields in
NetworkTimewere renamed. The previous field names are still there and obsolete and will be removed in a later version.Changed: Most of
ClientSceneis now obsolete, use same or similar properties inNetworkClientinstead.ClientScenewill be fully deprecated and removed in a later version.Changed:
NetworkClient.RegisterHandleroverload that included aNetworkConnectionis now obsolete and will be removed in a later version. Handlers can useNetworkClient.connectiondirectly.Changed: Channel constants names were shortened. The original constants are still there and obsolete, and will be removed in a later version.
Breaking: Minimum supported Unity version is now 2019.4.x LTS.
Breaking:
ClientScene.onLocalPlayerChangedremoved.Breaking: Compiler symbols culled to Mirror 17 and later versions.
v32.1.4 -- 2021-Mar-08
Added:
NetworkIdentitynow hasisServer/isClientOnly.Added: Global Interest Management. This may eventually lead to replacement of Scene Checker, Match Checker, and Owner Checker components.
Added: GUI Console ported from uMMORPG (F12 to show/hide).
Added: Network Manager now takes itself out of DDOL in
StopServer/StopClientwhen offline scene is defined to avoid singleton collision.Added: Message batching. Enable in Network Manager.
Added: Custom Player Loop:
NetworkEarlyUpdate(before any Update/FixedUpdate)NetworkLateUpdate(after any Update/FixedUpdate/LateUpdate) loops
Added: KCP Tick split into
TickIncoming/TickOutgoingto utilize the new NetworkEarly/LateUpdate functions...minimizes latency.Added: Push > Pull Broadcasting Part 1.
Fixed: Telepathy 1.7 receive timeout disabled by default, increased
MirrorTransporttimeout to 30sec from 5sec to cover scene changes.Fixed:
NetworkServer.SpawnObserversForConnectionrefactored to support all visibility cases (ForceShown/ForceHidden/Default) and all systems (legacy / new / default).Fixed:
NetworkManager.StopServer/StopClient: avoidNullReferenceExceptionwhen called inOnApplicationQuitor from tests.Fixed:
NetworkServer.Update: inactive connection check moved into the main connectionsforeachloop. Eliminates aforeach-connections loop.Fixed:
NetworkServer.Update: separate connections update loop moved into the main loop. Now there is only one connections loop.Changed:
NetworkManagerHUD.showGUIis now obsolete and will be removed in a later version.Changed:
SendToClientOfPlayeris now obsolete and will be removed in a later version.Breaking:
LogFactoryand logging asset feature removed.Breaking: Command
ignoreAuthorityparameter renamed torequiresAuthority, default true.Breaking:
ClientRpcexcludeOwnerparameter renamed toincludeOwner, default true.Breaking:
ClientScene.spawnableObjectsis no longer public.
v30.5.3 -- 2021-Feb-15
Fixed: Fixed a bug in batching for messages larger than MTU.
Fixed: Telepathy 1.6 fixes data races and improves stability.
Fixed: KCP 1.8 fixes empty message sending / receiving undefined behaviour and fixes IPv6 on Nintendo Switch.
Changed: Network Manager default max connections is now 100.
Breaking:
NetworkServer/NetworkClientdon't use Connect/Disconnect messages any more. Connect/Disconnect events are raised by the transport instead.Breaking:
OnServerError/OnClientErrorremoved since no transport ever implemented them.Breaking Removed
NetworkConnection.InvokeHandleras no longer needed.
v30.5.0 -- 2021-Feb-05
Added: KCP Transport updated to version 1.7.
Added: Batching support for server messages - See Network Manager to enable.
Added: Network Owner Checker.
Added: Script Templates are back in the package -- See the new Mirror section in the Assets > Create menu.
Added: Unreliable channel added to KCP Transport.
Fixed: Performance improvements to KCP Transport.
Fixed: Examples with UI now work with Unity 2018.4 again
Fixed:
NetworkServer.OnConnectedallows forconnectionId< 0 now.Fixed: Corrected
NetworkRoomPlayerReadyStateChangedoldReadyStateparameter name.Changed: Ping/Pong messages now use unreliable channel if available from transports.
Breaking Read / Write Blittable has been removed.
Last updated