Change Log

Mirror is published to the Asset Store at the start of every month, unless some critical issue causes a delay.

Mirror uses semantic versioning, and the versions shown here are those that were published to the Asset Store, and occasionally major version bumps happen mid-month between store submissions and are therefore not individually shown here.

For further details on versions and their specific change logs, see github release page: https://github.com/MirrorNetworking/Mirror/releases

v94.x.x -- In Progress

Added

  • Network Manager now has a Clear button for spawnable prefabs.

  • Encryption Transport now logs hardware accelleration status.

  • PlayerControllerRB in example controllers: uses non-kinematic rigidbody instead of Character Controller.

  • Vector4Long implemented for quarternions delta compression

  • Half Floats for Quaternion compression.

  • Entering play mode while in prefab edit mode works now.

  • HashSet is now supported in SyncVar / Command / ClientRpc / TargetRpc / NetworkMessage.

  • NetworkIdentity.OnDestroy verifies spawned[netId] before removing

Fixes

  • Reader / Writer Processor now works across assemblies.

  • Simple Web Transport jslib improved to support more platforms.

  • Network Manager StopClient no longer calls OnClientDisconnectInternal (Transport calls it).

  • Netgraph improvements.

  • Examples updated.

  • Edgegap Plugin updated to 2.3.1.

  • Encryption Transport now implements Port Transport.

  • Network Server now checks listen and rejects connections if not listening.

  • KCP handles nulls in OnClientError during shutdown better now.

Changes

  • Network Server dontListen renamed to listen to eliminate double negative bool.

  • Deprecated Network Manager's virtual OnApplicationQuit - Use OnDestroy instead.

  • Deprecated Transport's virtual OnApplicationQuit - Use OnDestroy instead.

  • Deprecated Snapshot interpolation settings in Network Client in favor of SnapShotSettings.

  • Bouncy Castle moved to Encryption Transport folder.

v93.0.0 - 2024-Oct-5

Added

  • Unity 6 Compatibility.

  • PlayerContollers have been overhauled and examples updated.

  • ServerTeleport added to NetworkTransform.

  • Ping/Traffic/FPS Graphs.

  • PickupsDropsChilds example with Robot Kyle created.

Fixes

  • Edgegap Plugin updated to 1.0.8.

  • Simple Web Transport improved logging and removed allocations.

  • Telepathy Transport now has more robust error handling in GetClientAddress.

  • ReadOnly attribute now works for properties too.

Changes

Breaking Changes

  • NetworkTransform sendIntervalMultiplier replaced by syncInterval math.

  • Older obsoletes removed.

v90.0.0 - 2024-Aug-2

Added

  • TopDown Shooter example created.

  • AutoLAN exxample created.

  • NetworkRuntimeProfiler implemented.

  • OnServerConnectedWithAddress implemented for all Transports.

  • Network Manager now has offlineSceneLoadDelay to allow showing a UI message before loading the offline scene.

Fixes

  • GetPositionAndRotation extension now excluded for 2022.0 or newer.

  • Edgegap Plugin updated to 1.0.1.

  • NetworkServer.Destroy no longer calls ResetState on prefabs so isServer is preserverd for OnDestroy.

  • NetworkBehaviour now checks for non-zero netId before attempting to invoke Commands.

  • NetworkServer now removes default OnTransportConnectedWithAddress handler in RemoveTransportHandlers.

  • Simple Web Transport now supports https URI scheme.

  • TimeSnapshotMessage no longer requires authority.

Changes

  • Bouncy Castle now has new namespace and GUID.

  • Simple Web Transport default setup now assumes reverse proxy will be used.

  • OnServerConnected has been deprecated in favor of OnTransportConnectedWithAddress.

v89.80 - 2024-Jun-13

Added

  • Transport: IsEncrypted and EncryptionCypher virtual methods.

  • Encryption Transport implementsIsEncrypted & EncryptionCypher .

  • Simple Web Transport implementsIsEncrypted & EncryptionCypher .

  • Edgegap Lobby Transport & Demo.

  • Transport Exception Actions have been reimplemented.

  • SpatialHashing3D for XYZ to include vertical axis in checks.

  • Implement PortTransport for LatencySimulation since almost all underlying Transports are PortTransports.

