Skip to content

Releases: vis2k/Mirror


10 Nov 09:58
Choose a tag to compare
  • perf: Grid2D initial capacity to avoid warmup allocations
  • perf: NetworkWriter.WriteString now writes directly into the buffer without the intermediate stringBuffer step
  • perf: NetworkIdentity.assetId is now cached to avoid expensive "new GUID" construction
  • breaking: perf: assetId as uint instead of Guid. saves 12 bytes and much conversion magic (as suggested by james). may need to resave prefabs once in case of spawn issues.
  • breaking: perf: NetworkIdentity/NetworkBehaviour OnSerialize return type changed from bool to void to a-void confusion (and branches)
  • NetworkManager: auto connect client build option for CCU test bots
  • fix: InterestManagement.Awake is now protected virtual (#3214)
  • feature: NetworkWriter.Capacity
  • feature: NetworkWriter.ToString in form of "[DD-CC-BB-AA-FF @ 5/1000]"
  • feature: NetworkWriter implicit ArraySegment conversion for convenience.
    also allows for implicit NetworkWriter to NetworkReader conversion.
  • feature: AccurateInterval from Mirror II to prepare for proper RemoteStatistics measurements & snapshot time interpolation, which requires accurate send interval even if .targetFrameRate can't be set (i.e. in host)
  • perf: NetworkServer: Broadcast() now only runs every tickInterval, even if Application.targetFrameRate isn't set in host mode.
    previously a host may run at 120 Hz, and even with tickInterval set to 10 Hz, Broadcast() would run 120 times per second, checking every component's dirty bits + send interval.
  • perf: new NetworkTime based on the new global NetworkClient time snapshot interpolation: significantly more accurate, especially in the first few seconds
  • fix: LatencySimulation now uses Time.unscaledTimeAsDouble for long running server precision
  • fix: LatencySimulation now flushes properly. fixes barely any packets getting through even on 0 settings
  • perf: all client NetworkTransforms now run on the same NetorkClient.timeline instead of each component computing its own
  • perf: NetworkIdentity.Serialize bandwidth reduced from 1 byte per component index to (roughly) 1 bit per component (#3228)
  • perf: NetworkBehaviour.Serialize safety check reduced from 4 bytes length header to 1 byte length hash, while keeping error correction (#3229)
  • fix: Unity 2019, 2020 support added again (#3230)
  • breaking: .hasAuthority renamed to .isOwned because it's easier to understand, and to prepare for SyncDirection where there is a difference between: (#3231)
  • breaking: NetworkConnectionToServer.clientOwnedObjects renamed to .owned (simplify API)
  • feature: NetworkConnection.owned objects are now available on server AND on client
  • fix: #3234 assetId setter now allows overwriting an old assetId after duplicating a prefab.
  • feature: NetworkWriter.WriteBytes(byte*) unsafe version
  • feature: SyncDirection to easily support client auth components without extra Rpcs/Cmds. previously OnSerialize was only server-to-client direction. (#3244)
  • feature: perf: NetworkConnectionToClient snapshot interpolated .remoteTimeline to simplify NetworkTransform (#3247)
  • feature: NetworkBehaviour.SetDirty() to trigger custom OnSerialize without having to call SetSyncVarDirtyBit(1). prepares for NetworkTransform v3. (#3248)
  • perf: breaking: NetworkTransformChild replaced by NetworkTransform with exposed .target. no more virtual property call. and no more redundant components which do the exact same thing. (#3249)
  • breaking: NetworkTransform.clientAuthority flag obsoleted. use SyncDirection instead. automatically sets syncDirection if still used. (#3250)
  • perf: NetworkBehaviour.IsDirty: check bits before time
  • fix: NetworkTransform now always sends at the same sendInterval as time interpolation. as configured in NetworkManager.
  • fix: NetworkLerpRigidbody now uses double time to keep precision over multiple days
  • fix: NetworkRigidbody now uses double time to keep precision over multiple days
  • fix: NetworkDiscovery BroadcastAddress exposed for iOS support (#3255)
  • feature: manual DeltaCompression to prepare for NetworkTransform V3
  • ... and lots of smaller improvements :)


21 Oct 16:15
Choose a tag to compare

manual github release


12 May 05:50
Choose a tag to compare

67.1.0 (2022-05-12)


11 May 16:28
Choose a tag to compare

67.0.6 (2022-05-11)

Bug Fixes

  • NetworkClient - Check for duplicate sceneId (#3157) (d3fa0c6)


08 May 04:10
Choose a tag to compare

67.0.5 (2022-05-08)

Bug Fixes


29 Apr 03:23
Choose a tag to compare

67.0.4 (2022-04-29)

Bug Fixes

  • #3144 Reader/Writer Sprite null support & test to guarantee it never happens again (2984350)
  • #3144 Reader/Writer Texture2D null support & test to guarantee it never happens again (ae1c7c5)
  • NetworkReader.ReadTexture2D fixed 'reader not found for Color32[]' error when using it from tests (d235037)
  • NetworkReader/Writer Texture2D now sends dimensions too. fixes "Texture2D.SetPixels32: size of data to be filled was larger than the size of data available in the source array. (Texture '')" (b709453)


20 Apr 03:50
Choose a tag to compare

67.0.3 (2022-04-20)

Performance Improvements

  • Cmd/Rpc bandwidth hash size reduced from 4 => 2 bytes (#3148) (1aaa4ce)


19 Apr 06:43
Choose a tag to compare

67.0.2 (2022-04-19)

Bug Fixes

  • Benchmark movement destinations set around start, not around position. prevents them from stopping to move because of the wander off protection. (cebfab0)


18 Apr 13:21
Choose a tag to compare

67.0.1 (2022-04-18)

Bug Fixes

  • TeamInterestManagement OnDestroyed logic (2db726d)


18 Apr 01:18
Choose a tag to compare

67.0.0 (2022-04-18)