Mirror

#1 Open Source Unity Networking Library

MIT License

Stars
4.9K
Committers
123

Bot releases are visible (Hide)

Mirror - v69.0.0

Published by vis2k almost 2 years ago

Formerly 2022.10

  • 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 :)
Mirror - v68.0.0

Published by vis2k almost 2 years ago

Formerly 2022.9

manual github release

Mirror - v67.1.0

Published by github-actions[bot] over 2 years ago

67.1.0 (2022-05-12)

Mirror - v67.0.6

Published by github-actions[bot] over 2 years ago

67.0.6 (2022-05-11)

Bug Fixes

  • NetworkClient - Check for duplicate sceneId (#3157) (d3fa0c6)
Mirror - v67.0.5

Published by github-actions[bot] over 2 years ago

67.0.5 (2022-05-08)

Bug Fixes

Mirror - v67.0.4

Published by github-actions[bot] over 2 years ago

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)
Mirror - v67.0.3

Published by github-actions[bot] over 2 years ago

67.0.3 (2022-04-20)

Performance Improvements

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

Published by github-actions[bot] over 2 years ago

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)
Mirror - v67.0.1

Published by github-actions[bot] over 2 years ago

67.0.1 (2022-04-18)

Bug Fixes

  • TeamInterestManagement OnDestroyed logic (2db726d)
Mirror - v67.0.0

Published by github-actions[bot] over 2 years ago

67.0.0 (2022-04-18)

Mirror - v66.0.9

Published by github-actions[bot] over 2 years ago

66.0.9 (2022-04-16)

Bug Fixes

Mirror - v66.0.8

Published by github-actions[bot] over 2 years ago

66.0.8 (2022-04-12)

Bug Fixes

  • Weaved static constructors need to always run (#3135) (b0624b2)
Mirror - v66.0.7

Published by github-actions[bot] over 2 years ago

66.0.7 (2022-04-11)

Bug Fixes

  • NetworkWriterExtensions:WriteTexture2D call WriteArray instead of Write (2f76c73)
Mirror - v66.0.6

Published by github-actions[bot] over 2 years ago

66.0.6 (2022-04-04)

Bug Fixes

  • #2705 NetworkClient.SpawnPrefab looks for spawn handlers before looking for registered prefabs, instead of the other way around (eded0a2)
Mirror - v66.0.5

Published by github-actions[bot] over 2 years ago

66.0.5 (2022-04-03)

Bug Fixes

  • #2060 serializing GameObjects / NetworkIdentities now throws an obvious exception for prefabs / unspawned objects (#3132) (1a6c5de)
Mirror - v66.0.4

Published by github-actions[bot] over 2 years ago

66.0.4 (2022-04-03)

Bug Fixes

  • #2972 ReadNetworkBehaviour now reads the correct amount of data even if the NetworkIdentity has disappeared on the client. (243821f)
Mirror - v66.0.3

Published by github-actions[bot] over 2 years ago

66.0.3 (2022-04-01)

Bug Fixes

  • Correct version for Queue.TryDequeue (c79c6d1), closes #3131
Mirror - v66.0.2

Published by github-actions[bot] over 2 years ago

66.0.2 (2022-04-01)

Bug Fixes

  • added Queue.TryDequeue extension for Unity 2019 (3d471db)
  • Byte format test uses current culture (#3126) (1631402)

Performance Improvements

  • Build batches directly instead of queuing serializations (#3130) (6c2559a)
Mirror - v66.0.1

Published by github-actions[bot] over 2 years ago

66.0.1 (2022-03-23)

Bug Fixes

  • #2954 calling StopClient in host mode does not destroy other client's objects anymore (d8774ec)
  • #2954 calling StopClient in host mode does not reset nextNetId anymore (6f98122)
  • #3122 DestroyAllClientObjects now also resets after unspawn handler was called (#3124) (3d6c41a)
Mirror - v66.0.0

Published by github-actions[bot] over 2 years ago

66.0.0 (2022-03-18)

Bug Fixes

  • NetworkStatistics Unity 2019 support (8f357d5)
  • NetworkStatistics Unity 2019 support (part two) (4b207d2)

Performance Improvements

  • CompressVarInt uses WriteByte instead of Write to avoid Action call overhead (5fcbd1d)
  • HandleRemoteCall passes componentIndex as byte to avoid extra < 0 check (5515eae)
  • inline GetIndexFromFunctionHash because it's called for every RPC (45e1afc)
  • NetworkConnection.Send() inlining (99c3c0d)
  • NetworkTime ExponentialMovingAverage .Value & .Var as fields instead of properties to avoid call overhead (f4ceb06)
  • NetworkTime.localTime inlined (18170d1)
  • NetworkTime.time inlined (d979880)
  • Rpcs/Cmds functionHash bandwidth reduced from 4 => 2 bytes (with the potential for 1 byte VarInt) (#3119) (a868368)