Mirror
Search…
⌃K

Changelog

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.

New Changelog:

Version 66.0.9 -- 2022-Apr-17

NOTE: This will be the last Mirror release to support Unity 2019 LTS, as it has reached end of life by Unity.
  • Added: Network Statistics component, showing messages & packets sent & received per second.
  • Added: Queue.TryDequeue extension added for Unity 2019 & 2020 compatibility.
  • Fixed: NetworkClient.ChangeOwner now uses isLocalPlayer flag to check if OnStopLocalPlayer should be called.
  • Fixed: ReadNetworkBehavior now correctly reads data on client even if the associate NetworkIdentity is missing from the client.
  • Fixed: NetworkClient.SpawnPrefab now correctly looks for custom spawn handlers before using registered prefabs list instead of after.
  • Fixed: NetworkWriterExtensions now uses WriteArray instead of Write.
  • Fixed: Attempting to serialize prefabs and not-spawned game objects throws a more obvious exception.
  • Fixed: DestroyAllClientObjects now also resets after unspawn handler called.
  • Fixed: Calling StopClient in Host mode no longer resets nextNetId.
  • Fixed: Calling StopClient in Host mode no longer destroys objects on clients.
  • Fixed: It should now be possible to call StopClient in Host mode to leave the server in a running "Server Only" state, keeping all clients connected and running normally.
  • Fixed: AggressiveInlining attribute added in many places to improve performance.
  • Changed: NetworkWriter / NetworkReader API simplified.
  • Changed: PooledNetworkReader / PooledNetworkWriter renamed to NetworkReaderPooled / NetworkWriterPooled.
  • Changed: Transport base class moved to Runtime folder, Transport folder renamed to Transports

Version 65.0.0 -- 2022-Mar-09

  • Added: Command / ClientRpc / TargetRpc can now be overloaded.
  • Added: Network Behaviour now has OnStopLocalPlayer virtual method, invoked right before OnStopClient. Script Template has also been updated.
  • Added: Network Manager Template overrides singleton to eliminate the need to cast Network Manager's singleton to derived class type.
  • Added: Support for generic NetworkBehaviour<T> subclasses.
  • Fixed: Network Reader/Writer uses blittable reads/writes where possible.
  • Fixed: Android compatibility for Read/Write blittable.
  • Fixed: Android Multicast Discovery.
  • Fixed: NetworkTransformChild now correctly syncs initial state when spawned.
  • Fixed: Latency Simulation now uses Time.unscaledTime.
  • Fixed: SimpleWebsocketTransport has been updated to fix a number of bugs, including compatibility with Unity 2021.x, and handling of messages larger than 64K.
  • Changed: A bunch of virtual methods now take NetworkConnectionToClient instead of NetworkConnection.
  • Changed: RemoteCallHelper renamed to RemoteProcedureCalls.
  • Changed: CmdDelegate renamed to RemoteCallDelegate.
  • Changed: MirrorInvokeType renamed to RemoteCallType.
  • Changed: NetworkManager.clientLoadedScene is now protected.
  • Obsolete: NetworkTransform now has overloads for CmdTeleport / RpcTeleport with Quaternion rotation, deprecating separate CmdTeleportAndRotate / RpcTeleportAndRotate methods, made possible by implementing Command / ClientRpc overloads mentioned above.
  • Obsolete: Experimental Network Transform components. Use the regular ones instead.

Version 57.0.0 -- 2022-Jan-12

  • Fixed: KCP updated to version 1.17.
  • Fixed: Use Read/Write blittable for performance improvement.
  • Removed: Obsolete Network Visibility.

Version 55.3.8 -- 2022-Jan-05

  • Added: Team Interest Management and Network Team components.
  • Added: Custom Interest Management Script Template.
  • Added: Custom Network Transform Script Template.
  • Added: Rotation parameter added to NetworkTransform CmdTeleport / RpcTeleport.
  • Added: Support for a bunch more nullable types.
  • Added: Additive Levels example.
  • Added: Texture2D and Sprite are now supported Data Types.
  • Fixed: Fast Enter Play mode without Reload Domain now supported by resetting all statics.
  • Fixed: Network Transform now uses less bandwidth by only syncing changes based on sensitivity.
  • Fixed: KCP updated to version 1.15.
  • Fixed: ReplacePlayerForConnection now correctly updates isLocalPlayer flag.
  • Fixed: OnStopClient no longer called twice in certain cases.
  • Fixed: NetworkServer now checks for active before invoking Interest Management updates.
  • Fixed: Objects spawned with a client owner no longer lose ownership when respawned via interest management.
  • Fixed: Delayed Disconnect in Basic Authenticator now uses HashSet of connections pending disconnect.
  • Fixed: NetworkTransform now checks for ready client before sending updates to server.
  • Fixed: OnStartLocalPlayer now correctly called again after RemovePlayerForConnection followed by AddPlayerForConnection with the same player object.
  • Changed: NetworkMatch moved to InterestManagement/Match folder.
  • Changed: Internal code for SyncVar. Resetting non-default inspector values may be required.
  • Changed: Tanks example updated.
  • Changed: Chat example updated...overhauled really.
  • Changed: Network Reader / Writer now use blittable serialization where possible (4-6x performance improvement).
  • Breaking: Removed obsolete ConfigureServerFrameRate Use ConfigureHeadlessFrameRate instead.
  • Breaking: Removed obsolete PersistNetworkManagerToOfflineScene.
  • Breaking: NetworkAuthenticator OnClientAuthenticated event no longer needs a NetworkConnection parameter.
  • Obsolete: OnClient* virtual methods in Network Manager no longer take a NetworkConnection parameter.
  • Obsolete: Network Room Manager client overrides no longer have NetworkConnection parameter. Use NetworkClient.connection in your overrides instead.