Fixes

  • Weaver Custom Read / Write methods for Serialization now works across assembly definitions.

  • EdgegapKcp StopHost() null reference exception.

  • EdgegapHosting now only includes enabled scenes in builds.

  • ILPostProcessorAssemblyResolver now ignores Bee.BeeDriver better.

  • Simple Web Transport now locally scopes websocket and Runtime.

  • Latency Simulation had a bunch of minor bugs.

  • Missing overrides added to Network Rigidbody components.

  • Network Manager's OnGUI now wrapped in DEBUG compiler symbol.

  • NetworkServer now correctly spawns player for owner client when Visibility is Force Hidden.

  • Network Animator now defaults animatorSpeed to 1 so SyncVar works correctly.

  • NetworkTransform components auto-assign their own GO if target is unassigned.

  • Pool now checks for nulls when returning and discards.

  • Batches are now properly returned to NetworkWriterPool before destroying the connection

  • GetSyncVarNetworkBehaviour now validates componentIndex and logs detailed error instead of IndexOutofRangeException.

  • Sync* Collections now have pretty names in inspector.

  • version file is now included in release packages with correct version.

Changes

  • LagCompensator attributes updated and custom inspector added.

  • Remote Statistics default hotkey changed to backtick ( ` ).

  • Continued improvements to Prediction and PredictedRigidbody. These are still considered as experimental features.

  • SyncDictionary, SyncList, and SyncSet all now call their Clear operations after invoking the Callback, so users can iterate the collection in the callback hander.

  • SyncDictionary, SyncList, and SyncSet all now have individual Actions that users can subscribe to directly.

    • NOTE: Some Actions pass the OLD values where appropriate, so be careful with your implementations. Also note that these new actions replace the generic Callback Action that is now obsolete and will be removed later in the year.

  • KCP Transport updated to version 1.41.

  • Moved GetClientAddress exception handling from Transport into Telepathy itself.

  • NetworkServer.RemovePlayerForConnection now has RemovePlayerOptions.

v89.0.0 -- 2024-Mar-05

Added

  • GetFunctionMethodName added to RemoteProcedureCalls.

  • NetworkClient RegisterHandler now takes ChannelId parameter.

  • NetworkServer and NetworkClient now have ReplaceHandler with ChannelID parameter.

  • SyncVar now supports arrays.

  • NetworkTime.SendPing method for NetworkClient to call from OnTransportConnected.

  • NetworkTransform-Unreliable only send changed data for improved bandwidth usage.

  • Lag Compensator as convenience component that wraps all the Lag Compensation logic.

  • Encryption Transport as chained transport.

Fixes

  • NetworkServer.RemovePlayerForConnection now uses NetworkConnectionToClient.

  • NotReadyMessage no longer requires authenticated client.

  • InterestManagementBase OnEnable no longer shows error when called multiple times.

  • Match and Team Interest Management overhauled for better performance.

  • NetworkAnimator now initializes state in OnEnable.

  • NetworkAnimator now always serializes and deserializes the exact amount of data.

  • NetworkAnimator ClientRpc now has includeOwner = false.

  • NetworkServer.SendToAll/Observers/ReadyObservers now validates packet size while <T> is still known.

  • NetworkTransform-Unreliable Quaternion compression.

  • NetworkManager.ServerChangeScene now prevents client from calling.

  • NetworkManager no longer forces networkAddress to localhost on server builds.

  • Multiplexer now avoids KeyNotFoundException.

  • NetworkServer and NetworkClient respect exceptionDisconnect.

  • Now uses FindAnyObjectByType for later Unity versions.

  • NetworkServer.Destroy refactored.

  • NetworkServer.Spawn now activates inactive GameObjects (in case Unspawned).

Changes

  • KCP Transport updated to version 1.40.

  • InterestManagement now has separate ResetState from Reset.

  • NetworkTransform now has separate ResetState from Reset.

  • NetworkTransform Sync Direction now defaults to Client To Server.

  • NetworkAnimator Sync Direction now defaults to Client To Server.

  • NetworkRigidbody Sync Direction now defaults to Client To Server.

  • onlySyncOnChange and compressRotation moved to NetworkTransformBase.

  • Extensive improvements to Prediction and PredictedRigidbody...still experimental.

  • Examples Updated.

  • Edgegap Hosting Updated.

Breaking Changes

  • NetworkIdentity visible renamed to visibility.

Last updated