github MirrorNetworking/Mirror 2022_10
v69.0.0

latest releases: v89.8.1, v89.8.0, v89.7.4...
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 :)

Don't miss a new Mirror release

NewReleases is sending notifications on new releases.