Skip to main content

149.8.0 (2024-12-02)

Features

  • making SceneId property public (53de2a0)

149.7.0 (2024-12-01)

Features

  • adding try catch for return RPC (6b7e683)

149.6.0 (2024-11-22)

Features

  • adding UnscaledTime as log option (ab21fbb)

149.5.2 (2024-10-29)

Bug Fixes

  • fixing incorrect log message (e05ab96)

149.5.1 (2024-09-04)

Bug Fixes

  • fixing NRE when DestroyObject is called on unspawned object (ce00f0d)

149.5.0 (2024-08-31)

Bug Fixes

  • fixing using in welcomeWindow for unity2021 (c056f9e)

Features

  • adding "dont show" toggle to welcome window (f3eae96)

149.4.3 (2024-08-31)

Bug Fixes

  • logging warning after disconnect instead of invoking other handler (05a72fa)

149.4.2 (2024-08-21)

Bug Fixes

  • making RemoteCallCollection public (7945bd1)

Performance Improvements

  • adding IEquatable to SyncVar wrappers (5bb203f)
  • using SendToMany for AddNewObservers (69459f5)

149.4.1 (2024-08-07)

Bug Fixes

  • Weaver: fixing AssemblyResolver failing to find system dlls (0551a60)

149.4.0 (2024-07-09)

Bug Fixes

  • disconnecting player if send buffer is full (3ea2d5d)

Features

  • adding SocketLayerException to better handle errors (c76b88a)
  • IsConnecting and IsConnected helper methods to NetworkPlayer (d722758)

149.3.1 (2024-07-02)

Bug Fixes

  • fixing SpawnVisibleObjects throwing if SpawnedIdentities is modified (6cf96e6)

149.3.0 (2024-06-10)

Features

149.2.0 (2024-05-11)

Features

  • adding attribute to show SyncSettings in networkBehaviour if no syncvars (dd6a6d6)

149.1.1 (2024-05-06)

Bug Fixes

  • fixing initial send to observers if from server is false (0ffa316)

149.1.0 (2024-05-06)

Features

  • adding authenticatedOnly to SendToAll (8b1117b)
  • adding list for AuthenticatedPlayers in NetworkServer (dc07c38)

149.0.1 (2024-05-03)

Bug Fixes

  • SocketLayer: fixing socket receive trying to handle message when length is negative (b078387)

149.0.0 (2024-04-28)

  • fix!: changing all time fields to be double (432af2e)

Features

BREAKING CHANGES

  • time fields are now double instead of float

148.4.3 (2024-04-26)

Bug Fixes

148.4.2 (2024-04-26)

Performance Improvements

  • adding batching to unreliable messages (c77bf78)

148.4.1 (2024-04-19)

Bug Fixes

  • fixing return RPC not generating serialize functions (3d162b8)

148.4.0 (2024-04-16)

Features

  • adding callback that can be used to handle Authentication Failed (1cdbfb6)

148.3.0 (2024-04-15)

Features

  • making NetworkIdentity.PrefabHash public (0ec3753)

148.2.0 (2024-04-14)

Features

  • adding generic NetworkBehaviorSyncvar for ease of use (5caabd9)

148.1.1 (2024-04-03)

Bug Fixes

  • removing disconnected player from observer lists (ece4500)

148.1.0 (2024-03-31)

Bug Fixes

  • adding error message if attribute is used on static method (dc66a54)
  • trying to fix import issues after file renames (7a0b3f3)

Features

  • support for jagged arrays (2ec6d3a)

148.0.2 (2024-03-29)

Bug Fixes

  • fixing AddLateEvent tmp list (619b91d)

148.0.1 (2024-03-28)

Bug Fixes

  • fixing use of GO/NI/NB inside Constructor (2f5db3d)

148.0.0 (2024-03-25)

  • refactor!: renaming AddLateEvent_new to AddLateEvent (5d92eba)
  • refactor!: renaming AddLateEvent to AddLateEventUnity (169720c)
  • perf!: changing NetworkIdentity events to use new c# only events (3aaab68)

BREAKING CHANGES

  • renaming from AddLateEvent_new placeholder to just AddLateEvent
  • renaming AddLateEvent which contains UnityEvent and UnityAction to AddLateEventUnity
  • Inspector events removed from NetworkIdentity, use Mirage v147.4.0 first to convert before updating to next version

147.4.2 (2024-03-25)

Bug Fixes

147.4.1 (2024-03-25)

Bug Fixes

147.4.0 (2024-03-25)

Bug Fixes

  • fixing misplaced #if (f663543)
  • new events should not be abstract (e1072d0)

Features

  • create new c# only events (1c9f2d8)
  • new NetworkInspectorCallbacks component (a8051c4)

147.3.0 (2024-03-23)

Features

  • adding public OwnedObjects list and RemoveAllOwnedObject helper method to NetworkPlayer (5a611ba)

147.2.1 (2024-03-18)

Bug Fixes

  • releasing buffers that are in acksystem when disconnecting (42691a6)
  • stopping error when adding handlers for prefab that is already registered (002ec48)

147.2.0 (2024-03-12)

Bug Fixes

  • fixing span support UNITY_2021_3_OR_NEWER (7bf28ed)

Features

  • adding support for Span<T> (3c48db8)

147.1.0 (2024-03-12)

Features

  • adding excludeHost to ClientRpc (a35ed9d)

147.0.3 (2024-02-16)

Bug Fixes

  • ClientObjectManager: add prefab to SpawnHandler when registering (#1171) (7a8ff46)

147.0.2 (2024-02-13)

Bug Fixes

  • fixing unspawn handlers not being used in disconnect cleanup (915f307)

147.0.1 (2024-02-05)

Bug Fixes

  • fixing SocketFactory errors when Listening is false (7ead256)

147.0.0 (2024-01-31)

Bug Fixes

  • fixing scene object spawning in host mode for 1 scene setup (2736fe0)
  • fixing use of is not in unity 2020 (61b7f68)
  • fix!: fixing spawning for unauthenticated code (b25f2f9)

BREAKING CHANGES

  • removing ServerObjectManager.OnlySpawnOnAuthenticated field

146.7.0 (2023-12-28)

Features

  • renaming IsLocalClient to IsHost (39557cd)

146.6.4 (2023-12-20)

Bug Fixes

  • fixing owner not being excluded when host (787e55a)

146.6.3 (2023-12-03)

Bug Fixes

  • fixing time not being sent on connect (66e0978)

146.6.2 (2023-12-02)

Bug Fixes

  • SocketLayer: increase default fragment size to 50 (1fdaa43)

146.6.1 (2023-11-20)

Bug Fixes

  • Weaver: fixing lookup for collection methods (b530360)

146.6.0 (2023-11-05)

Features

  • adding writer for dictionary (f89d596)

146.5.1 (2023-11-05)

Bug Fixes

146.5.0 (2023-11-05)

Features

  • adding WeaverSerializeCollection that can be added to generic writers (00d476b)

146.4.0 (2023-10-20)

Features

  • sending secure hash of connect key (f8901c2)

146.3.2 (2023-10-14)

Bug Fixes

  • fixing syncDirection for syncObjects in host mode (ec45074)

146.3.1 (2023-10-05)

Bug Fixes

  • fixing null ref when using syncObject (362044a)

146.3.0 (2023-10-02)

Features

  • Example: adding scene per match example (5e7911f)

146.2.2 (2023-08-21)

Bug Fixes

  • Weaver: fixing serialize methods for when type is not resolved (21f1aee)

Performance Improvements

  • using cached Id for value types (dccdbf3)

146.2.1 (2023-08-02)

Bug Fixes

  • also removing character when it is removed as owned (b96ed68)
  • updating syncObject ReadOnly before StartServer/Client (67a1d06)

146.2.0 (2023-07-27)

Features

  • adding emit methods for weaver extensions (6b57cd7)
  • making ackSystem public so const fields can be used (63f62bf)

146.1.1 (2023-07-24)

Reverts

  • "pref: using deferred mode for reading, this will speed up other Weavers which dont need to read everything" (6bff2e3)

146.1.0 (2023-07-21)

Features

  • adding attribute that allows for combination of checks (18852f6)

146.0.0 (2023-07-20)

Features

  • INetworkPlayer now has a IsHost property (5d7e5b7)

BREAKING CHANGES

  • NetworkPlayer constructor now requires isHost parameter

145.3.0 (2023-07-17)

Features

  • Cecil: adding AddProperty to cecil extensions (328912a)

145.2.0 (2023-07-16)

Features

  • adding code gen extensions asmdef (1d7363d)

145.1.0 (2023-07-09)

Bug Fixes

  • add missing CompMenu for CharacterSpawner (87c6204)
  • add missing HelpUrl for CharacterSpawner (5cd704a)
  • add missing HelpUrl for ClientObjectManager (1186cf6)
  • add missing HelpUrl for NetworkClient (daec3a1)
  • add missing HelpUrl for NetworkSceneManager (cd5c753)
  • add missing HelpUrl for NetworkServer (35d217e)
  • add missing HelpUrl for ServerObjectManager (127a883)
  • add missing HelpUrl for SocketFactory (a29b1b7)
  • measuring time not distance. add s (fbcdf1e)

Features

  • adding function to skip bits (0bcbc7f)

145.0.4 (2023-07-07)

Bug Fixes

  • Cleaning up name used for generic types (d846f13)

145.0.3 (2023-07-06)

Bug Fixes

  • adding warning if spawned Identity already has netid (22478f4)

145.0.2 (2023-07-05)

Bug Fixes

  • calling NetworkReset with custom unspawn handlers (94a9199)
  • checking if scene object before destroying owned object (d6ced44)

145.0.1 (2023-06-29)

Bug Fixes

145.0.0 (2023-06-27)

Features

  • adding function to SyncObjects so that they can use the NetworkBehaviour that are a part of (b6f3526)

BREAKING CHANGES

  • ISyncObject now needs to implement the SetNetworkBehaviour function

144.0.0 (2023-06-26)

Bug Fixes

  • adding check to SyncObjects to make sure they are IEnumerable before drawing them as list. (907d8ce)
  • logging prefab hash as hex (8289f20)
  • removing debug log from welcomewindow (3be3f42)

Code Refactoring

  • moving SyncsAnything to InspectorHelper (f3755d9)

BREAKING CHANGES

  • SyncsAnything for editor scripts moved to InspectorHelper

143.2.3 (2023-06-23)

Bug Fixes

143.2.2 (2023-06-21)

Bug Fixes

  • fixing host authentication using Connected event (6bb6bed)

143.2.1 (2023-06-20)

Bug Fixes

143.2.0 (2023-06-19)

Features

  • adding script that will make sure object is always visible (0b763cf)

143.1.0 (2023-06-19)

Features

  • adding attribute that instructs Weaver to write a type as generic (1b1e4e6)

143.0.0 (2023-06-18)

Features

  • adding INetworkPlayer to Authenticate (ba54dd2)

BREAKING CHANGES

  • Authenticate overrides now require INetworkPlayer argument

142.0.0 (2023-06-17)

Features

  • adding support for Reply Rpc on server side (dc56f27)

BREAKING CHANGES

  • Rpc messages renamed

141.2.0 (2023-06-17)

Features

  • adding syncList methods to set an index as dirty (4dfe8df)

141.1.0 (2023-06-16)

Features

  • NetworkManagerGUI: overhaul the debug controls (#1149) (8b97f36)

141.0.2 (2023-06-13)

Bug Fixes

  • fixing scene objects not being removed from NetworkWorld (546dd3c)

141.0.1 (2023-06-12)

Bug Fixes

  • fixing RPC with multiple components (2ae9ddc)

141.0.0 (2023-06-12)

  • feat!: adding extra SendTo functions on NetworkServer (c5ba561)

Features

  • adding overload to create pools without requiring buffer size (9842b40)

BREAKING CHANGES

  • Server.SendToMany functions reworked

140.3.0 (2023-06-11)

Features

  • adding option to rethrow exception throw message handler (15f27a4)

Performance Improvements

  • moving RPC collection to NetworkIdentity (773910c)

140.2.0 (2023-06-10)

Features

  • option to invoke hook on owner when they are sending syncvar (36c1b37)

140.1.0 (2023-06-09)

Features

  • adding syncvar hook with 0 args (d17576a)

140.0.0 (2023-06-04)

Features

  • updating syncLists to use new SyncDirection (f6f78a8)

BREAKING CHANGES

  • SyncObjects now need to implement SetShouldSyncFrom

139.0.0 (2023-05-24)

Bug Fixes

  • avoiding disconnect being called twice (ce36e58)
  • feat!: new authentication (b9b490f)

Features

  • adding flag to set if message is only allowed if authenticated (d710f45)
  • adding log for receiving message (e73c9d5)
  • adding log handler that adds label and color to messages (bb26471)
  • adding send log to network player (af7104c)
  • adding session authenticator (ae1ef69)
  • improving log for RegisterHandler (c6d4efd)
  • updating Authenticators (b355604)

BREAKING CHANGES

  • complete NetworkAuthenticator rework see docs for changes
  • by default message will disconnect player if unauthenticated. Use allowUnauthenticated flag to avoid this

138.0.0 (2023-05-23)

Bug Fixes

Features

  • making NetworkManagerGUI automatically find NetworkManager when added (c600b4c)

BREAKING CHANGES

  • internal fields are not longer automatically written by Weaver generated functions

137.0.3 (2023-05-17)

Bug Fixes

  • fixing serialize writing to owner writer when no owner (c6f203f)
  • fixing server setting HasAuthority to true (a6fa26d)

137.0.2 (2023-05-09)

Bug Fixes

  • fixing guard functions for generic and array (b453d36)

137.0.1 (2023-05-05)

Bug Fixes

  • fixing message size being too small with DisableReliableLayer (50b4093)

137.0.0 (2023-05-05)

Bug Fixes

  • adding OnValidate to NetworkManager (5a54b3a)
  • fixing null ref when ObjectManager not set (7333749)
  • fixing race condition with ServerObjectManager (f2d2cf3)

Code Refactoring

  • changing clientObjectManager to be used by other classes (2a69409)

BREAKING CHANGES

  • NetworkClient and NetworkSceneManager now need a reference to ClientObjectManager
  • NetworkServer now need a reference to ServerObjectManager

136.2.0 (2023-05-04)

Features

  • adding helper function to get AuthenticationData as a type (a2d7382)

136.1.0 (2023-05-04)

Features

  • components to sync if gameObject is active (873db7f)

136.0.0 (2023-05-01)

Bug Fixes

  • fixing typo for Spawn settings (2d8a35a)

Code Refactoring

  • adding headers to Character spawner fields (3ed2134)
  • Changing default spawn settings (89564f4)
  • moving Spawn Settings too its own file (5bdc7a3)

Features

  • adding Name and GameObjectActive to Spawn settings (fd12390)
  • adding option to always enable client object (686a904)
  • adding option to disable Setting name by CharacterSpawner (796a7bd)

BREAKING CHANGES

  • NetworkIdentity.TransformSpawnSettings moved to NetworkSpawnSettings
  • Spawning a prefab will no longer automatically enable it. Spawn settings must have SendGameObjectActive set to true and object on server to be enabled as well
  • SpawnMessage now has SpawnValues struct to store values in. SpawnMessage also has new ToString message
  • removing FormerlySerializedAs from CharacterSpawner

135.1.0 (2023-04-30)

Bug Fixes

  • fixing SendNotify deliver (3f9ceb9)

Features

  • adding option to disable reliable layer (6618b5d)
  • adding option to use UniTaskVoid for message handlers (64b9cc7)

135.0.0 (2023-04-29)

Code Refactoring

  • making add remove connections private (0cac9a3)

BREAKING CHANGES

  • NetworkServer methods AddConnection and RemoveConnection are no longer public

134.0.0 (2023-04-28)

Code Refactoring

  • removing NumberOfPlayers (cafbe50)
  • removing Obsolete functions (a3932f2)

Features

  • adding SpawnInstantiate helper methods (58f14cd)

BREAKING CHANGES

  • removing Obsolete functions, see commit for details
  • NumberOfPlayers removed

133.0.0 (2023-04-24)

Features

  • refactoring LobbyReady to use new features (b9e13e3)

BREAKING CHANGES

  • LobbyReady and ReadyCheck components changed

fix: using Start instead so Server can be added by test

test: trying to fix lobby test

fix: fixing lobby ready

setting syncvar in another asm doesn't work all the time. Unity ILPP is weird

132.0.3 (2023-04-14)

Bug Fixes

  • SyncPrefab now uses Prefab field to write even if hash is not zero (57eea65)

132.0.2 (2023-04-11)

Bug Fixes

  • fixing hostmode not sending syncvar to remote owner (925d57d)

132.0.1 (2023-04-10)

Bug Fixes

132.0.0 (2023-04-10)

Bug Fixes

  • fixing sample (7d1d6f7)
  • renaming SpawnObjects to SpawnSceneObjects (6b89619)

Code Refactoring

  • renaming Start to Setup for public methods to start ServerObjectManager late (d5f0647)
  • refactor!: moving scene code out of ServerObjectManager (f2b3938)
  • refactor!: adding INetworkVisibility (e47d4a3)

Features

  • adding to string override for network identity. (279e207)

BREAKING CHANGES

  • NetworkSceneManager now requires a reference to ServerObjectManager in the inspector
  • ServerObjectManager.Start renamed to Setup
  • NetworkIdentity.Visibility can now throw if called before Object is spawned

131.1.3 (2023-04-10)

Bug Fixes

  • setting reason too None if packet length is not 3 (dcc4fa9)

131.1.2 (2023-04-05)

Bug Fixes

  • fixing incorrect Undo.RecordObject target (0db933a)
  • fixing register button not setting holder as dirty (762e295)

131.1.1 (2023-04-04)

Bug Fixes

  • fixing compile error with inspector in 2022 (cb7fa26)
  • improving host syncing for new direction (645570c)

131.1.0 (2023-04-01)

Bug Fixes

  • fixing sync direction drawer showing incorrect warning (11a7ab6)

Features

  • adding struct to sync a prefab over network using its hash (15e7bbe)

131.0.2 (2023-04-01)

Bug Fixes

  • not sending to owner if they are host player (1c5eed5)

131.0.1 (2023-03-31)

Bug Fixes

  • hiding SyncSettings when there is nothing to sync (53f3c62)

131.0.0 (2023-03-31)

Bug Fixes

  • adding safety when returning to pool (22e2990)
  • fixing drawer to indent fields (a28a5cf)
  • fixing errors when owner is set before world is (01ad248)
  • fixing IsValidDirection method (e437a10)
  • RegisterPrefabs now has option to skip over existing handlers (ec80990)
  • refactor!: converting Channel to enum (9142513)
  • refactor!: renaming functions used to clear dirty bits (775698c)
  • refactor!: starting to use syncSettings (f673f9b)
  • refactor!: deleting Experimental components (fb5c2a6)

Features

  • adding angle and vec2 packer (039e9cd)
  • adding drawer for sync settings (10ab69e)
  • adding event to world that is invoked when authority changes (5739296)
  • adding helper methods for networkWorld (5ad1f83)
  • adding methods to write from pointer (0b3ae5e)
  • adding OwnerAndObservers option so it shows in inspector (26ec10d)
  • adding static version of update time so that other classes can use it (d96ed04)
  • adding sync settings (53ceb2a)
  • SyncStack (bef8514)

BREAKING CHANGES

  • RegisterPrefabs now has an extra dontAddIfExist bool argument
  • Channel is not an enum instead of an int
  • ClearAllDirtyBits renamed to ClearShouldSync
  • Renaming and Obsolete of custom serialize methods
  • deleting Experimental components

130.4.1 (2023-03-21)

Bug Fixes

  • fixing nanosockets build error on some platforms (fbd136c)
  • fixing typo causing Prefabs header being drawn twice (2c86fc0)

130.4.0 (2023-03-16)

Features

  • adding bool for InitialState (cce01f8)

130.3.0 (2023-02-10)

Features

  • making SetHostVisibility virtual (aef174c)

130.2.0 (2023-02-10)

Bug Fixes

  • making HostRendererVisibility hide objects when it is spawned if not visible (03976a5)

Features

  • adding a function for server to tell clients to load scene (14283b1)
  • adding component that can be used to disable renderers on host player (64c09bf)
  • adding event that is invoked when object visibility changes (d82cd76)
  • adding option to not send additive scenes when client connects (f39414b)

130.1.0 (2023-02-06)

Bug Fixes

  • adding exitgui to stop error (df719b2)

Features

  • add networked prefab attribute (9fdd2ec)
  • making NetworkedPrefab attribute work with new NetworkPrefabs SO (37c4877)

130.0.0 (2023-02-06)

Bug Fixes

  • Examples: updating Paddlespawner awake function to be protected (241a421)
  • marking scene as not ready when player first joins server (f523143)
  • feat(CharacterSpawner)!: making Awake and OnDestroy protected virtual (14ed80a)

BREAKING CHANGES

  • CharacterSpawner.Awake is now protected instead of public

Co-authored-by: James Frowen <jamesfrowen5@gmail.com>

129.6.2 (2023-02-03)

Bug Fixes

  • stopping exception when creating new SO (f55e929)

129.6.1 (2023-02-03)

Bug Fixes

  • fixing typo in DisallowMultipleComponent (715aa33)
  • NetworkManagerGUI: prevent potential NRE spam if reference is lost and tidy up (#1130) (86b5c3d)

129.6.0 (2023-02-02)

Bug Fixes

  • fixing networkprefab drawer height (8884070)

Features

  • adding buttons that create gameobject with NetworkIdentity (0115818)
  • adding custom drawer for networkprefab field (bb34c04)
  • drawing prefab list under NetworkPrefab reference (8c63726)
  • hiding COM prefab list when it is empty and NetworkPrefab is set (5088d33)
  • making RegisterPrefabs public (77c8a48)
  • use scriptable object for spawnable prefabs (#1127) (1973e76)

129.5.0 (2023-01-31)

Bug Fixes

  • ui toolkit list fields not being reorderable (1c77772)

Features

  • adding async versions to NetworkSceneManager functions (#1128) (abae4c8)

129.4.0 (2023-01-06)

Features

  • ui toolkit network behaviour editor for unity 2022.2 and newer (#1121) (f626c77)

129.3.2 (2022-12-22)

Bug Fixes

129.3.1 (2022-12-21)

Bug Fixes

  • throw InvalidOperationException if network client attempts to send messages while disconnected (#1118) (b7ae4de)

129.3.0 (2022-12-16)

Features

  • adding filter to log settings (d50e754)

129.2.1 (2022-12-15)

Bug Fixes

  • marking RemoteCallCollection as NonSerialized (c6ef84b)

129.2.0 (2022-12-11)

Features

  • adding functions to manually update server and client (d18ef5a)

129.1.4 (2022-12-11)

Bug Fixes

  • fixing string encoding from GetIP IntPtr (5073a5f)

129.1.3 (2022-12-10)

Bug Fixes

129.1.2 (2022-12-10)

Bug Fixes

  • adding null check for failing to resolve assembly (13ce8a9)

129.1.1 (2022-12-10)

Bug Fixes

  • il2cpp linux runtime SIGABRT crash with nanosockets (unity 2021.3.15) (#1116) (ff7148b)

129.1.0 (2022-12-05)

Features

  • adding option to exclude NetworkBehaviourInspector (99e9519)

129.0.3 (2022-11-27)

Bug Fixes

  • fixing scene events not firing when host connects (598057e)

129.0.2 (2022-11-27)

Bug Fixes

  • fixing COM throwing when registering same prefab twice (5005daf)

129.0.1 (2022-11-26)

Bug Fixes

  • fixing unity version in package.json (920493e)

129.0.0 (2022-11-14)

Bug Fixes

  • dont seend scene message on authenticate to host (94ab113)
  • fixing client networkplayer being given to host player (7331eb0)
  • fixing loading scenes in host mode (9caeea8)
  • not sending unload message to host player (f1ace90)

BREAKING CHANGES

  • host no longer invokes scene start/finish events on when host player Authenticates
  • SceneMessage should no longer be sent to host player

128.7.0 (2022-11-09)

Features

  • adding send method that will exclude a single player (f930bd0)

128.6.0 (2022-11-02)

Bug Fixes

  • making MaxStringLength re-size the internal buffer to allow for bigger strings (ed00f34), closes #1109

Features

  • adding extra string methods to use different encoding (586717b)

128.5.0 (2022-10-08)

Bug Fixes

  • checking for custom visibility in new assert (f4b9597)

Features

  • adding option to stop spanwn on unauthenticated (629fab8)

128.4.1 (2022-10-08)

Bug Fixes

  • miscellanous NanoSocket bits and pieces, add Mirage Standalone support (#1106) (1b7e097)

128.4.0 (2022-09-25)

Features

  • adding Id to NetworkBehaviour (8eafae5)

128.3.1 (2022-09-21)

Bug Fixes

  • AckSystem: fixing fragmented message having incorrect order (1fb4970)

128.3.0 (2022-09-16)

Bug Fixes

  • adding try/catch for spawn async (9cad50a)
  • fixing async payload not being held (2eafb46)
  • improving log for server.spawn (4cdb606)

Features

  • adding way to return spawnHandler from prefabHash (4d1d552)
  • allowing PrefabHash to be set even if it already has value (c764c1f)

128.2.0 (2022-09-14)

Features

  • adding pack as int functions to QuaternionPacker (79ccc25)

Performance Improvements

  • making QuaternionPacker pack to 0 for Quaternion.identity (7c2bfe4)

128.1.1 (2022-09-01)

Bug Fixes

  • fixing SetDisplayMetrics for host mode (ce26e49)

128.1.0 (2022-08-25)

Features

  • adding SpawnVisibleObjects method that can skip objects (#1100) (21bf049)

128.0.0 (2022-08-18)

  • refactor!: removing INetworkServer (aaaba98)
  • refactor!: removing INetworkClient (15eb6d1)
  • refactor!: removing INetworkSceneManager (e1fdf86)
  • refactor!: removing IServerObjectManager (cf9f746)
  • refactor!: removing IClientObjectManager (4559573)

BREAKING CHANGES

  • interface for NetworkServer removed
  • interface for NetworkClient removed
  • interface for NetworkSceneManager removed
  • interface for ServerObjectManager removed
  • interface for ClientObjectManager removed

127.0.0 (2022-08-18)

  • refactor(ClientObjectManager)!: renaming function that registers handlers (b8b07ee)
  • refactor(ClientObjectManager)!: merging prefab and handlers into class (229aa4b)

Features

  • adding async spawn handler (993f425)

BREAKING CHANGES

  • RegisterPrefab that registers handlers is now called RegisterSpawnHandler
  • adding new exceptions to registering prefabs and handles

126.1.0 (2022-08-17)

Bug Fixes

  • removing dependency on JetBrains.Annotations (2e1263e)

Features

  • adding more public methods for NetworkPlayer VisList (ccc7ef5)

126.0.1 (2022-08-08)

Bug Fixes

  • fixing compile error in unity 2019.4 (864a144)

126.0.0 (2022-08-07)

Features

  • making RemoteCallCollection public (2906f18)

Performance Improvements

  • removing allocations for validating network identity in debug mode (1909749)

BREAKING CHANGES

  • remoteCallCollection renamed to RemoteCallCollection (may require unity restart after import)

125.0.0 (2022-08-05)

Bug Fixes

  • improving error handling for Client spawning (02ca962)

Features

  • adding spawn overload for NetworkIdentity and PrefabHash (9c51fef)

BREAKING CHANGES

  • ClientObjectManager.GetPrefab now throws instead of returning null

124.0.0 (2022-08-01)

Bug Fixes

  • adding error when target rpc is called with null (73bbcc2)
  • adding more validate for invoking ServerRpc in host mode (26b3318)
  • fixing target rpc being called in host modified (fa052d6), closes #1095
  • fixing use of incorrect exception in rpc validate (948c3a4)
  • making rpc validate methods public (3b7a5ae)

Code Refactoring

  • moving the invoke check to ClientRpcSender (3465258)

BREAKING CHANGES

  • ServerRpc are now only invoked locally if in host mode
  • ServerRpc now throws InvalidOperationException if authority is required
  • ClientRpc are now only invoked locally if in host mode

123.4.0 (2022-07-27)

Bug Fixes

Features

  • adding example script for sending prefab in rpc (c0dc98e)

123.3.3 (2022-07-23)

Bug Fixes

  • Weaver: finding extension methods in mirage manully (b3ada19)

123.3.2 (2022-07-16)

Bug Fixes

  • fixing warning created from id generator (eaee748)
  • Weaver: fixing extension methods for unity2021 (7f35778)
  • Weaver: fixing generic check on extension methods (fddf9ea), closes #1066
  • Weaver: fixing WeaverDiagnosticsTimer for when directory is not found (eb880d5)

Performance Improvements

  • avoiding call to find NetworkIdentity (7947e9e)

123.3.1 (2022-06-29)

Bug Fixes

  • making MessageInfo public instead of internal (e6a4413)

123.3.0 (2022-06-21)

Features

  • adding option for unsigned floats in floatpacker (dda61e1)

123.2.4 (2022-06-03)

Bug Fixes

  • enable runInBackground so that connections dont timeout (cb1b869)
  • updating tool tip for MaxConnections (938f34c)

123.2.3 (2022-05-31)

Bug Fixes

  • fixing define in UdpSocketFactory (a402953)

123.2.2 (2022-05-31)

Bug Fixes

  • incorrect unity 2021 compile define (6d9c566)

123.2.1 (2022-05-29)

Bug Fixes

  • fix the fix that fixed the CS0104 error about CollectionExtensions (9657bdb)
  • network writer test CollectionExtensions causing CS0104 in 2021.3 (1ed750a)

123.2.0 (2022-05-26)

Bug Fixes

  • adding missing interface method to PipePeerConnection (90e5179)

Features

  • SocketLayer: adding FlushBatch to Connection (476156a)

123.1.5 (2022-05-25)

Bug Fixes

  • adding sequence point to hookException (47ec337)

123.1.4 (2022-05-25)

Bug Fixes

  • avoid using NanoSockets on Mac OS (codesigning issues) (c9c17ab)

123.1.3 (2022-05-24)

Bug Fixes

  • adding ability to start the Client & Server from interfaces (#1079) (61e8d6b)

123.1.2 (2022-05-20)

Bug Fixes

123.1.1 (2022-05-19)

Bug Fixes

123.1.0 (2022-05-12)

Features

123.0.6 (2022-05-12)

Bug Fixes

123.0.5 (2022-05-09)

Bug Fixes

  • SocketLayer: throwing if Peer is given a null endpoint (3e3c737)

123.0.4 (2022-05-09)

Bug Fixes

  • Weaver: fixing crash from missing attribute (e54a3a2)

123.0.3 (2022-05-06)

Bug Fixes

  • Weaver: making const fields static (09c3b3b)

123.0.2 (2022-04-27)

Performance Improvements

  • removing allocation from SendToAll (6166244)

123.0.1 (2022-04-24)

Bug Fixes

  • fixing NRE in log when handler is null (013b03c)

123.0.0 (2022-04-22)

Bug Fixes

  • peer now sends invalid key even if key is shorter than correct key (1139527)

Code Refactoring

  • forcing GetReader to be given objectLocator (2f3c4b5)

BREAKING CHANGES

  • NetworkReaderPool.GetReader now has IObjectLocator argument (can be null). Use MirageNetworkReader instead of NetworkReader if you need to read NetworkIdentity

122.1.0 (2022-04-14)

Bug Fixes

  • fixing double types showing up in log settings if no namespace given (5ea84d5)
  • fixing logger for id generator using nameof instead of typeof (3665b80)

Features

122.0.2 (2022-04-14)

Bug Fixes

  • increasing log to warning when receiving known type without handler (#1072) (05db6cf)

Performance Improvements

  • using plus 1 count for other collection types (#1073) (25ab6f3)

122.0.1 (2022-04-13)

Performance Improvements

  • stopping allocations from log in MessageHandler when not enabled (d5b3292)

122.0.0 (2022-04-12)

Bug Fixes

  • adding end of stream check to ReadList and ReadBytes as well (9dc69dc)
  • fixing OnlineOfflineScene to work with NetworkSceneManager (bb916f3)
  • fixing StopAuthority not being called in host mode on destroy (f331875)
  • stopping DestroyAllClientObjects being called in host mode. (582c20b)

BREAKING CHANGES

  • OnlineOfflineScene uses NetworkSceneManager instead of just loading locally using client start

121.0.1 (2022-04-06)

Bug Fixes

  • adding const to type when writer is generated (f3bcc89)
  • throwing if SceneManager returns null (833634a)

121.0.0 (2022-03-31)

  • fix!: fixing removing RequireComponent from NetworkManager (81d8603)

Features

  • adding event to NetworkPlayer when Identity is changed (9e22ff4)
  • adding methods to create NetworkMamger using other socket facories (aaba9bc)

BREAKING CHANGES

  • RequireComponent from NetworkManager. NetworkServer and NetworkClient will now need to be added manaully.

120.1.2 (2022-03-25)

Bug Fixes

  • NetworkIdentity: fix more missing things (7420bd1)
  • NetworkIdentity: fix one quote on a log string to unbreak it all (339ab4c)
  • tests: networkidentity test failing due to changed exception text (877eb12)

120.1.1 (2022-03-23)

Bug Fixes

  • NetworkClient: checking if client is already active before connecting host (bc89211)

120.1.0 (2022-03-22)

Features

  • adding SetCharacterName to character spawner (1b051c7)

120.0.0 (2022-03-20)

  • refactor(SocketLayer)!: moving MaxPacketSize to SocketFactory (49c7f41)

BREAKING CHANGES

  • socket factories now have to override MaxPacketSize property

119.1.4 (2022-03-17)

Bug Fixes

  • Don't create a socket if not listening (should fix #1054) (f33c6eb)
  • networkserver shouldn't create socket if we're not listening (addresses ticket #1054) (5117f49)

119.1.3 (2022-03-02)

Bug Fixes

119.1.2 (2022-03-01)

Bug Fixes

119.1.1 (2022-02-19)

Bug Fixes

  • fixing ArgumentOutOfRangeException when no NetworkIdentity on object (d8e7830)

119.1.0 (2022-02-17)

Features

119.0.1 (2022-02-16)

Performance Improvements

  • moving replyId to its own message (e8e1829)

119.0.0 (2022-02-16)

  • feat!(SocketLayer): adding connection key based on mirage version (ff5a308)

BREAKING CHANGES

  • Mismatched server/client versions will no longer be able to connect to each other

118.0.0 (2022-02-08)

Features

  • support for generic syncvar (057e177)

Performance Improvements

  • using index for rpcs instead of hash (88c4cd3)

BREAKING CHANGES

  • removed RemoteCallHelper and adding RemoteCallCollection instead NetworkBehaviour

117.2.0 (2022-02-07)

Bug Fixes

  • fixing generic syncvar hooks (90e9f24)
  • Weaver: avoiding short instructions for methods with unknown length (f605c46)

Features

  • RPC: adding support for generic syncvars (b6984ca)

117.1.1 (2022-02-07)

Bug Fixes

  • fixing rpc cast for generic types (111fce6)
  • rpcs for fixing IL2CPP (e574a80)

117.1.0 (2022-02-06)

Bug Fixes

  • RPC: fixing call when type is generic (84e2dd6)

Features

  • making setter for NetworkReader.ObjectLocator public (50ab932)

117.0.0 (2022-02-02)

Bug Fixes

  • RPC: fixing rpc calls to base methods and overloads (8bc165d)
  • RPC: fixing ServerRpc that could be called without Authority (51411fb)

Code Refactoring

  • RPC: moving send rpc functions to their own classes (eaadd62)
  • RPC: renaming methods for RemoteCallHelper (186f228)

Features

  • RPC: adding rpc overloads (5ca30f1)

Performance Improvements

  • RPC: generating hash at compile time not runtime (4f81402)

BREAKING CHANGES

  • RPC: removed RemoteCallHelper.GetDelegate, use GetCall or TryGetCall instead
  • RPC: Send Rpc methods are now found in ServerRpcSender and ClientRpcSender and may have been renamed

116.2.0 (2022-02-02)

Features

  • calling OnAuthorityChanged with false when an object is unspawned (#1034) (d8334e8)

116.1.1 (2022-02-01)

Bug Fixes

  • fixing calling base methods for generic types in IL2CPP (cf91e1d)

116.1.0 (2022-01-29)

Bug Fixes

  • adding missing MessageHandler to interfaces (370c5ab)

Features

  • adding notify send to NetworkPlayer (ad699fc)

116.0.0 (2022-01-23)

Bug Fixes

  • NetworkReader: fixing PadAndCopy function (8e6c516)

BREAKING CHANGES

  • NetworkReader: NetworkReader.PadAndCopy no longer needs the byte size argument

115.0.0 (2022-01-22)

Bug Fixes

  • fix welcome window packages tab displaying actual modules (#1024) (5930281)
  • NetworkSceneManager: fixing exception when scene is null (a366843)
  • feat(NetworkSceneManager)!: return scene instead of strings from events (#1028) (106e714), closes #1028 #1026

BREAKING CHANGES

    • Scene finished loading events now return scene
  • SceneChangeEvent class renamed to SceneChangeStartedEvent and SceneChangeFinishedEvent

114.1.1 (2022-01-19)

Bug Fixes

  • fixing array and generic write for NetworkBehaviours (d2ee8ac)

114.1.0 (2022-01-15)

Features

  • allow end user's to create there own net id generator (#1019) (d2e8834)

114.0.3 (2022-01-13)

Bug Fixes

114.0.2 (2022-01-03)

Bug Fixes

114.0.1 (2021-12-31)

Bug Fixes

  • WelcomeWindow: fixed parsing of change logs (#1017) (5da522d)

114.0.0 (2021-12-31)

Bug Fixes

  • NetworkTime: renaming PingFrequency to PingInterval (b729cdc)

Code Refactoring

  • replacing MessagePacker.GetMessageType with property (#1016) (106c47c)

BREAKING CHANGES

  • MessagePacker.GetMessageType replaced with property
  • NetworkTime: NetworkTime PingFrequency remamed to PingInterval

113.3.4 (2021-12-31)

Bug Fixes

  • LogFactory: fixing clear and find all buttons in log factory (6f7e5d5)

113.3.3 (2021-12-29)

Bug Fixes

  • Logging: fixing full name not being loaded (caece7e)

113.3.2 (2021-12-29)

Bug Fixes

  • adding try/catch for nanosocket (#1010) (88badd6)
  • fixing log settings that have no namespace (#1014) (ead317f)
  • NetworkBehavior: removing NB that belong to another NI from list (#970) (4738d29)
  • NetworkWorld: fixing add identity when object is destroyed client side (b5a765e)
  • Setting client not ready to stop character spawning before scene change (#1009) (fcbe10d)

113.3.1 (2021-12-29)

Bug Fixes

  • making sure server/client stops if gameobject is destroyed (9cdc27d)

113.3.0 (2021-12-22)

Bug Fixes

  • NetworkBehaviour: can now found NetworkIdentity in parent when gameobject is disabled (#1006) (d54537a)

Features

  • SyncVar: option to invoke hooks on server too (#1012) (8c12c28)

113.2.0 (2021-12-20)

Bug Fixes

  • Serialization: fixing ReadArray when reading items that are bitpacked (6dfbf84)

Features

  • Serialization: adding CanReadBits function to network reader (3aae955)

113.1.3 (2021-12-20)

Bug Fixes

  • fix a typo with NetworkServer disconnection logs, improve comments, fix formatting (#1005) (adcf3f6)

113.1.2 (2021-12-08)

Bug Fixes

  • fixing error message in message handler (b38a24c)

113.1.1 (2021-12-07)

Bug Fixes

113.1.0 (2021-12-07)

Features

  • adding packers for variable length floats (4c38c09)

113.0.4 (2021-12-04)

Performance Improvements

113.0.3 (2021-12-04)

Bug Fixes

113.0.2 (2021-12-04)

Bug Fixes

  • fixing Return rpc for values that require ObjectLocator (11b2fb3)

113.0.1 (2021-12-04)

Bug Fixes

  • fixing ReadNetworkBehaviour when NI is not found (cb20ad9)

113.0.0 (2021-11-29)

Bug Fixes

  • making NetworkServer.players a readonly collection (f1b4512)

Features

  • adding interfaces for SocketFactory to use so it is easier to get/set address and port (#996) (e969e6d)
  • allowing events to be used with syncvar hook (#991) (f455a2d)

Performance Improvements

  • splitting peer update into 2 functions (#993) (0d6d34b)

BREAKING CHANGES

  • NetworkServer.Players is now a IReadOnlyCollection<INetworkPlayer>

112.0.2 (2021-11-22)

Bug Fixes

  • NetworkReader: fixing reset putting reader back into pool (52253b6)

112.0.1 (2021-11-07)

Bug Fixes

  • wrapping NetworkIdentityIdGenerator in #if editor (f058f7f)

112.0.0 (2021-11-07)

Bug Fixes

  • adding a check to make sure asset id isn't created from empty string (26a5bbc)
  • fixing defines for Unity2021.2 (#977) (15ffa5b)
  • fixing id generation for negative numbers (f5e1b9a)
  • renameing identity.Reset so it doesn't override unity's reset function (bc5da6a)
  • using hex for logging prefabhash and sceneid (f0c335f)

Code Refactoring

  • NetworkIdentity: moving id generation to its own file (51795ce)

Features

  • NetworkIdentity: adding helper methods for Id (0ddfdb8)
  • ServerObjectManager: adding AddCharacter method that takes Identity and hash (629036a)
  • ServerObjectManager: adding ReplaceCharacter method that takes Identity and hash (4320c05)

Performance Improvements

  • making transform values option to send with spawn message (#972) (22e7dcd)
  • no longer sending PrefabHash if the object is a scene id (46e29a6)

BREAKING CHANGES

  • Scene objects based on a prefab will no longer have their PrefabHash set on spawn on the client
  • NetworkIdentity: Scene Id generation is no longer public

111.1.1 (2021-11-06)

Bug Fixes

  • weaver error on guard attributes put on awake (#986) (2f89372)

111.1.0 (2021-11-02)

Features

  • NetworkVisibility: adding new visibility scripts for checking scenes (#958) (6725625)

111.0.0 (2021-11-01)

Code Refactoring

  • NetworkIdentity: removing clientAuthorityCallback (#971) (8adf83d)

BREAKING CHANGES

  • NetworkIdentity: NetworkIdentity.clientAuthorityCallback removed

110.0.0 (2021-11-01)

Bug Fixes

  • adding method to remove character without destroying the object (19cad00), closes #883
  • fixing remove authority for host (528f66b)

BREAKING CHANGES

  • RemovePlayerForConnection removed, use RemoveCharacter or DestroyCharacter instead. Note for RemoveCharacter destroyServerObject now defaults to true

109.0.3 (2021-10-31)

Bug Fixes

  • fixing spawn prefab when handler is null (eb0fd1c)

109.0.2 (2021-10-29)

Bug Fixes

  • NetworkIdentity: not sending whole spawn message when removing authority (#976) (127bcbf)

109.0.1 (2021-10-27)

Bug Fixes

  • fixing using for editor (27c9522)
  • fixing validate for new prefab id (f66c3b6)

109.0.0 (2021-10-23)

Performance Improvements

  • replacing assetid with prefab hash (b14c692)

BREAKING CHANGES

  • prefab Id is now an int instead of a guid

108.0.1 (2021-10-21)

Bug Fixes

  • NetworkSceneChecker: fixing awake for networkscenechecker (fb4321e), closes #754

108.0.0 (2021-10-21)

Bug Fixes

  • LogSettings: allowing multi object editing (5c83dc6)
  • LogSettings: improving warning when log settings has no reference (c2ed26f)
  • LogSettings: removing log settings component from samples (a72d777)
  • removing redundant property (f8bda6e)

Code Refactoring

  • NetworkIdentity: removing NetworkIdentity.GetSceneIdentity (34699ae)

BREAKING CHANGES

  • NetworkIdentity: NetworkIdentity.GetSceneIdentity has been removed

107.1.3 (2021-10-20)

Bug Fixes

  • LogSettings: making labels clickable (7f65a8a)

107.1.2 (2021-10-19)

Bug Fixes

  • LogSettings: making reset exit if settings is already set (a227593)

107.1.1 (2021-10-12)

Bug Fixes

  • NetworkBehaviour: fixing find identity if parent gameobject is disabled (04700f9)

107.1.0 (2021-10-10)

Bug Fixes

  • this fixes issues with multi scene loading on server and client (#965) (e725a41)

Features

  • added a method to do physic scene loads on server and tell clients about it (f215cef)

107.0.1 (2021-10-09)

Bug Fixes

  • ServerRpc: fixing sender for server rpc in host mode (#961) (41b6b79)

107.0.0 (2021-10-08)

Performance Improvements

  • BitPacking: using quaternion compression by default (#957) (e9fedf1)

BREAKING CHANGES

  • BitPacking: Pack extension methods renamed to WriteQuaternion and ReadQuaternion

106.2.4 (2021-10-06)

Bug Fixes

  • CharacterSpawner: respawning character if one exists (203e487)

106.2.3 (2021-10-06)

Bug Fixes

  • NetworkServer: making listening disable server peer (#959) (528698b)

106.2.2 (2021-10-05)

Performance Improvements

  • NetworkSceneManager: using hashset contains to check for player (e3df3b5)

106.2.1 (2021-10-02)

Bug Fixes

  • LogGUI: fixing exception in find all loggers for generic types (11755e7)
  • LogGUI: fixing exception in find all loggers for generic types (6221965)

106.2.0 (2021-10-01)

Bug Fixes

  • BitPacking: setting default QuaternionPack to 9 (bcc44a7)

Features

  • Metrics: allowing background to be updated at runtime (1974a76)

106.1.0 (2021-10-01)

Features

  • adding sequence size of metrics to inspector (c7a21dd)

106.0.0 (2021-10-01)

Bug Fixes

  • fixing use of network identity in network message (#955) (bc1b82a)

Features

BREAKING CHANGES

  • log settings are now saved to a SO file instead of EditorPrefs

105.1.3 (2021-10-01)

Bug Fixes

  • fixing errror meessage for server client attributes (#953) (53cf60b)

105.1.2 (2021-09-30)

Bug Fixes

  • ServerRpc: fixing error message when client is not set (f9c8033)

105.1.1 (2021-09-25)

Bug Fixes

  • Character spawner was registering the player prefab in awake and during scene loads this wont ever register again. Need to change it on scene changes. (d6cdc86)
  • updates to SpawnObject.md and SpawnObjects.PNG files. (02e07fa)

105.1.0 (2021-09-23)

Bug Fixes

  • fixing order that extension methods are found (#917) (aa8fe87)

Features

105.0.1 (2021-09-22)

Bug Fixes

  • fixing assert when loading scene using its name (72ac3a6)
  • logging error if no handler is registered (54c8520)
  • NetworkSceneManager: registering ready and not ready message for host client (6a97ae9)

Reverts

  • "fix: logging error if no handler is registered" (aca8c5a)

105.0.0 (2021-09-22)

Bug Fixes

  • adding client active check in network ping display (1d43243)

Code Refactoring

  • move network time to world (6b10ba2)

BREAKING CHANGES

  • NetworkTime move from NetworkServer/NetworkClient to NetworkWorld

104.3.0 (2021-09-22)

Features

  • Syncvar: adding InitialOnly to syncvar (#941) (abf4637)

104.2.0 (2021-09-20)

Bug Fixes

  • Peer: throwing if sequence size is too big (6c7c5ad)

Features

  • Weaver: adding constant values for max value for number of bits (#934) (2f7c322)

Performance Improvements

  • Peer: updating header size for ipv6 (a8798f0)

104.1.0 (2021-09-20)

Features

  • Weaver: allowing bit packing attributes to work on structs and rpcs (#933) (dca6b54)

104.0.4 (2021-09-16)

Performance Improvements

  • Weaver: passing in format string (6c40fd6)

104.0.3 (2021-09-14)

Performance Improvements

  • Weaver: increasing performance of PostProcessorReflectionImporter (#931) (13e6d1f)

104.0.2 (2021-09-13)

Performance Improvements

  • Weaver: caching NetworkBehaviour properties (#927) (1f2c53b)

104.0.1 (2021-09-13)

Performance Improvements

  • Weaver: optimizing find file in assembly resolver (#925) (68d6749)

104.0.0 (2021-09-08)

Bug Fixes

  • fixing DestroyOwnedObjects when Identity is null (4c12efe)
  • fixing ReplaceCharacter when identity has no character (b685e11)

Code Refactoring

  • changing OnServerAuthenticated to protected (b0da955)
  • moving ready methods to NetworkSceneManager (5dade34)
  • networkplayer sceneis ready notw defaults to true (319e8d8)
  • renaming NotReadyMessage (77f7777)
  • renaming remove observers (12ffce7)
  • renaming SceneObjectManager.SetClientReady (3f8d2bc)
  • replacing ReadyMessage with SceneReadyMessage (beb4ed9)

Features

  • adding HasCharacter property to network player (445081a)
  • adding OnPlayerSceneReady event (e59c93c)
  • adding option to ignore character check for spawning objects (9234eb4)

BREAKING CHANGES

  • NetworkServerManager.OnServerAuthenticated is now protected instead of public
  • NetworkPlayer.SceneIsReady now default to true
  • moving SetAllClientsNotReady and SetClientNotReady from ServerObjectManager to NetworkSceneManager
  • Renaming SceneObjectManager.SetClientReady to SpawnVisibleObjects
  • Removing ReadyMessage, Use SceneReadyMessage instead
  • Renaming NotReadyMessage to SceneNotReadyMessage
  • NetworkPlayer.RemoveObservers renamed to RemoveAllVisibleObjects

103.1.1 (2021-09-08)

Bug Fixes

  • allow to set specific number of logs to be used from changelog. Need to change it atm through code. (d8d28f9)
  • did not realize there was changes not pushed to the branch got from master now and fixed it all up again. (988641f)
  • paths for welcome window changelog. (a1ec86d)
  • proper fix using current welcome window script path to get changelog path. (6868453)
  • this fixes styling and error on 2019+ editors. (3b58a7b)
  • Welcome window now searches for existing file of the changelog to know which mirage install was done. (ab96915)

103.1.0 (2021-09-08)

Features

  • attributes to use new var int bit packers (#895) (1da5c42)

103.0.1 (2021-09-06)

Bug Fixes

  • fixing syncvar hook not being called in host mode (#918) (7accba7)

103.0.0 (2021-09-05)

Code Refactoring

  • NetIdentity to Identity (dc00532)
  • renaming Client enum to RpcTarget (bc32d06)
  • renaming ConnectionToClient to Owner (5493eae)

BREAKING CHANGES

  • NetIdentity renamed to Identity
  • ConnectionToClient renamed to Owner
  • enum used in ClientRpc has been renamed to RpcTarget

102.0.0 (2021-09-02)

Features

BREAKING CHANGES

  • NetworkSceneManager has been re-written, many events and methods now have new names.

101.10.0 (2021-08-31)

Features

  • attributes to use new vector bit packers (#905) (149bf5a)

101.9.2 (2021-08-29)

Bug Fixes

  • fixing namespace for display metrics (9d3f056)

101.9.1 (2021-08-29)

Bug Fixes

  • improving warning message for taking too many objects from pool (2bc42c5)

101.9.0 (2021-08-26)

Bug Fixes

  • NanoSocket: adding dispose and finalize (#904) (ca949ea)

Features

  • attributes to use new float bit packers (#896) (273d27c)

101.8.0 (2021-08-24)

Features

  • attributes to calculate bit count of a given range (#902) (1c22ea6)

101.7.0 (2021-08-24)

Features

101.6.0 (2021-08-22)

Features

  • serialization: attribute to set bit size for ints base syncvars (#882) (1660ca6)

101.5.1 (2021-08-22)

Performance Improvements

  • adding throw helper methods so that AggressiveInlining works (#894) (de12166)

101.5.0 (2021-08-22)

Features

  • NetworkVisibility: adding default implementation for OnRebuildObservers (2bcf22f)

Performance Improvements

  • sending reply id as nullable (a756389)

101.4.2 (2021-08-21)

Bug Fixes

  • fixing log message for checking observers for connected player (99c31c8)
  • fixing mistake in log change (b090fa2)

101.4.1 (2021-08-19)

Bug Fixes

  • weaver: fixing dirty bit for syncvar (b4a837d)

101.4.0 (2021-08-17)

Bug Fixes

Features

  • adding helper classes for packing uint values (#878) (3c24f67)

101.3.0 (2021-08-16)

Bug Fixes

  • preparing client objects on connect (#876) (9789c0b)
  • SocketLayer: moving endpoint copy outside of connection (c19929f)

Features

  • adding helper classes for packing float, vector and quaternion (#847) (410bcd6)

101.2.0 (2021-08-10)

Bug Fixes

  • only invoking unspawn even if item was removed from dictionary (259e8d0)
  • NetworkReader: checking offset when moving bit position (641b2b0)

Features

  • adding destroy function that takes network identity (e91f6d3)

101.1.0 (2021-08-06)

Features

  • peer: adding scripts to display metrics from peer (#872) (e7ac06f)
  • adding way to call SendNotify without allocations and example (#875) (16b3000)

101.0.2 (2021-08-01)

Bug Fixes

  • fixing error message for disconnect (0b603fe)
  • fixing resize buffer so that it uses byte capacity (927fe95)
  • fixing resize buffer when new size is greater than double (972b6d2)
  • removing debug logs from resize buffer (5f3524c)

101.0.1 (2021-07-29)

Bug Fixes

  • making weaver generate serialize functions for nested messages (#873) (a351222)

101.0.0 (2021-07-29)

Code Refactoring

  • removing old version of sequencer (0efe4ba)

BREAKING CHANGES

  • removing old version of Sequencer, use version in socket layer instead

100.0.2 (2021-07-25)

Performance Improvements

  • removing alloc from reliable sends (00945f3)
  • removing allocations from SendToMany (c57f64d)

100.0.1 (2021-07-19)

Bug Fixes

  • NanoSocket: adding Exception when nanosocket bind fails (a3028ec)

Performance Improvements

  • adding native UDP socket (NanoSockets) for supported platforms (#860) (3f34863)
  • removing allocations from assert (5c216de)

100.0.0 (2021-07-15)

Code Refactoring

  • moving message handling out of networkplayer (#818) (b2e9d96)

BREAKING CHANGES

  • RegisterHandler functions now exist on MessageHandler On Server and Client
  • NetworkAuthenticator now use Setup methods that should be used to register messages

99.1.0 (2021-07-15)

Features

  • NetworkWriter: adding method to move position and docs comments (#861) (35cf3ec)

99.0.2 (2021-07-05)

Bug Fixes

  • fixing syncvar reading when using bools (31aca8e)

99.0.1 (2021-07-03)

Bug Fixes

  • adding assembly version to editor asmdef (5969236)

Performance Improvements

  • WelcomeWindow: using string builder for change log (4bc10d8)

99.0.0 (2021-07-03)

Performance Improvements

  • replacing network writer with a faster version that can do bit packing (#805) (3cffa66)

BREAKING CHANGES

  • NetworkWriter and NetworkReader have been completely re-written to support bitpacking

98.0.1 (2021-07-02)

Performance Improvements

  • replacing network writer with a faster version that can do bit packing (#805) (773c58f)

98.0.0 (2021-07-02)

Performance Improvements

  • improving how socketlayer handles endpoints (#856) (59ce7e0)

BREAKING CHANGES

  • Socket functions now use an interface instead of the EndPoint class, Socket Implementations should create a custom Endpoint class for their socket.

97.1.2 (2021-07-01)

Performance Improvements

  • SocketLayer: adding IEquatable to struct (f935786)

97.1.1 (2021-06-28)

Bug Fixes

  • NetworkManagerHud: adding null check before using server or client (e4200e0)
  • NetworkManagerHud: returning to offline menu when server or client is stopped (6b4c988)

97.1.0 (2021-06-27)

Features

  • SocketLayer: adding fragmentation to reliable sending (#851) (4764294)

97.0.1 (2021-06-27)

Bug Fixes

  • fixing first notify not being returned (#854) (84b7d2e)

97.0.0 (2021-06-27)

Code Refactoring

BREAKING CHANGES

  • BufferSize and MTU replaced by MaxPacketSize

96.5.2 (2021-06-27)

Bug Fixes

96.5.1 (2021-06-27)

Bug Fixes

96.5.0 (2021-06-23)

Bug Fixes

  • fixing length used for sending unreliable (821e2d2)

Features

  • adding send methods for array segment (ea09c61)

Performance Improvements

  • using array segments for sending (c990952)
  • using pool for send notify (ac000eb)

96.4.3 (2021-06-23)

Bug Fixes

  • checking if disconnected before packing message (a76caf1)

96.4.2 (2021-06-21)

Bug Fixes

  • null checks when types can't be resolved (#848) (677c792)

96.4.1 (2021-06-21)

Bug Fixes

96.4.0 (2021-06-20)

Features

  • adding attribute to ignore extension method for read writer (#841) (9494500)

96.3.1 (2021-06-17)

Bug Fixes

  • improving error for failed deserialize (2e1601b)
  • improving error for message handler (7ab73b6)

96.3.0 (2021-06-04)

Bug Fixes

  • adding action to pipe connection so client events can be called on stop (#838) (eebe63a), closes #837

Features

  • adding host mode stopped as reason for client disconnect (0054dd5)

96.2.1 (2021-06-04)

Bug Fixes

  • adding warning if extension method is overwriting existing method (#836) (aee89dc)

96.2.0 (2021-06-02)

Features

  • making enums for socket layer public instead of internal (bb9f209)

96.1.2 (2021-06-02)

Bug Fixes

96.1.1 (2021-06-02)

Bug Fixes

  • closing socket should give by local peer as reason (993933f)

96.1.0 (2021-06-02)

Bug Fixes

  • moving syncvar sender to networkserver so it gets intilized earlier (8b2b828)
  • stopping Server.Stop being called twice (b950d39)

Features

  • adding is authenticated bool to network player (#828) (372fd70)

96.0.0 (2021-06-01)

Features

BREAKING CHANGES

    • BasicAuthenticator now uses single string field instead of 2
  • Renaming methods from OnServerAuthenticate to ServerAuthenticate
  • Renaming methods from OnClientAuthenticate to ClientAuthenticate

95.1.1 (2021-05-30)

Bug Fixes

  • fixing errors in tanks sample (ed99d05)

95.1.0 (2021-05-29)

Features

95.0.0 (2021-05-28)

Code Refactoring

Features

  • adding disconnect reason to client disconnect (#820) (e597570)
  • adding Peer config properties (9fd8a05)

Performance Improvements

  • NetworkAnimator parameters use ArraySegment instead of Arrays (#822) (00f4833)
  • remove redundant transform calls on NT (#823) (2d10305)

BREAKING CHANGES

  • NetworkDiagnostics no longer tracks channel
  • Client.Disconnected now has a Reason argument

94.0.0 (2021-05-24)

Bug Fixes

  • removing other uses of old Notify (25a0503)

Code Refactoring

  • removing Obsolete Notify code from networkplayer (b2e5531)

BREAKING CHANGES

  • removing notify code from networkplayer, notify is now part of peer

93.0.2 (2021-05-24)

Bug Fixes

  • closing socket on application quit (c37fe7d)
  • fixing SocketException after closing remote applcation (4ed12ba)
  • fixing udp socket exception on linux (#809) (a4e8689)
  • removing unnecessary check (e8a93a4)
  • stopping null ref in disconnect (4d0f092)

93.0.1 (2021-05-23)

Bug Fixes

  • stopping null ref caused by hud stopping non-active server (8aa561a)

93.0.0 (2021-05-23)

Features

BREAKING CHANGES

    • All Transports are obsolete.
  • Transports Are replaced with ISocket. Custom Transports should now implement ISocket and SocketFactory instead
  • Message handlers are now invoked in Update instead of in an Async Coroutine
  • Send Notify moved to SocketLayer
  • Server.StartAsync is no longer Async
  • Server.StartAsync is now called Server.StartServer
  • Client.Connect is no longer async
  • Local message in host mode invoke handlers immediately instead of waiting till next update
  • NetworkPlayer now has a Disconnect method. This means user does not need a reference to SocketLayer asmdef.
  • Disconnected players are blocked from sending messages

92.0.0 (2021-05-23)

Code Refactoring

  • moving networkmanager gui and hud to components folder (#802) (7612bb6)

Features

  • adding weaver support for nullable types (#800) (14af628)

BREAKING CHANGES

  • NetworkManagerHud is now in the Mirage.Components asmdef

91.2.0 (2021-05-18)

Features

  • simplifying some checks in ServerObjectManager (#801) (fe9a07a)

91.1.0 (2021-05-17)

Bug Fixes

  • fixing compile in new gui (d2800be)

Features

  • add optional imgui support to network manager hud (#789) (7841794)

91.0.1 (2021-05-04)

Bug Fixes

  • unspawning all server object on server stop (5041a06)

91.0.0 (2021-05-01)

Code Refactoring

  • renaming listen to start and merging it with start host (#795) (3d4e091)

BREAKING CHANGES

    • ListenAsync renamed to StartAsync
  • StartHost removed, use StartAsync with localClient parameter instead
  • OnStartHost is now always called after Started

90.0.0 (2021-04-30)

Code Refactoring

BREAKING CHANGES

  • NetworkServer.StopHost removed, use NetworkServer.Disconnect instead

89.0.0 (2021-04-28)

Code Refactoring

  • renaming network server disconnect to stop (#793) (634139c)

BREAKING CHANGES

  • NetworkServer.Disconnect is now called Stop

88.1.3 (2021-04-28)

Bug Fixes

  • removing quitting handler on cleanup (1132d92)
  • server offline does not need a specific object (#788) (9ca7639)

88.1.2 (2021-04-27)

Bug Fixes

  • using null propagation to stop null ref being throw (5da2c6d)

88.1.1 (2021-04-21)

Bug Fixes

  • class name did not match file name (5eb58eb)
  • test was not correctly checking for offline server (e913004)

88.1.0 (2021-04-20)

Features

88.0.0 (2021-04-17)

Code Refactoring

  • remove unspawn as its redundant with destroy (#760) (6a8497c)
  • removing GetNewPlayer and sealing networkplayer (#781) (16a6ba0)

BREAKING CHANGES

  • removed Unspawn method, use with Destroy with destroyServerObject flag instead
  • no longer possible to create custom INetworkPlayer to be used inside mirage

87.2.4 (2021-04-16)

Bug Fixes

  • add some exception documentation (829f10a)

87.2.3 (2021-04-16)

Bug Fixes

  • param no longer exists. updating summary (c9a919f)

87.2.2 (2021-04-16)

Bug Fixes

  • WelcomeWindow: re-adding logger and if 2020.1 or newer (288ed0f)

87.2.1 (2021-04-14)

Bug Fixes

  • clientchangedscene event called too early (#776) (82dda04)

87.2.0 (2021-04-12)

Features

87.1.2 (2021-04-12)

Bug Fixes

87.1.1 (2021-04-10)

Bug Fixes

87.1.0 (2021-04-08)

Features

87.0.1 (2021-04-08)

Bug Fixes

  • add icons to all mirage monobehaviours (#769) (3a9673f)

87.0.0 (2021-04-08)

Bug Fixes

  • using add late event for authority and combining start and stop events (#767) (8903f00)
  • using AddLateEvent to stop race condition for client events (#768) (681875b)
  • using AddLateEvent to stop race condition for network identity events (#766) (4f8bf11)
  • using AddLateEvent to stop race condition for server events (#765) (a1ec84c)

Features

  • adding RemoveListener and RemoveAllListeners to AddLateEvent (#764) (d67c96c)
  • adding RemoveListener and RemoveAllListeners to AddLateEvent (#764) (0ca2804)

BREAKING CHANGES

    • NetworkClient.Connected event is now type of IAddLateEvent
  • NetworkClient.Authenticated event is now type of IAddLateEvent
  • NetworkClient.Disconnected event is now type of IAddLateEvent
  • refactor: removing NetworkConnectionEvent use NetworkPlayerEvent instead

  • NetworkConnectionEvent renamed to NetworkPlayerEvent

  • reverting clean up change

    • Identity.OnStartAuthority and IdentityOnStopAuthority are now Identity.OnAuthorityChanged and are type of IAddLateEvent<bool>
    • Server.Started event is now type of IAddLateEvent
  • Server.Stoped event is now type of IAddLateEvent
  • Server.OnStartHost event is now type of IAddLateEvent
  • Server.OnStopHost event is now type of IAddLateEvent
  • inspector values for changed events will need to be re-assigned
    • Identity.OnStartServer event is now type of IAddLateEvent
  • Identity.OnStopServer event is now type of IAddLateEvent
  • Identity.OnStartClient event is now type of IAddLateEvent
  • Identity.OnStopClient event is now type of IAddLateEvent
  • Identity.OnStartLocalPlayer event is now type of IAddLateEvent
  • inspector values for changed events will need to be re-assigned
  • AddLateEvent Reset no longer removes listeners
  • AddLateEvent Reset no longer removes listeners

86.0.2 (2021-04-05)

Bug Fixes

  • removing redundant null checks (909b668)

86.0.1 (2021-04-02)

Bug Fixes

86.0.0 (2021-04-01)

Bug Fixes

  • better name to stop namespace conflict with Unity (#755) (69784e7)

BREAKING CHANGES

  • networkManager.SceneManager removed to networkManager.NetworkSceneManager

85.0.0 (2021-03-30)

Code Refactoring

  • moving syncvar sending to its own class (9699e03)

Features

  • adding class that will invoke late handlers (631adce)

BREAKING CHANGES

  • Dirty object collection is now inside SyncVarSender

84.3.1 (2021-03-29)

Bug Fixes

  • adding FormerlySerializedAs to networkanimator (39f8fbd)

84.3.0 (2021-03-27)

Features

  • not listening can now be toggled at runtime. fixes host spawning (#728) (256b16c)

84.2.1 (2021-03-27)

Bug Fixes

  • invoke client rpc only once in host mode (#744) (ee6e55e)

84.2.0 (2021-03-27)

Features

84.1.1 (2021-03-26)

Bug Fixes

84.1.0 (2021-03-25)

Features

84.0.0 (2021-03-24)

Code Refactoring

  • using interface instead of network server (#722) (7312bd8)

BREAKING CHANGES

  • fields and parameters using NetworkServer are now using INetworkServer Instead

83.0.0 (2021-03-24)

Code Refactoring

  • using interface instead of network client (#721) (703596a)

BREAKING CHANGES

  • fields and parameters using NetworkClient are now using INetworkClient Instead

82.0.0 (2021-03-24)

Code Refactoring

BREAKING CHANGES

  • ObjectLocator now has TryGet method instead of indexer that returns null

  • updating uses of objectLocator

  • fixing names not being the same

  • Removed ConnectionToServer property

  • removing uses of ConnectionToServer

  • removing use in test

  • removing ClientRpc player target

  • creating null

  • changing tests to expect null

  • fixing docs

  • using client player for target rpc

Co-authored-by: Paul Pacheco <paulpach@gmail.com>

  • fixing tests for rpc target

Co-authored-by: Paul Pacheco <paulpach@gmail.com>

81.0.2 (2021-03-22)

Bug Fixes

81.0.1 (2021-03-20)

Performance Improvements

  • clientrpc in host mode bypasses network (#714) (edb0705)

81.0.0 (2021-03-19)

Performance Improvements

  • serverrpc bypasses network on host mode (#708) (695eb46)

BREAKING CHANGES

  • ServerRpc execute synchronous in host mode

80.0.1 (2021-03-17)

Bug Fixes

  • compilation issue on standalone build (d6bea93)

80.0.0 (2021-03-15)

Code Refactoring

BREAKING CHANGES

  • Connection renamed to player

79.0.0 (2021-03-15)

Code Refactoring

  • move serialization into Mirage.Serialization (#700) (5dc037d)

BREAKING CHANGES

  • NetworkReader and NetworkWriter moved to Mirage.Serialization namespace

78.0.0 (2021-03-14)

Code Refactoring

  • move collections to Mirage.Collections (#698) (e22f765)

BREAKING CHANGES

  • collections moved to Mirage.Collections

77.0.0 (2021-03-14)

Code Refactoring

  • move logging into a folder and namespace (#697) (814653f)

BREAKING CHANGES

  • Logging moved into a namespace, use Mirror.Logging

76.0.0 (2021-03-13)

Code Refactoring

BREAKING CHANGES

  • NetworkVisibility no longer disables renderers in host mode

75.1.0 (2021-03-13)

Features

  • 0 is not lossy when compressing quaternions (#695) (c1552c0)

75.0.0 (2021-03-13)

Bug Fixes

  • adding ISceneLoader to INetworkPlayer (e8ab7a4)
  • compression of 90 degrees angle (#689) (2c0bac6)
  • fixing uses of message (f2a5522)

Code Refactoring

  • moving static send to NetworkServer (#692) (5b19dc3)
  • removing address property from player (#691) (d772e53)
  • removing disconnect method from player (#688) (e1daf92)
  • rename PlayerSpawner to CharacterSpawner (#686) (1db3498)
  • renaming NetworkConnection to NetworkPlayer (#684) (3ecb659)

Features

  • adding Connection property to NetworkPlayer (#687) (5e1c4ba)
  • adding logger.Assert that doesn't require a message (8c213e3)

BREAKING CHANGES

  • moving NetworkPlayer.Send to NetworkServer.SendToMany

  • Address replaced with Connection.GetEndPointAddress

  • updating uses of Address

  • Disconnect replaced with Connection.Disconnect

  • fixing uses in Mirage

  • updating uses in authenticators

  • Renamed PlayerSpawner to CharacterSpawner

  • renaming NetworkConnection to NetworkPlayer

  • renaming types in weaver tests

  • fixing test message

  • fixing xref in docs

74.0.0 (2021-03-08)

Bug Fixes

  • invoking started event when Listening is false (#675) (afef2d4)

Code Refactoring

  • transports: removing sendAsync from transports (#673) (42b165f)
  • removing sendasync from networkconnection (#672) (e79b00e)

BREAKING CHANGES

  • transports: Removed SendAsync from transport, use Send instead
  • Removed SendAsync from NetworkConnection. Use Send instead

73.0.0 (2021-03-06)

Code Refactoring

  • replacing version enum with assembly version (#663) (d8facb7)

BREAKING CHANGES

  • Version.Current is no longer an enum and now returns Mirage's assembly version

72.0.1 (2021-03-06)

Bug Fixes

  • disabling welcome window before unity 2020.1 (#662) (a527af4)

72.0.0 (2021-03-05)

Code Refactoring

  • removing un-used INetworkManager interface (#661) (347bf6c)

BREAKING CHANGES

  • removing INetworkManager

71.0.0 (2021-03-05)

Styles

  • renaming NetworkScenePath to ActiveScenePath (#647) (7a26360)

BREAKING CHANGES

  • Use NetworkSceneManager.ActiveScenePath instead of NetworkSceneManager.NetworkScenePath

  • removing cref till docs are fixed

70.0.0 (2021-03-04)

Code Refactoring

  • spawnobjects throws exception instead of returning false (#639) (4cb8afb)

BREAKING CHANGES

  • SpawnObjects throws Exception instead of returning false

69.1.2 (2021-03-03)

Bug Fixes

  • weaver: adding missing errors when Attributes are used in monobehaviour (64b580b)

69.1.1 (2021-03-02)

Bug Fixes

  • multi scene example nre and event errors (#649) (8c4c352)

69.1.0 (2021-03-02)

Features

  • adding assert extension method to logger (#642) (1df6081)

69.0.0 (2021-03-02)

Styles

  • renaming NumPlayers to NumberOfPlayers (#646) (27b99be)

BREAKING CHANGES

  • Use NetworkServer.NumberOfPlayers instead of NetworkServer.NumPlayers

68.0.3 (2021-02-25)

Bug Fixes

68.0.2 (2021-02-24)

Bug Fixes

68.0.1 (2021-02-23)

Bug Fixes

68.0.0 (2021-02-22)

Code Refactoring

  • move LocalPlayer to ClientObjectManager (#619) (df1e379)

Features

BREAKING CHANGES

  • removed NetworkClient.LocalPlayer, use ClientObjectManager.LocalPlayer instead

67.4.0 (2021-02-21)

Features

67.3.2 (2021-02-21)

Bug Fixes

67.3.1 (2021-02-21)

Bug Fixes

  • passing NetworkBehaviors in RPC works with IL2PP (#630) (87becee), closes #629

67.3.0 (2021-02-21)

Features

  • install/uninstall modules from welcome window (#593) (53ac404)

67.2.7 (2021-02-21)

Bug Fixes

  • show selected tab when welcome screen is opened (#628) (f6cae98)

67.2.6 (2021-02-20)

Bug Fixes

67.2.5 (2021-02-20)

Bug Fixes

  • revert preprocessor change (b89c454)

67.2.4 (2021-02-20)

Bug Fixes

  • add comments and backing field for time (#618) (da74e11)

67.2.3 (2021-02-19)

Bug Fixes

  • add summaries to event classes (#623) (e6b9354)
  • no longer true. spawnableobjects populated by FindObjectsOfTypeAll (#622) (5692709)

67.2.2 (2021-02-19)

Bug Fixes

  • drop support for older versions (5dc12b5)

67.2.1 (2021-02-19)

Bug Fixes

67.2.0 (2021-02-19)

Features

67.1.0 (2021-02-19)

Features

67.0.2 (2021-02-19)

Bug Fixes

  • clientObjectManager was not using its interface (#615) (d2b07ea)

67.0.1 (2021-02-19)

Bug Fixes

67.0.0 (2021-02-19)

Code Refactoring

  • remove unnecessary assembly definition (#599) (89ffc7c)

BREAKING CHANGES

  • removed MirageNG.asmdef, change your assembly to use Mirage.asmdef instead

66.2.2 (2021-02-19)

Bug Fixes

66.2.1 (2021-02-17)

Bug Fixes

  • fix serializing NetworkBehavior and GameObjects (b74fcf9)

66.2.0 (2021-02-17)

Features

  • make networkscenemanager optional again (#595) (ed180ff)

66.1.0 (2021-02-17)

Features

  • optional dontdestroyonload for networkscenemanager (#596) (67e41bd)

66.0.0 (2021-02-16)

Bug Fixes

  • update package json for new name and url (#594) (e915aeb)

Code Refactoring

BREAKING CHANGES

  • replaced Mirror namespace with Mirage

65.1.0 (2021-02-15)

Features

65.0.0 (2021-02-14)

Code Refactoring

  • NetworkReader no longer depends on NetworkClient and NetworkServer (15f27c4)
  • readers no longer depends on NetworkClient and NetworkServer (#583) (177c307)

BREAKING CHANGES

  • NetworkReader no longer have .Client and .Server, it has a .ObjectLocator instead
  • NetworkReader no longer have .Client and .Server, it has a .ObjectLocator instead

64.0.0 (2021-02-14)

Code Refactoring

  • separate player ownership from NetworkServer (#580) (8d7efa6)

BREAKING CHANGES

  • SendToClientOfPlayer removed. Use identity.ConnectionToClient.Send() instead

63.5.0 (2021-02-10)

Features

  • Notify acks messages in one way messages (07ca15d)

Performance Improvements

  • no need to send initial empty notify (8fbe346)

63.4.0 (2021-02-09)

Features

  • open changelog page when user downloaded a new version (#571) (d9ed96e)

63.3.5 (2021-02-07)

Bug Fixes

  • nre issues when trying to reload back in the same instance to a … (#570) (158ea2f)

63.3.4 (2021-02-07)

Bug Fixes

63.3.3 (2021-02-05)

Reverts

  • Revert "fix: support legacy Weaver (#546)" (d58725f), closes #546

63.3.2 (2021-02-04)

Bug Fixes

63.3.1 (2021-02-04)

Bug Fixes

  • client throwing exception when force disconnecting (#567) (a69b498)

63.3.0 (2021-02-03)

Bug Fixes

Features

  • explicit declaration of network messages (#565) (b0610e2)

63.2.1 (2021-02-03)

Bug Fixes

  • built in messages get an id (fe71bcd)

63.2.0 (2021-02-03)

Features

63.1.0 (2021-02-03)

Features

  • spawn an object by network identity ref (#561) (87a520d)

63.0.1 (2021-02-03)

Bug Fixes

63.0.0 (2021-02-02)

Bug Fixes

  • object references in examples (06d89c0)

Styles

  • Use PascalCase for public fields (9dc94c1)
  • Use PascalCase for public fields (8a195f6)
  • Use PascalCase for public fields (8366e80)
  • Use PascalCase for public fields (2717957)
  • Use PascalCase for public fields (f1758d3)
  • Use PascalCase for public fields (e478d8d)
  • Use PascalCase for public fields (5f88032)

BREAKING CHANGES

  • HeadlessAutoStart.* renamed to follow PascalCase
  • OnlineOfflineScene to use PascalCase
  • PlayerSpawner.* renamed to follow PascalCase
  • NetworkManager fields renamed to PascalCase
  • ClientObjectManager.client renamed to .Client
  • ClientObjectManager.networkSceneManager renamed to .NetworkSceneManager
  • ServerObjectManager.server renamed to .Server
  • ServerObjectManager.networkSceneManager renamed to .NetworkSceneManager
  • NetworkSceneManager.client renamed to .Client
  • NetworkSceneManager.server renamed to .Server

62.10.0 (2021-02-01)

Features

  • recommend Fast3 as default for performance (#559) (8cbf6e6)

62.9.8 (2021-02-01)

Bug Fixes

62.9.7 (2021-02-01)

Bug Fixes

  • add ignorance support with defines for test (35634d5)
  • make test transport agnostic (cbb00b3)

62.9.6 (2021-01-31)

Bug Fixes

  • move method not firing and too slow (56ce2fd)
  • nre in headless example (9e8dccc)

62.9.5 (2021-01-30)

Bug Fixes

  • bug cleaning up networkscenemanager (8db98db)
  • fast domain reload with Kcp (bd3676d), closes #547

62.9.4 (2021-01-29)

Bug Fixes

62.9.3 (2021-01-27)

Bug Fixes

62.9.2 (2021-01-27)

Bug Fixes

62.9.1 (2021-01-26)

Performance Improvements

  • cache component index in network behavior (#550) (e566545)

62.9.0 (2021-01-26)

Features

62.8.0 (2021-01-25)

Features

62.7.2 (2021-01-24)

Bug Fixes

62.7.1 (2021-01-22)

Bug Fixes

  • simplified SetHostVisibilityExceptionNetworkBehaviour test (#544) (b7465a5)

62.7.0 (2021-01-22)

Features

62.6.1 (2021-01-20)

Bug Fixes

62.6.0 (2021-01-20)

Features

  • add Online and Offline scene support via optional component (#505) (a83dd5f)

62.5.5 (2021-01-20)

Bug Fixes

62.5.4 (2021-01-19)

Bug Fixes

  • don't destroy network scene objects on server stop (#518) (c9d0387)

62.5.3 (2021-01-19)

Performance Improvements

62.5.2 (2021-01-19)

Bug Fixes

  • error saving field name SYNC_VAR_COUNT (#536) (cbc52e5)

62.5.1 (2021-01-19)

Bug Fixes

  • invalid IL with NI syncvars with hooks (#535) (49f6141)

62.5.0 (2021-01-18)

Features

62.4.1 (2021-01-15)

Bug Fixes

62.4.0 (2021-01-13)

Features

  • set the assembly version in all assemblies (#531) (da381bd)

62.3.0 (2021-01-12)

Features

  • writer generation errors link to code (b76e873)

62.2.0 (2021-01-12)

Features

  • reader generation errors link to the code (99a70fe)

62.1.0 (2021-01-11)

Features

62.0.1 (2021-01-11)

Bug Fixes

  • Use Guid.Empty in the tests (e900d33)

62.0.0 (2021-01-11)

Features

BREAKING CHANGES

  • Mirage assembly no longer contains the components. Reference Mirror.Components instead.
  • Editor scripts are no longer weaved

61.1.2 (2021-01-09)

Bug Fixes

  • NullReferenceException destroying objects (#526) (3ad2608)

61.1.1 (2021-01-08)

Bug Fixes

  • warning with missing Transport folder (be5aa69)

61.1.0 (2021-01-05)

Features

61.0.2 (2021-01-02)

Bug Fixes

  • method access exception with serverrpc that return something (8cb00e9)

61.0.1 (2020-12-31)

Bug Fixes

61.0.0 (2020-12-31)

BREAKING CHANGES

  • Moved NetworkDiscovery to a separate repo

60.4.1 (2020-12-30)

Bug Fixes

60.4.0 (2020-12-29)

Features

  • SyncVar support arbitrary NetworkBehavior (#514) (67b0c9f)

60.3.0 (2020-12-29)

Features

60.2.0 (2020-12-27)

Features

60.1.1 (2020-12-27)

Bug Fixes

60.1.0 (2020-12-27)

Features

60.0.1 (2020-12-19)

Bug Fixes

  • network objects not destroyed on server stop (#468) (abf5f2f)

60.0.0 (2020-12-19)

Bug Fixes

  • prevent DoS attacks with invalid array length (#500) (78e6077)

BREAKING CHANGES

  • Remove serverOnly option in NetworkIdentity

59.2.1 (2020-11-30)

Bug Fixes

  • font color in basic example (a9dfb3f)

Performance Improvements

59.2.0 (2020-11-28)

Features

59.1.0 (2020-11-25)

Features

  • User can now configure window size (ec0b839)

59.0.8 (2020-11-23)

Bug Fixes

59.0.7 (2020-11-23)

Bug Fixes

59.0.6 (2020-11-20)

Bug Fixes

  • script not found error with NetworkDiscoveryHud (#494) (8e39e21)

59.0.5 (2020-11-14)

Bug Fixes

  • generate reader for types in other assemblies (b685226)
  • generate writer for types in other assemblies (8385c29)

59.0.4 (2020-11-14)

Bug Fixes

  • using mathematics in commands and rpcs (#492) (ee27841)

59.0.3 (2020-11-10)

Bug Fixes

  • calling base command in other assemblies (e49fda1)
  • error importing scriptable object from another module (6cdd112)

59.0.2 (2020-11-10)

Bug Fixes

  • logs now save properly when reloading (19c86e7)

59.0.1 (2020-11-07)

Bug Fixes

  • don't consume so much memory registering prefabs (#486) (d451782)

59.0.0 (2020-11-06)

  • Transport now has connected and started events. (#479) (3e7f688), closes #479

BREAKING CHANGES

  • Add Connected event to Transport API
  • Add Started event to Transport API
  • ListenAsync returns a task that completes when the transport stops
  • Remove AcceptAsync from transports

58.0.1 (2020-11-05)

Bug Fixes

58.0.0 (2020-11-05)

  • ClientObjectManager now requires NetworkIdentity (#475) (103593b), closes #475

BREAKING CHANGES

  • Now you can only assign prefabs with NetworkIdentity to the ClientObjectManager

57.0.0 (2020-11-05)

  • Remove redundant spawn handler (#476) (9bbf0dc), closes #476

BREAKING CHANGES

  • Removed redundant spawn handler

56.5.0 (2020-11-04)

Features

  • ClientObjectManager is available in network behaviors (#466) (d0d0b2a)

56.4.4 (2020-11-04)

Bug Fixes

  • do not cache lastReceived in release (9a15863)

56.4.3 (2020-11-03)

Bug Fixes

  • PlayerSpawner depends on ClientObjectManager throw if missing (#472) (0ab0a70)

56.4.2 (2020-11-03)

Bug Fixes

56.4.1 (2020-11-03)

Bug Fixes

56.4.0 (2020-11-03)

Features

56.3.4 (2020-11-03)

Bug Fixes

  • added missing UniTask.asmdef reference to Mirror.Weaver.asmdef (#463) (bcb8ae7)

56.3.3 (2020-11-02)

Bug Fixes

  • prevent NRE if client is not present on server (#461) (357da87)

56.3.2 (2020-11-02)

Bug Fixes

  • NetworkAnimator: fixing trigger not applied on host (49b5325)

56.3.1 (2020-11-02)

Bug Fixes

56.3.0 (2020-11-02)

Features

56.2.0 (2020-11-02)

Features

  • server sends list of additive scenes upon connect (#451) (3d0b6c5)

56.1.2 (2020-10-31)

Bug Fixes

  • client NRE for objects spawned in .Started in hostmode (#453) (918504c)

56.1.1 (2020-10-30)

Bug Fixes

  • disconnect transport when play mode exits (#449) (e741809)

56.1.0 (2020-10-30)

Features

  • add quick access ref to NetIdentity.ServerObjectManager (#444) (d691ca4)

56.0.2 (2020-10-30)

Bug Fixes

56.0.1 (2020-10-29)

Bug Fixes

  • host wasnt loading with additive fix (cd6110a)
  • wrong text in exception (d0d5581)

56.0.0 (2020-10-29)

breaking

BREAKING CHANGES

  • NetworkServer no longer spawns objects, add a ServerObjectManager for that

55.0.1 (2020-10-27)

Bug Fixes

55.0.0 (2020-10-27)

BREAKING CHANGES

  • Authenticator does not have dependency on NM anymore

54.1.1 (2020-10-26)

Bug Fixes

  • local client loading additive scene twice. (5a74fb0)

54.1.0 (2020-10-26)

Features

54.0.0 (2020-10-25)

  • ReceiveAsync throws EndOfStreamException (#435) (faf2e54), closes #435

BREAKING CHANGES

  • External transports will need an update

53.0.1 (2020-10-24)

Performance Improvements

53.0.0 (2020-10-23)

BREAKING CHANGES

  • FallbackTransport removed

  • fix docs

  • FallbackTransport removed

52.1.1 (2020-10-23)

Performance Improvements

52.1.0 (2020-10-23)

Features

  • SyncDictionary raise event when initially synchronized (23349af)
  • SyncList raise event when initially synchronized (9f679c5)
  • SyncSet raise event when initially synchronized (03f2075)

52.1.0 (2020-10-23)

Features

  • SyncDictionary raise event when initially synchronized (23349af)
  • SyncList raise event when initially synchronized (9f679c5)
  • SyncSet raise event when initially synchronized (03f2075)

52.0.1 (2020-10-23)

Bug Fixes

  • use the spawn calls that already happen via scene loading (#426) (cc19f3b)

52.0.0 (2020-10-22)

Bug Fixes

  • names and refs clear that PATH should be sent in scene msg (#423) (c68189c)

BREAKING CHANGES

  • TCPTransport removed. Use KCPTransport instead

51.1.5 (2020-10-22)

Bug Fixes

  • TCPTransport is obsolete, use KCPTransport instead (c031ae9)

51.1.4 (2020-10-22)

Bug Fixes

  • expect reserved header to be in the input (547bdd6)

51.1.3 (2020-10-22)

Performance Improvements

51.1.2 (2020-10-21)

Bug Fixes

  • fix multiple scene loading order issues (#418) (6d8265d)

51.1.1 (2020-10-21)

Bug Fixes

  • InvalidDataException not found problem (229f73d)

51.1.0 (2020-10-21)

Features

  • KCP transport now provides unreliable channel (#420) (8aac115)

51.0.0 (2020-10-21)

  • Transport api can now send messages in channels (#419) (9a2690e), closes #419

BREAKING CHANGES

  • Transports now receive and return channels

50.2.0 (2020-10-20)

Bug Fixes

  • method access exception sending rpcs (531e908)

Features

  • display user-friendly log with an unexpected messages. (#417) (7b78c29)

50.1.5 (2020-10-20)

Bug Fixes

  • recursive types with collections (5cb0058)

50.1.4 (2020-10-20)

Bug Fixes

  • potential NRE generating readers (324ba60)

50.1.3 (2020-10-20)

Bug Fixes

50.1.2 (2020-10-19)

Bug Fixes

  • add WaitUntilWithTimeout to prevent tests from getting stuck (#412) (df1ccb4)

50.1.1 (2020-10-19)

Performance Improvements

  • don't drop acks, follow original C algorithm (c0b5a12)

50.1.0 (2020-10-18)

Features

  • User can set KcpDelayMode via KcpTransport(#403) (bdd0d9c)

50.0.2 (2020-10-18)

Bug Fixes

  • recycling segments (9d12658)
  • use buffer same size as C version (20e1324)

50.0.1 (2020-10-18)

Bug Fixes

  • bug setting the rto, it should be 100 in normal mode (091bde6)

50.0.0 (2020-10-17)

BREAKING CHANGES

  • GetPrefab now just returns the prefab or null

49.4.0 (2020-10-17)

Features

49.3.3 (2020-10-16)

Bug Fixes

  • reading and writing a network identity before spawning (#400) (870f49d), closes #399

49.3.2 (2020-10-16)

Performance Improvements

49.3.1 (2020-10-15)

Bug Fixes

  • use hostname for serverUri (4b38fbe)

49.3.0 (2020-10-15)

Bug Fixes

  • double counting packets on kcp receive (89cb937)
  • NRE when disconnecting with no owned objects (4e7983e)

Features

  • KCP transport now has CRC64 validation (#397) (21c8649)

Performance Improvements

  • recycle segments (13a3c3d)
  • reduce allocation sending to observers (f5f7f6c)
  • reduce allocations per client (8d37f8c)
  • Refactore move to receive queue (173735c)
  • remove allocation (9311fbd)
  • reuse segment if it is a repeat (4879010)
  • Use allocation free completion source (20227a7)
  • use Unitask (384d02b)
  • Use UniTask instead of task (70c9cfb)

49.2.1 (2020-10-15)

Bug Fixes

  • double counting packets on kcp receive (89cb937)
  • NRE when disconnecting with no owned objects (4e7983e)

Performance Improvements

  • recycle segments (13a3c3d)
  • reduce allocation sending to observers (f5f7f6c)
  • reduce allocations per client (8d37f8c)
  • Refactore move to receive queue (173735c)
  • remove allocation (9311fbd)
  • reuse segment if it is a repeat (4879010)
  • Use allocation free completion source (20227a7)
  • use Unitask (384d02b)
  • Use UniTask instead of task (70c9cfb)

49.2.1 (2020-10-15)

Bug Fixes

  • double counting packets on kcp receive (89cb937)

Performance Improvements

  • recycle segments (13a3c3d)
  • reduce allocation sending to observers (f5f7f6c)
  • reduce allocations per client (8d37f8c)
  • Refactore move to receive queue (173735c)
  • remove allocation (9311fbd)
  • reuse segment if it is a repeat (4879010)
  • Use allocation free completion source (20227a7)
  • Use UniTask instead of task (70c9cfb)

49.2.0 (2020-10-14)

Bug Fixes

  • throw weaver error when trying to use GameObject param (#395) (2726b9e)

Features

49.1.1 (2020-10-14)

Bug Fixes

  • bug in kcp that caused invalid smoothing of rtt values (eacfefe)

49.1.0 (2020-10-14)

Features

49.0.0 (2020-10-14)

  • Reduce allocations by using Unitask (#392) (a45413a), closes #392

BREAKING CHANGES

  • Mirage now uses UniTask

48.0.1 (2020-10-12)

Bug Fixes

  • InvalidOperationException when disconnecting (b131eb7)

48.0.0 (2020-10-11)

  • Users must initialize syncobjects (#391) (c0e2632), closes #391

BREAKING CHANGES

  • You must initialize all your SyncLists

47.0.3 (2020-10-10)

Bug Fixes

  • NRE in headless server mode (6dc8406)

47.0.2 (2020-10-09)

Bug Fixes

  • inconsistent case in meta file (4c50834)

47.0.1 (2020-10-08)

Bug Fixes

  • warning about tests.meta file (148b5a9)

47.0.0 (2020-10-07)

breaking

Bug Fixes

  • access NI on disabled objects (#383) (0ab4c60)
  • adding namespace for sonar bug (2ed0859)
  • bug Client ConnectionState not set properly in Disconnect (#369) (74298c5)
  • Bug with NI destroy order (#374) (485f78b)
  • Examples can exit property in client mode (35faaf3)
  • examples no longer use prefabs or common files (#378) (718ec9e)
  • Lobby comp should not reference NetworkConnection.IsReady (#385) (6a1a190)
  • networkmenu should add NSM to playerSpawner too (c7bd0be)
  • nre modifying syncvars that have not been spawned (69883c5)

Features

  • Add IncludeOwner option to SendToAll (#387) (6b0a005)
  • new generic Read and Write methods for all types (#2301) (85252c3)
  • support Jagged arrays (0267dbe)

Performance Improvements

BREAKING CHANGES

  • It is no longer guaranteed that all objects are spawned before we start calling events

  • fix object spawning on scene change

  • remove unused variable

Co-authored-by: uwee <uweenukr@gmail.com>

  • You can no longer use gameobjects in syncvars

  • Serialize and Deserialize methods in synclists don't do anything anymore

  • Remove old comment

  • Fix compilatio error

47.0.0 (2020-10-06)

breaking

Bug Fixes

  • access NI on disabled objects (#383) (0ab4c60)
  • adding namespace for sonar bug (2ed0859)
  • bug Client ConnectionState not set properly in Disconnect (#369) (74298c5)
  • Bug with NI destroy order (#374) (485f78b)
  • Examples can exit property in client mode (35faaf3)
  • examples no longer use prefabs or common files (#378) (718ec9e)
  • Lobby comp should not reference NetworkConnection.IsReady (#385) (6a1a190)
  • networkmenu should add NSM to playerSpawner too (c7bd0be)
  • nre modifying syncvars that have not been spawned (69883c5)

Features

  • Add IncludeOwner option to SendToAll (#387) (6b0a005)
  • new generic Read and Write methods for all types (#2301) (85252c3)
  • support Jagged arrays (0267dbe)

Performance Improvements

BREAKING CHANGES

  • It is no longer guaranteed that all objects are spawned before we start calling events

  • fix object spawning on scene change

  • remove unused variable

Co-authored-by: uwee <uweenukr@gmail.com>

  • You can no longer use gameobjects in syncvars

  • Serialize and Deserialize methods in synclists don't do anything anymore

  • Remove old comment

  • Fix compilatio error

47.0.0 (2020-10-06)

breaking

Bug Fixes

  • access NI on disabled objects (#383) (0ab4c60)
  • adding namespace for sonar bug (2ed0859)
  • bug Client ConnectionState not set properly in Disconnect (#369) (74298c5)
  • Bug with NI destroy order (#374) (485f78b)
  • Examples can exit property in client mode (35faaf3)
  • examples no longer use prefabs or common files (#378) (718ec9e)
  • Lobby comp should not reference NetworkConnection.IsReady (#385) (6a1a190)
  • networkmenu should add NSM to playerSpawner too (c7bd0be)
  • nre modifying syncvars that have not been spawned (69883c5)

Features

  • new generic Read and Write methods for all types (#2301) (85252c3)
  • support Jagged arrays (0267dbe)

Performance Improvements

BREAKING CHANGES

  • It is no longer guaranteed that all objects are spawned before we start calling events

  • fix object spawning on scene change

  • remove unused variable

Co-authored-by: uwee <uweenukr@gmail.com>

  • You can no longer use gameobjects in syncvars

  • Serialize and Deserialize methods in synclists don't do anything anymore

  • Remove old comment

  • Fix compilatio error

47.0.0 (2020-10-06)

breaking

Bug Fixes

  • access NI on disabled objects (#383) (0ab4c60)
  • adding namespace for sonar bug (2ed0859)
  • bug Client ConnectionState not set properly in Disconnect (#369) (74298c5)
  • Bug with NI destroy order (#374) (485f78b)
  • Examples can exit property in client mode (35faaf3)
  • examples no longer use prefabs or common files (#378) (718ec9e)
  • networkmenu should add NSM to playerSpawner too (c7bd0be)
  • nre modifying syncvars that have not been spawned (69883c5)

Features

  • new generic Read and Write methods for all types (#2301) (85252c3)
  • support Jagged arrays (0267dbe)

Performance Improvements

BREAKING CHANGES

  • It is no longer guaranteed that all objects are spawned before we start calling events

  • fix object spawning on scene change

  • remove unused variable

Co-authored-by: uwee <uweenukr@gmail.com>

  • You can no longer use gameobjects in syncvars

  • Serialize and Deserialize methods in synclists don't do anything anymore

  • Remove old comment

  • Fix compilatio error

47.0.0 (2020-10-06)

breaking

Bug Fixes

  • access NI on disabled objects (#383) (0ab4c60)
  • adding namespace for sonar bug (2ed0859)
  • bug Client ConnectionState not set properly in Disconnect (#369) (74298c5)
  • Bug with NI destroy order (#374) (485f78b)
  • Examples can exit property in client mode (35faaf3)
  • examples no longer use prefabs or common files (#378) (718ec9e)
  • networkmenu should add NSM to playerSpawner too (c7bd0be)
  • nre modifying syncvars that have not been spawned (69883c5)

Features

  • new generic Read and Write methods for all types (#2301) (85252c3)
  • support Jagged arrays (0267dbe)

Performance Improvements

BREAKING CHANGES

  • You can no longer use gameobjects in syncvars

  • Serialize and Deserialize methods in synclists don't do anything anymore

  • Remove old comment

  • Fix compilatio error

47.0.0 (2020-10-05)

breaking

Bug Fixes

  • adding namespace for sonar bug (2ed0859)
  • bug Client ConnectionState not set properly in Disconnect (#369) (74298c5)
  • Bug with NI destroy order (#374) (485f78b)
  • Examples can exit property in client mode (35faaf3)
  • examples no longer use prefabs or common files (#378) (718ec9e)
  • networkmenu should add NSM to playerSpawner too (c7bd0be)

Features

  • new generic Read and Write methods for all types (#2301) (85252c3)
  • support Jagged arrays (0267dbe)

BREAKING CHANGES

  • You can no longer use gameobjects in syncvars

  • Serialize and Deserialize methods in synclists don't do anything anymore

  • Remove old comment

  • Fix compilatio error

47.0.0 (2020-10-05)

breaking

Bug Fixes

  • adding namespace for sonar bug (2ed0859)
  • bug Client ConnectionState not set properly in Disconnect (#369) (74298c5)
  • Bug with NI destroy order (#374) (485f78b)
  • Examples can exit property in client mode (35faaf3)
  • examples no longer use prefabs or common files (#378) (718ec9e)
  • networkmenu should add NSM to playerSpawner too (c7bd0be)

Features

  • new generic Read and Write methods for all types (#2301) (85252c3)
  • support Jagged arrays (0267dbe)

BREAKING CHANGES

  • You can no longer use gameobjects in syncvars

  • Serialize and Deserialize methods in synclists don't do anything anymore

  • Remove old comment

  • Fix compilatio error

47.0.0 (2020-10-04)

breaking

Bug Fixes

  • adding namespace for sonar bug (2ed0859)
  • bug Client ConnectionState not set properly in Disconnect (#369) (74298c5)
  • Bug with NI destroy order (#374) (485f78b)
  • examples no longer use prefabs or common files (#378) (718ec9e)
  • networkmenu should add NSM to playerSpawner too (c7bd0be)

Features

  • new generic Read and Write methods for all types (#2301) (85252c3)
  • support Jagged arrays (0267dbe)

BREAKING CHANGES

  • You can no longer use gameobjects in syncvars

  • Serialize and Deserialize methods in synclists don't do anything anymore

  • Remove old comment

  • Fix compilatio error

47.0.0 (2020-10-04)

breaking

Bug Fixes

  • adding namespace for sonar bug (2ed0859)
  • bug Client ConnectionState not set properly in Disconnect (#369) (74298c5)
  • Bug with NI destroy order (#374) (485f78b)
  • examples no longer use prefabs or common files (#378) (718ec9e)
  • networkmenu should add NSM to playerSpawner too (c7bd0be)

Features

  • new generic Read and Write methods for all types (#2301) (85252c3)
  • support Jagged arrays (0267dbe)

BREAKING CHANGES

  • You can no longer use gameobjects in syncvars

  • Serialize and Deserialize methods in synclists don't do anything anymore

  • Remove old comment

  • Fix compilatio error

47.0.0 (2020-10-04)

breaking

Bug Fixes

  • adding namespace for sonar bug (2ed0859)
  • bug Client ConnectionState not set properly in Disconnect (#369) (74298c5)
  • Bug with NI destroy order (#374) (485f78b)
  • examples no longer use prefabs or common files (#378) (718ec9e)
  • networkmenu should add NSM to playerSpawner too (c7bd0be)

Features

  • new generic Read and Write methods for all types (#2301) (85252c3)
  • support Jagged arrays (0267dbe)

BREAKING CHANGES

  • You can no longer use gameobjects in syncvars

  • Serialize and Deserialize methods in synclists don't do anything anymore

  • Remove old comment

  • Fix compilatio error

47.0.0 (2020-10-04)

breaking

Bug Fixes

  • adding namespace for sonar bug (2ed0859)
  • bug Client ConnectionState not set properly in Disconnect (#369) (74298c5)
  • Bug with NI destroy order (#374) (485f78b)
  • examples no longer use prefabs or common files (#378) (718ec9e)

Features

  • new generic Read and Write methods for all types (#2301) (85252c3)
  • support Jagged arrays (0267dbe)

BREAKING CHANGES

  • You can no longer use gameobjects in syncvars

  • Serialize and Deserialize methods in synclists don't do anything anymore

  • Remove old comment

  • Fix compilatio error

47.0.0 (2020-10-04)

breaking

Bug Fixes

  • bug Client ConnectionState not set properly in Disconnect (#369) (74298c5)
  • Bug with NI destroy order (#374) (485f78b)
  • examples no longer use prefabs or common files (#378) (718ec9e)

Features

  • new generic Read and Write methods for all types (#2301) (85252c3)
  • support Jagged arrays (0267dbe)

BREAKING CHANGES

  • You can no longer use gameobjects in syncvars

  • Serialize and Deserialize methods in synclists don't do anything anymore

  • Remove old comment

  • Fix compilatio error

47.0.0 (2020-10-03)

breaking

Bug Fixes

  • bug Client ConnectionState not set properly in Disconnect (#369) (74298c5)
  • Bug with NI destroy order (#374) (485f78b)

Features

  • new generic Read and Write methods for all types (#2301) (85252c3)
  • support Jagged arrays (0267dbe)

BREAKING CHANGES

  • You can no longer use gameobjects in syncvars

  • Serialize and Deserialize methods in synclists don't do anything anymore

  • Remove old comment

  • Fix compilatio error

47.0.0 (2020-10-02)

breaking

Bug Fixes

  • bug Client ConnectionState not set properly in Disconnect (#369) (74298c5)
  • Bug with NI destroy order (#374) (485f78b)

Features

  • new generic Read and Write methods for all types (#2301) (85252c3)
  • support Jagged arrays (0267dbe)

BREAKING CHANGES

  • You can no longer use gameobjects in syncvars

  • Serialize and Deserialize methods in synclists don't do anything anymore

  • Remove old comment

  • Fix compilatio error

47.0.0 (2020-10-02)

breaking

Bug Fixes

  • bug Client ConnectionState not set properly in Disconnect (#369) (74298c5)
  • Bug with NI destroy order (#374) (485f78b)

Features

  • new generic Read and Write methods for all types (#2301) (85252c3)
  • support Jagged arrays (0267dbe)

BREAKING CHANGES

  • You can no longer use gameobjects in syncvars

  • Serialize and Deserialize methods in synclists don't do anything anymore

  • Remove old comment

  • Fix compilatio error

47.0.0 (2020-10-02)

breaking

Bug Fixes

  • bug Client ConnectionState not set properly in Disconnect (#369) (74298c5)
  • Bug with NI destroy order (#374) (485f78b)

Features

  • new generic Read and Write methods for all types (#2301) (85252c3)
  • support Jagged arrays (0267dbe)

BREAKING CHANGES

  • You can no longer use gameobjects in syncvars

  • Serialize and Deserialize methods in synclists don't do anything anymore

  • Remove old comment

  • Fix compilatio error

47.0.0 (2020-10-02)

breaking

Bug Fixes

  • bug Client ConnectionState not set properly in Disconnect (#369) (74298c5)
  • Bug with NI destroy order (#374) (485f78b)

Features

  • new generic Read and Write methods for all types (#2301) (85252c3)
  • support Jagged arrays (0267dbe)

BREAKING CHANGES

  • You can no longer use gameobjects in syncvars

  • Serialize and Deserialize methods in synclists don't do anything anymore

  • Remove old comment

  • Fix compilatio error

47.0.0 (2020-10-02)

breaking

Bug Fixes

  • bug Client ConnectionState not set properly in Disconnect (#369) (74298c5)
  • Bug with NI destroy order (#374) (485f78b)

Features

  • new generic Read and Write methods for all types (#2301) (85252c3)
  • support Jagged arrays (0267dbe)

BREAKING CHANGES

  • You can no longer use gameobjects in syncvars

  • Serialize and Deserialize methods in synclists don't do anything anymore

  • Remove old comment

  • Fix compilatio error

47.0.0 (2020-10-02)

breaking

Bug Fixes

  • bug Client ConnectionState not set properly in Disconnect (#369) (74298c5)
  • Bug with NI destroy order (#374) (485f78b)

Features

  • new generic Read and Write methods for all types (#2301) (85252c3)
  • support Jagged arrays (0267dbe)

BREAKING CHANGES

  • You can no longer use gameobjects in syncvars

  • Serialize and Deserialize methods in synclists don't do anything anymore

  • Remove old comment

  • Fix compilatio error

47.0.0 (2020-10-02)

breaking

Bug Fixes

  • bug Client ConnectionState not set properly in Disconnect (#369) (74298c5)
  • Bug with NI destroy order (#374) (485f78b)

Features

  • new generic Read and Write methods for all types (#2301) (85252c3)
  • support Jagged arrays (0267dbe)

BREAKING CHANGES

  • You can no longer use gameobjects in syncvars

  • Serialize and Deserialize methods in synclists don't do anything anymore

  • Remove old comment

  • Fix compilatio error

47.0.0 (2020-10-02)

breaking

Bug Fixes

Features

  • new generic Read and Write methods for all types (#2301) (85252c3)
  • support Jagged arrays (0267dbe)

BREAKING CHANGES

  • Serialize and Deserialize methods in synclists don't do anything anymore

  • Remove old comment

  • Fix compilatio error

47.0.0 (2020-10-02)

breaking

Features

  • new generic Read and Write methods for all types (#2301) (85252c3)
  • support Jagged arrays (0267dbe)

BREAKING CHANGES

  • Serialize and Deserialize methods in synclists don't do anything anymore

  • Remove old comment

  • Fix compilatio error

46.2.0 (2020-10-02)

Features

  • Generate rw for synclist items (518840c)

46.1.0 (2020-09-30)

Bug Fixes

  • reduce prefab count to prevent errors when examples are missing (a531fa0)

Features

  • NetworkBehaviors can be added to child gameobjects (#371) (266dc8d)

46.0.2 (2020-09-30)

Bug Fixes

  • invalid reference to UnityEditor in standalone build (69f5be7)

46.0.1 (2020-09-30)

Bug Fixes

46.0.0 (2020-09-30)

Bug Fixes

  • potential NRE with weaver errors (9e0c18c)

Features

BREAKING CHANGES

  • SyncList and other syncobjects no longer have override methods to serialize and deserialize data

45.0.1 (2020-09-30)

Bug Fixes

  • issue with readers and writers from other assemblies (18f3eba)

45.0.0 (2020-09-29)

  • Renamed ReadMessage -> Reader (1bb89f2)

BREAKING CHANGES

  • NetworkReader.ReadMessage renamed to NetworkReader.Read
  • NetworkWriter.WriteMessage renamed to NetworkReader.Write

44.3.1 (2020-09-29)

Bug Fixes

44.3.0 (2020-09-29)

Features

44.2.0 (2020-09-28)

Features

  • Support reading and writing recursive types (a82f3fd)

44.1.0 (2020-09-28)

Bug Fixes

Features

44.0.0 (2020-09-27)

Features

BREAKING CHANGES

  • IMessageBase has been removed, you don't need to implement anything

43.9.1 (2020-09-25)

Bug Fixes

  • asmdef issues related to runtime tests (#357) (175b6b7)

43.9.0 (2020-09-24)

Features

43.8.0 (2020-09-24)

Features

  • Add support for customer INetworkConnections (#346) (9d0b219)

43.7.0 (2020-09-21)

Bug Fixes

Features

  • Added Layer Weight to NetworkAnimator (#2134) (23b9fb0)
  • Adding Custom Data and Custom Address fields to list server (#2110) (e136f48)
  • adding script to help debug list server (#2202) (5701369)
  • allowing lists to automatically be sent in Commands, Rpc, and Messages (#2151) (381e5a1)
  • making NetworkBehaviour.IsDirty public (#2208) (1ade82d)
  • Use Server Client attribute outside of NetworkBehaviour (#2150) (eec49fa)

Performance Improvements

  • weaver: No need to manually load mirror and unity assemblies (#2261) (e50ea63)
  • adding check for no connections (#2130) (150b14a)

43.6.0 (2020-09-07)

Features

43.5.0 (2020-08-31)

Features

43.4.2 (2020-08-24)

Bug Fixes

  • scene change race condition. wait for server to be ready (#339) (2ca0340)

1.0.0 (2020-08-23)

breaking

  • AsyncFallbackTransport -> FallbackTransport (f8f643a)
  • AsyncMultiplexTransport -> MultiplexTransport (832b7f9)
  • remove redundant scene ready value (#325) (6cc8f62)
  • Remove TargetRPC & use ClientRPC option instead (#293) (4ace144)
  • Removed websocket transport (f26159b)
  • Rename [Command] to [ServerRpc] (#271) (fff7459)
  • rename AsyncWsTransport -> WsTransport (9c394bc)
  • Transports can now provide their Uri (#1454) (b916064), closes #38

Bug Fixes

  • (again) Telepathy updated to latest version (Send SocketExceptions now disconnect the player too) (46eddc0)
  • #1241 - Telepathy updated to latest version. All tests are passing again. Thread.Interrupt was replaced by Abort+Join. (228b32e)
  • #1278 - only call initial state SyncVar hooks on clients if the SyncVar value is different from the default one. (#1414) (a3ffd12)
  • #1359. Revert "Destroy objects owned by this connection when disconnecting (#1179)" (4cc4279)
  • #1380 - NetworkConnection.clientOwnedObjects changed from uint HashSet to NetworkIdentity HashSet for ease of use and to fix a bug where DestroyOwnedObjects wouldn't find a netId anymore in some cases. (a71ecdb)
  • #1515 - StopHost now invokes OnServerDisconnected for the host client too (#1601) (678ac68)
  • #1593 - NetworkRoomManager.ServerChangeScene doesn't destroy the world player before replacing the connection. otherwise ReplacePlayerForConnection removes authority form a destroyed object, causing all kidns of errors. The call wasn't actually needed. (#1594) (347cb53)
  • #1599 - NetworkManager HUD calls StopHost/Server/Client depending on state. It does not call StopHost in all cases. (#1600) (8c6ae0f)
  • #1659 Telepathy LateUpdate processes a limited amount of messages per tick to avoid deadlocks (#1830) (d3dccd7)
  • #718 remove Tests folder from unitypackage (#827) (7e487af)
  • #840 by allowing Mirror to respect the forceHidden flag (#893) (3ec3d02)
  • ArraySegment<byte> work in Messages (#919) (981ba7c)
  • code generation works with il2cpp again (#1056) (8738562)
  • do not accumulate changes if there are no observers fixes #963 (#964) (64a0468)
  • don't convert null arrays to empty array (#913) (dd758ca)
  • Don't increment counter in Awake (#971) (45b7118)
  • don't use obsolete method (12437ba)
  • error with missing assemblies (#1052) (00eb23a), closes #1051
  • Fix error scene error message in host mode (838d4f0)
  • hooks in host mode can call each other (#1017) (f27fd0b)
  • invalid scene id in 2019.1 by ignoring prefabs in NetworkScenePostProcess (203a823)
  • ListServer Ping not found in WebGL (6c4b34b)
  • maintain Unity's copyright notice (#961) (7718955)
  • missed ushort reader/writer (74faf2a)
  • Mono.CecilX namespace to work around Unity 2019 Cecil namespace collision (#832) (5262592)
  • NetworkManager OnValidate wouldn't properly save the automatically added Transport before because Undo.RecordObject is needed for that now. (524abfc)
  • pack works if message is boxed (55c9bb6)
  • properly stop client and server in OnApplicationQuit so that clients still get a chance to send then 'quit' packet instead of just timing out. Also fixes a bug where OnStopServer/OnStopClient were not called when stopping the Editor. (#936) (d6389e6)
  • Rebuild observers when we switch scenes, fixes #978 (#1016) (6dd1350)
  • Respect Player Prefab Position & Rotation (#825) (8ebda0f)
  • Revert "NetworkIdentity.observers dictionary is always created, but always empty on clients. Gets rid of all null checks." to fix server-only bug not allowing movement on client, e.g. in uMMORPG (f56507f)
  • Revert "refactor: consolidate prefab and spawn handlers (#817)" to fix a bug where if editor=host, build=client, we receive scene object not found when walking out of and back into an observer's range (1f07af0)
  • SceneId was not set to 0 for prefab variants (#976) (#977) (2ca2c48)
  • suppress warning on standalone build #1053 (4ef680a)
  • Sync full netAnimator for new clients, fix #980 (#1110) (db8310f)
  • Telepathy already supports IPv6, but can no also connect to IPv4-only servers again (e.g. Mirror Booster) (488446a)
  • Telepathy fix a bug where calling Disconnect while connecting to a dead end would freeze Unity because .Join would wait forever. Interrupt fixes it. (3831cbd)
  • weaver: fix #796, reload assemblies after initial import (#1106) (d91b387)
  • #573 (part 1) NetworkScenePostProcess handles NetworkIdentities of all scenes except DontDestroyOnLoad. this way it works for additively loaded scenes too. (c1af84e)
  • #573 (part 2) NetworkManager detects additive scene loads and respawns objects on server/client again (e521a20)
  • #573 NullReferenceException because destroyed NetworkIdentities were never removed from sceneIds dict (a2d6317)
  • #609 by spawning observers in NetworkServer.AddPlayerForConnection after setting the controller. There is no point in trying to spawn with a null controller in SetReady, because by definition no one can observer something that is null. (#623) (5c00577)
  • #640 InternalReplacePlayerForConnection calls SpawnObserversForConnection now too (bdf12c8)
  • #651 GetSceneAt assumes default scene (#654) (65eaba1)
  • #652 OnPostProcessScene includes disabled NetworkIdentities in scene (ee2ace8)
  • #679 package for unity (4a6a4df)
  • #679 unity package (9895647)
  • #692 by always adding connectionToClient when rebuilding observers (ab44ac8)
  • #723 - NetworkTransform teleport works properly now (fd7dc5e)
  • #791 corrected assembly paths passed to weaver (#803) (3ba546e)
  • #791 stack overflow in the weaver (#792) (7b57830)
  • add Changelog metadata fix #31 (c67de22)
  • add client only test for FinishLoadScene (#262) (50e7fa6)
  • Add missing channelId to NetworkConnectionToClient.Send calls (#1509) (b8bcd9a)
  • add NetworkManager.StartClientUri test (#2095) (12827f6)
  • add NRE short circuit for scene change (#335) (7afbe57)
  • add tests for NetworkTransform and NetworkRigidbody (#273) (e9621dd)
  • Add the transport first so NetworkManager doesn't add Telepathy in OnValidate (bdec276)
  • Added ClientOnly check (fb927f8)
  • Added LogFilter.Debug check in a few places (#1575) (3156504)
  • added new read/write symbol params (#806) (3a50ca6)
  • Added WriteBytesAndSize tests, and fixed the function to be pedantic. (#773) (72e4e55)
  • Adding warning when adding handler with RegisterSpawnHandler if assetid already exists (#1819) (7f26329)
  • Adding warning when adding prefab with RegisterPrefab if assetid already exists (#1828) (9f59e0c)
  • addingNetwork rigidbody icon and AddComponentMenu attribute (#2051) (ab1b92f)
  • Additive scene can respawn objects safely (#1270) (8899d20)
  • additive scene example (9fa0169)
  • Additive Scene Example was missing Player Auth on movement. (#234) (09bbd68)
  • additive scene player movement is client authoritative (e683a92)
  • AdditiveSceneExample missing comp and assignments (#267) (ab394b8)
  • Allow sync objects to be re-used (#1744) (58c89a3), closes #1714
  • Allowing overrides for virtual commands to call base method (#1944) (b92da91)
  • assign spawn locations and fix null refs in example (#242) (3adf343)
  • AsyncTcp now exits normally when client disconnects (#141) (8896c4a)
  • attributes causing a NRE (#69) (fc99c67)
  • auto reference mirrorng assembly (93f8688)
  • Avoid FindObjectOfType when not needed (#66) (e2a4afd)
  • benchmark examples (b221b74)
  • better error for Command, ClientRpc and TargetRpc marked as abstract (#1947) (62257d8)
  • Better errors when trying to replace existing assetid (#1827) (822b041)
  • build in IL2CPP (#1524) (59faa81), closes #1519 #1520
  • call callback after update dictionary in host (#1476) (1736bb0)
  • Call hooks when initializing objects OnStartServer on host (#1249) (7aa7815)
  • call Obsoleted OnStartClient (#681) (8dea50e)
  • call OnStartClient only once in room (#1264) (4d373c5)
  • call the virtual OnRoomServerDisconnect before the base (e6881ef)
  • calling base method when the first base class did not have the virtual method (#2014) (4af72c3)
  • calling Connect and Authenticate handler twice (#102) (515f5a1)
  • calling syncvar hook when not connected yet (#77) (e64727b)
  • cap spawned to match client (#301) (7d1571a)
  • changing namespace to match folder name (#2037) (e36449c)
  • chat example (e6e10a7)
  • chat example works (0609d50)
  • check event prefix (7417b68)
  • Check SceneManager GetSceneByName and GetSceneByPath (#1684) (e7cfd5a)
  • Clean up roomSlots on clients in NetworkRoomPlayer (5032ceb)
  • Cleaning up network objects when server stops (#1864) (4c25122)
  • cleanup the server even after error (#255) (7bd015e)
  • clear all message handlers on Shutdown (#1829) (a6ab352)
  • client being disconnected twice (#132) (36bb3a2)
  • client disconnected on server event never raised (#133) (9d9efa0)
  • ClientRpc methods now work accross assemblies (#1129) (13dbcb9), closes #1128
  • ClientRPC should skip first arg only if set as Connection (#315) (168e622)
  • ClientSceneManager should be responsible for its own cleanup (#298) (92ab3ff)
  • Cmds can be called from child classes in other assemblies (d8a98d8), closes #1108
  • code smell rename Ready (#256) (6d92d14)
  • Command and Rpc debugging information (#1551) (658847b), closes #1550
  • comment punctuation (4d827cd)
  • compilation error (df7baa4)
  • compilation error (dc74256)
  • compilation error on standalone build (bb70bf9)
  • compilation issue after merge from mirror (daf07be)
  • compilation issues (22bf925)
  • comply with MIT license in upm package (b879bef)
  • Decouple ChatWindow from player (#1429) (42a2f9b)
  • Default port is 7777 (960c39d)
  • destroy owned objects (#1352) (d7a58d2), closes #1346 #1206 #1351
  • Destroyed NetMan due to singleton collision must not continue. (#1636) (d2a58a4)
  • disconnect even if there is an exception (#152) (2eb9de6)
  • disconnect properly from the server (c89bb51)
  • disconnect transport without domain reload (20785b7)
  • Do not call InternalAddPlayer twice (#1246) (7119dd1)
  • don't call hook in host if no change, fixes #1142 (#1143) (d8ce80f)
  • don't call OnStartLocalPlayer twice (#1263) (c753089)
  • Don't call RegisterClientMessages every scene change (#1865) (05c119f)
  • Don't call RegisterClientMessages twice (#1842) (2a08aac)
  • don't crash when stopping the client (f584388)
  • Don't destroy the player twice (#1709) (cbc2a47)
  • Don't disconnect host (#608) (c1707e5)
  • Don't give host player authority by default (#1158) (1fc1ed2)
  • don't report error when stopping the server (c965d4b)
  • Don't set asset id for scene objects (7e40232)
  • Don't set framerate in host mode (4644bc4)
  • Don't throw exception getting address (7df3ce3)
  • Dont allow null connections (#323) (44fef7e)
  • dont allow set of networkSceneName directly (#2100) (df16a7d)
  • dont directly set NetworkSceneName (#297) (bd043a3)
  • dont register client scene handlers while host (#296) (37c8ddd)
  • Draw SyncVar label for Unity objects inline (#1291) (a0425e4)
  • Dummy file for SyncListStructProcessor.cs (#798) (75e4f15)
  • Eliminate NetworkAnimator SetTrigger double firing on Host (#1723) (e5b728f)
  • empty scene name isn't considered as empty (ec3a939)
  • error when there are no network behaviors (#1303) (dbe0643)
  • examples now work with prefabs in NC (df4149b)
  • examples run in background (#233) (4755650)
  • Fallback and Multiplex now disable their transports when they are disabled (#2048) (61d44b2)
  • FinishLoadSceneHost calls FinishStart host which now calls StartHostClient AFTER server online scene was loaded. Previously there was a race condition where StartHostClient was called immediately in StartHost, before the scene change even finished. This was still from UNET. (df9c29a)
  • first connection id = 1 (#60) (891dab9)
  • fix adding and saving Components (2de7ecd)
  • fix release pipeline (2a3db0b)
  • Fix Room Slots for clients (#1439) (268753c)
  • Fixed Capitalization (c45deb8)
  • Fixed ClienRpc typos (e946c79)
  • Fixed NetworkRoomManager Template (1662c5a)
  • Fixed toc link (3a0c7fb)
  • Fixing ClientScene UnregisterPrefab (#1815) (9270765)
  • fixing cloud scripts not pinging api (#2097) (8e545ac)
  • Fixing SyncVars not serializing when OnSerialize is overridden (#1671) (c66c5a6)
  • folders for meta files no longer in the codebase (#237) (192fd16)
  • hasAuthority is now visible in all overrides (#1251) (2f19c7c), closes #1250
  • headless build (7864e8d)
  • headless build (ab47a45)
  • Host Player Ready Race Condition (#1498) (4c4a52b)
  • If socket is undefined it will return false. See #1486 (#2017) (4ffff19)
  • Improved error checking for ClientScene.RegisterPrefab (#1823) (a0aa4f9)
  • Improved error checking for ClientScene.RegisterPrefab with handler (#1841) (54071da)
  • Invoke server.Disconnected before identity is removed for its conn (#165) (b749c4b)
  • isClient now reports true onStartServer in host mode (#1252) (d00c95b)
  • isLocalPlayer is true during OnStartClient for Player (#1255) (fb26d00), closes #1250
  • isLocalPlayer works in host mode onStartServer (#1253) (9acde20), closes #1250
  • it is not safe to modify this outside this class (bc7a961)
  • list server logs properly when disconnected (f02d317)
  • Lobby Remove button not showing for P1 when Server Only (377c47c)
  • Make assembly definition 2018.4 compatible (99ecc9e)
  • make build pass (08df6d0)
  • Make SendToReady non-ambiguous (#1578) (b627779)
  • making weaver include public fields in base classes in auto generated Read/Write (#1977) (3db57e5)
  • Mark weaver as failed if serializing invalid type (03c767d)
  • Message base class not being Serialized if processed in the wrong order (#2023) (3418fa2)
  • Mirage works with 2019.2 (9f35d6b)
  • Misc code smells (#2094) (e4cc85c)
  • Misc Code Smells (#257) (278a127)
  • Misc code smells (#269) (23dcca6)
  • missing meta (87ace4d)
  • move listserver classes into package (2668b17)
  • move NetworkStreamExtension in a namespace (12de543)
  • moved SpawnObjects call for hostmode to after LocalClient Connected (#317) (1423a6d)
  • movement in room demo (49f7904)
  • MultiplexTransport GetMaxMessageSize NullReferenceException when called on server. And fixes potential exploits / out of sync issues where clients with different transports might see different game states because of different max message sizes. (#1332) (b3127be)
  • Network rigidbody fixes (#2050) (0c30d33)
  • NetworkBehaviour.SyncVarGameObjectEqual made protected again so that Weaver finds it again (165a1dd)
  • NetworkBehaviour.SyncVarNetworkIdentityEqual made protected again so that Weaver finds it again (20a2d09)
  • NetworkBehaviourInspector wouldn't show SyncMode if syncvars / syncobjects were only private (ed572da)
  • NetworkClient.Shutdown calls ClientScene.Shutdown again to properly clean up client scene. ClientScene only cleans up itself without touching transport or NetworkIdentities (fixes the bug where the player object wouldn't be destroyed after calling StopClient) (fb716df)
  • NetworkConnectionEvent should be serialized in editor (0e756ce)
  • NetworkIdentity.OnStartLocalPlayer catches exceptions now too. fixes a potential bug where an exception in PlayerInventory.OnStartLocalPlayer would cause PlayerEquipment.OnStartLocalPlayer to not be called (5ed5f84)
  • NetworkIdentity.RebuildObservers: added missing null check for observers coming from components that implement OnRebuildObservers. Previously this caused a NullReferenceException. (a5f495a)
  • NetworkIdentity.SetClientOwner: overwriting the owner was still possible even though it shouldn't be. all caller functions double check and return early if it already has an owner, so we should do the same here. (548db52)
  • NetworkRoomManager.minPlayers is now protected so it's available for derived classes. (3179f08)
  • NetworkServer.SpawnObjects: return false if server isn't running (d4d524d)
  • NetworkTransform clientAuthority works again via clientAuthority option that is configurable in inspector. this had to be fixed after we removed local authority. (d712cd0)
  • NinjaWS code smells (#272) (71d9428)
  • no longer requires hook to be the first overload in a class (#1913) (0348699)
  • non ready connections should not observe objects (1352334)
  • not removing server if id is empty (#2078) (f717945)
  • NRE on gamemanager in scene (#268) (58a124a)
  • NRE when destroying all objects (#85) (71e78a7)
  • NS call SpawnObjects. No NetMan dependency for spawning objects (#300) (e1bb8de)
  • null reference exception (7ce95c5)
  • OnClientEnterRoom should only fire on clients (d9b7bb7)
  • OnClientReady is called and passed the appropriate ready state value in NetworkLobbyPlayer (#618) (c9eac57)
  • OnSetHostVisibility can now check if it has authority (888e46c)
  • Optional Server or Client for PlayerSpawner (#231) (3fa5f89)
  • overriden hooks are invoked (fixes #1581) (#1584) (cf55333)
  • pass the correct connection to TargetRpcs (#146) (9df2f79)
  • Pass the name of the invoking class and desired command when an object has no authority. (#1216) (701f4f4)
  • port network discovery (d6a1154)
  • Potential DOS attack by sending invalid UTF8 byte sequences (#727) (3cee3ab)
  • Potential DOS attack on server by sending packed ulongs when packed uints are expected. (#730) (015d0d5)
  • potential exploits / out of sync issues where clients with different transports might see different game states because of different max message sizes when using FallbackTransport. (#1331) (5449840)
  • potential null reference exception with debug logging (33493a0)
  • Prevent Compiler Paradox (#1145) (fd43c67)
  • Prevent Double Call of NetworkServer.Destroy (#1554) (2d1b142)
  • Prevent host client redundantly changing to offline scene (b4511a0)
  • prevent NRE when operating as a separated client and server (#283) (e10e198)
  • properly detect NT rotation (#1516) (f0a993c)
  • race condition closing tcp connections (717f1f5)
  • Re-enable transport if aborting additive load/unload (#1683) (bc37497)
  • register prefab error with same guid (#2092) (984eb73)
  • release job requires node 10 (3f50e63)
  • release unitypackage (#1355) (d0cc669)
  • remove customHandling as its no longer used (#265) (dbd9d84)
  • Remove leftover AddPlayer methods now that extraData is gone (#1751) (2d006fe)
  • remove pause network comment and log (#238) (1a8c09d)
  • Remove RoomPlayer from roomSlots on Disconnect (2a2f76c)
  • remove samples from upm package (#25) (a71e21f)
  • remove scriptableobject error Tests (479b78b)
  • remove tests from npm package (#32) (5ed9b4f)
  • remove Tests from UPM (#33) (8f42af0)
  • remove Tests from upm package (#34) (8d8ea0f)
  • remove unused code (#308) (554d2c5)
  • remove unused events (#334) (c20f6de)
  • Removed NetworkClient.Update because NetworkManager does it in LateUpdate (984945e)
  • Removed NetworkServer.Listen because HostSetup does that (cf6823a)
  • Removed unnecessary registration of player prefab in NetworkRoomManager (b2f52d7)
  • Removed unused variable (ae3dc04)
  • renaming call/invoke prefix for SyncEvent (#2089) (18d6957), closes #2088
  • replace player (remove authority by default) (#1261) (ad724fe), closes #1257 #1257 #1257
  • Replaced Icosphere with centered pivot (1dc0d98)
  • ReplacePlayer now calls OnStartLocalPlayer (#1280) (0e1bc81), closes #962
  • Replacing ClearDelegates with RemoveDelegates for test (#1971) (927c4de)
  • Report correct channel to profiler in SendToObservers (0b84d4c)
  • reset buffer every time (a8a62a6)
  • return & continue on separate line (#1504) (61fdd89)
  • Revert "NetworkClient.Shutdown: call ClientScene.Shutdown, otherwise it's never called" - caused client's player to not be removed from scene after disconnecting (13bb748)
  • Room example to use new override (e1d1d41)
  • rooms demo (44598e5)
  • Round Robin Spawning by Hierarchy Order (#790) (531e202), closes #724
  • SceneManager Exceptions and Tests (#287) (388d218)
  • SendToAll sends to that exact connection if it is detected as local connection, instead of falling back to the .localConnection field which might be something completely different. (4b90aaf)
  • SendToObservers missing result variable (9c09c26)
  • SendToObservers sends to that exact connection if it is detected as local connection, instead of falling back to the .localConnection field which might be something completely different. (4267983)
  • SendToReady sends to that exact connection if it is detected as local connection, instead of falling back to the .localConnection field which might be something completely different. (4596b19)
  • set authority when replacing the player (2195fee)
  • Set syncvar variables after calling the hook (#659) (2d63ee1)
  • set version number (#1338) (0d1d7b5)
  • show private serializable fields in network behavior inspector (#1557) (b8c87d9)
  • smell cleanup left if bug. repaired with parenthesis. (#275) (dd52be3)
  • Spawn Handler Order (#223) (8674274), closes #222
  • spawnwithauthority works again in host mode (5b04836)
  • stack overflow getting logger (55e075c)
  • Telepathy forgot to set socket options for accepted clients on the server (22931fc)
  • Telepathy updated to latest version (IPv6 fix again) (535b4d4)
  • Telepathy updated to latest version (Send SocketExceptions now disconnect the player too) (98d3fb0)
  • Telepathy updated to latest version: Correctly support IPv4 and IPv6 sockets (2761ff2)
  • Telepathy updated to latest version. connectionId counter is properly reset after stopping server. (abf06df)
  • TelepathyTransport.ToString UWP exception (8a190bf)
  • update NetworkIdentityEditor FindProperty to renamed variables (a2cc14b)
  • Updated Telepathy to latest version to fix IPAddress.Parse error for "localhost" (cc6e4f6)
  • workaround for #791 (5c850aa)
  • serialization: Added NetworkWriter tests, found and fixed a bug in Write(Ray). (#769) (99c8f5c)
  • tests: Added missing SyncListByteValid test file (#634) (b0af876)
  • weaver: #696 detect .mystruct = new MyStruct() changes with syncvars (#702) (053949b)
  • weaver: fix #706 find system dlls (#729) (53be9b6)
  • websocket: #829 fix InvalidOperationException with wss:// (#830) (2d682b5)
  • websocket: Remove send queues (they never worked) and SSL (temporarily) (#879) (3c60b08)
  • websocket: Use a buffer for most WS messages in WebGL client resulting in 0 alloc for most messages (#848) (8967a20)
  • Stop calling ClientDisconnect on host (#597) (b67b3e4)
  • StopHost with offline scene calls scene change twice (#1409) (a0c96f8)
  • Suppress warning (fffd462)
  • Suspend server transport while changing scenes (#1169) (e8fac8a)
  • sync events can not have the same name if they are in different classes (#2054) (c91308f)
  • syncvars in commands work again (#1131) (c24a73f)
  • syntax error in release job (2eeaea4)
  • TargetRpc now works accross assemblies (#1130) (5ecd646), closes #1128
  • tcp server Tests (3b95477)
  • Telepathy reverted to older version to fix freezes when calling Client.Disconnect on some platforms like Windows 10 (d0d77b6)
  • Telepathy updated to latest version: protect against allocation attacks via MaxMessageSize. Can be configured in the TelepathyTransport component now. (67d715f)
  • Telepathy updated to latest version. Threads are closed properly now. (4007423)
  • Telepathy works on .net core again (cb3d9f0)
  • the Room scene references other scenes (9b60871)
  • there is no lobby example (b1e05ef)
  • ui bug where additive button is not reset (#311) (5effce9)
  • update interfaces for recent changes that were missed (#309) (a17e760)
  • Updated NetworkRoomPlayer inspector and doc and image (a4ffcbe)
  • Use big endian for packet size (1ddcbec)
  • Use path instead of name in Room Example (5d4bc47)
  • Use ReplaceHandler instead of RegisterHandler in NetworkManager (ffc276c)
  • version file (#1337) (ed7e509)
  • weaver Cmd/Rpc/Target prefix check is no longer trash (#707) (699a261)
  • weaver now processes multiple SyncEvent per class (#2055) (b316b35)
  • weaver support array of custom types (#1470) (d0b0bc9)
  • weaver syncLists now checks for SerializeItem in base class (#1768) (1af5b4e)
  • webgl build fix #1136 (#1137) (c85d0df)
  • Websockets Transport now handles being disabled for scene changes (#1994) (5480a58)
  • WebSockets: Force KeepAliveInterval to Zero (9a42fe3)
  • when modifying a prefab, Unity calls OnValidate for all scene objects based on that prefab, which caused Mirror to reset the sceneId because we only checked if a prefab is currently edited, not if THIS prefab is currently edited (db99dd7)
  • Wrong method names in ClientSceneTests (ab3f353)

Code Refactoring

  • Client and server keep their own spawned list (#71) (c2599e2)
  • observers is now a set of connections (#74) (4848920)
  • Remove networkAddress from NetworkManager (#67) (e89c32d)
  • Remove offline/online scenes (#120) (a4c881a)

Features

Performance Improvements

  • Adding buffer for local connection (#1621) (4d5cee8)
  • Adding dirty check before update sync var (#1702) (58219c8)
  • AddPlayerMessage is now a value type (246a551)
  • allocation free enumerator for syncsets, fixes #1171 (#1173) (035e630)
  • allocation free syncdict foreach, fix #1172 (#1174) (1ec8910)
  • avoid allocation for error messages (c669ff1)
  • Avoid allocation when reading message payload (#912) (11750a9)
  • avoid allocation with message structs (#939) (7c7c910)
  • avoid boxing for getting message id (#1144) (9513842)
  • avoid boxing if there is no profiler (a351879)
  • ClientAuthorityMessage is now a value type (#991) (d071438)
  • Custom IEnumerator for SyncLists to avoid allocations on foreach (#904) (4ffd5a2)
  • don't varint bytes and shorts (4867415)
  • eliminate boxing with lists (#901) (8f6d4cb)
  • eliminate small allocation on remote calls (#907) (1c18743)
  • eliminate string concat during remote method calls (#908) (70a532b)
  • empty messages are value types now (145edaa)
  • faster NetworkReader pooling (#1623) (1ae0381)
  • faster NetworkWriter pooling (#1620) (4fa43a9)
  • Increasing Network Writer performance (#1674) (f057983)
  • messages should be value types (#987) (633fb19)
  • MultiplexTransport: avoid Linq allocations that would happen on every packet send because Send calls .ServerActive() each time (7fe8888)
  • NetworkProximityChecker checks Server.connections instead of doing 10k sphere casts for 10k monsters. 2k NetworkTransforms demo is significantly faster. Stable 80fps instead of 500ms freezes in between. (#1852) (2d89f05)
  • Networkreader nonalloc (#910) (18f035d)
  • objdestroy message is now a value type (#993) (a32c5a9)
  • ObjHideMessage is now a value type (#992) (a49d938)
  • OnDeserializeSafely without GC (#804) (27b7e25)
  • Optimize interest management (f1ceb0c)
  • Optimize interest management (#899) (ff1a234)
  • Pack small 32 bit negatives efficiently (480af1a)
  • Pack small 64 bit negatives efficiently (5f1ef4a)
  • Recycle argument writer to avoid allocations (#945) (9743216)
  • Reduce enum bandwidth (#794) (97e9ac2)
  • remove allocations during syncvar sync (#946) (d2381ce)
  • remove BinaryWriter, it allocates like crazy (#929) (7b3e82a)
  • remove network transform allocation (9e3ecc1)
  • Remove redundant mask (#1604) (5d76afb)
  • remove syncvar boxing (#927) (b2ba589)
  • replace isValueType with faster alternative (#1617) (61163ca), closes /github.com/vis2k/Mirror/issues/1614#issuecomment-605443808
  • return the contents of the writer as an array segment (#916) (ced3690)
  • reuse the network writer used for rpc parameters (5dafc4d)
  • rpc messages are now value types (#997) (b5b2f3e)
  • SceneMessage is now a value type (#989) (407b36a)
  • simplify and speed up getting methods in weaver (c1cfc42)
  • spawn with client authority only takes 1 message (#1206) (3b9414f)
  • SpawnPrefabMessage is now a value type (a44efd1)
  • SpawnSceneObjectMessage is now a value type (40c7d97)
  • Transports now give ArraySegment<byte> instead of byte[] (based on #569 and #846) (77bee45)
  • update vars is now a value type (#990) (f99e71e)
  • Use 0 for null byte arrays (#925) (21ca49d)
  • use 0 for null strings (#926) (7181cd9)
  • use bitshift operations instead of division in varint (fff765c)
  • use byte[] directly instead of MemoryStream (#1618) (166b8c9)
  • Use continuewith to queue up ssl messages (#1640) (84b2c8c)
  • Use invokeRepeating instead of Update (#2066) (264f9b8)
  • Use NetworkWriterPool in NetworkAnimator (#1421) (7d472f2)
  • Use NetworkWriterPool in NetworkTransform (#1422) (a457845)
  • Use RemoveAt to remove elements from lists (22b45f7)
  • use value types for empty messages (#988) (81d915e)
  • Use WritePackedUInt32 in SyncList (#688) (2db7576)
  • remove NetworkConnection.isAuthenticated (#167) (8a0e0b3), closes #167
  • Simplify RegisterHandler (#160) (f4f5167), closes #160
  • Remove NetworkConnectionToClient (#155) (bd95cea), closes #155
  • remove room feature for now (#122) (87dd495), closes #122
  • Server Disconnect is now an event not a message (#121) (82ebd71), closes #121
  • remove OnClientStart virtual (eb5242d)
  • Move on client stop (#118) (678e386), closes #118
  • merge clientscene and networkclient (#84) (dee1046), closes #84
  • removed obsoletes (#1542) (4faec29), closes #1542
  • Assign/Remove client authority now throws exception (7679d3b)
  • Removed LLAPI (b0c936c)
  • Simplify unpacking messages (#65) (c369da8), closes #65
  • Remove all compiler defines (a394345)
  • Simplify AddPlayerForConnection (#62) (fb26755), closes #62
  • Renamed localEulerAnglesSensitivity (#1474) (eee9692), closes #1474
  • Rename NetworkServer.localClientActive (7cd0894)
  • Simplify spawning (c87a38a)
  • Merge pull request #650 from vis2k/networkclient_static_2 (fac0542), closes #650

Reverts

  • Revert "Revert "Explain why 10"" (d727e4f)
  • Revert "Revert "perf: faster NetworkWriter pooling (#1616)"" (20e9e5d), closes #1616
  • Revert "fix: replacing the player does not mean giving up authority (#1254)" (b8618d3), closes #1254
  • Revert "feat: Add Timeout to NetworkAuthenticator (#1091)" (12c5a8f), closes #1091
  • Revert "Remove add component from deprecated components (#1087)" (9f09c21), closes #1087
  • Revert "Inserted blank lines where appropriate" (913d503)
  • Revert "feat: Custom readers and writers" (07ef8c9)
  • Revert "New Basic Example (#985)" (35b9919), closes #985
  • Revert "fix: reduce allocations at the transport" (bb128fe)
  • Revert "doc: messages can be struct now" (79f7c81)
  • Revert "ClientScene.OnSpawnPrefab and NetworkManager.OnServerAddPlayerInternal: spawn objects with prefab names to avoid unnecessary "(Clone)" suffix from Unity. otherwise we need a name sync component in all games that show the names, e.g. MMOs for all monsters. This way we only need name sync components for objects that actually do change names, e.g. players." because of issue #426 (82d4cf0), closes #426
  • Revert "Source based weaver (#319)" (9b232b0), closes #319
  • Revert "Code style and comment typo fix." (#386) (dc3b767), closes #386
  • Revert "Onserialize improvements (#302)" (00a3610), closes #302
  • Revert "Documented the attributes." (9e3dcc7)
  • Revert "Documented NetworkBehaviour and NetworkIdentity." (a5cfc81)
  • Revert "Documented NetworkManager." (5bc44a9)
  • Revert "Don't generate OnSerialize/OnDeserialize if not needed (#199)" (#217) (40a3ecc), closes #199 #217
  • Revert "Don't require Cmd, Rpc and Target prefixes (#127)" (96992c3), closes #127

BREAKING CHANGES

  • Remove redundant scene ready value

  • Removed [TargetRpc], use [ClientR(target=Client.Owner)] instead

  • Removed websocket transport

  • rename AsyncMultiplexTransport -> MultiplexTransport

  • rename AsyncFallbackTransport -> FallbackTransport

  • rename AsyncWsTransport -> WsTransport

  • [LocalPlayerCallback] is now [LocalPlayer(error = false)]

  • Local Player guard

Co-authored-by: Paul Pacheco <paul.pacheco@aa.com>

  • [ClientCallback] is now [Client(error = false)]

  • [HasAuthorityCallback] is now [HasAuthority(error = false)]

  • fix test

Co-authored-by: Paul Pacheco <paul.pacheco@aa.com>

  • [ServerCallback] is now [Server(error = false)]

  • fixed weaver test

  • Remove unused code

  • fix comment

  • document replacement of ServerCallback

  • No need to be serializable

  • Exception should be serializable?

  • Fix code smell

  • No need to implement interface, parent does

Co-authored-by: Paul Pacheco <paul.pacheco@aa.com>

  • Renamed [Command] to [ServerRpc]

  • NetworkManager no longer handles scene changes

  • Remove isAuthenticated

  • Fix typo

  • Fix smells

  • Remove smells

  • NetworkConneciton.RegisterHandler only needs message class

  • NetworkConnectionToClient and networkConnectionToServer are gone

  • connecition Id is gone

  • websocket transport does not work, needs to be replaced.

  • NetworkManager no longer has OnServerStart virtual

  • NetworkManager no longer spawns the player. You need to add PlayerSpawner component if you want that behavior

  • You will need to reassign your scenes after upgrade

  • Automatically fix properties that were using name

If you open a NetworkManager or other gameobject that uses a scene name it now gets converted to scene path by the SceneDrawer

  • Use get scene by name

  • Scene can never be null

  • Update Assets/Mirror/Examples/AdditiveScenes/Scenes/MainScene.unity

  • Issue warning if we drop the scene

  • Issue error if scene is lost

  • Add suggestion on how to fix the error

  • Keep backwards compatibility, check for scene name

  • cache the active scene

  • Update Assets/Mirror/Editor/SceneDrawer.cs

Co-Authored-By: James Frowen <jamesfrowendev@gmail.com>

  • GetSceneByName only works if scene is loaded

  • Remove unused using

Co-authored-by: James Frowen <jamesfrowendev@gmail.com>

  • Room feature and example are gone

  • offline/online scenes are gone

  • OnServerDisconnect is gone

  • Removed OnStartClient virtual, use event from NetworkClient instead

  • OnStopClient virtual is replaced by event in Client

  • SyncDictionary callback has been replaced

  • callback signature changed in SyncSet

  • Sync lists no longer have a Callback event with an operation enum

  • NetworkBehavior no longer has virtuals for lifecycle events

  • ClientScene is gone

  • removed obsoletes

  • NetworkTime.Time is no longer static

  • observers is now a set of connections, not a dictionary

  • cannot pass GameObjects and NetworkIdentities anymore. Will be restored in the future.

  • StartClient now receives the server ip

  • NetworkManager no longer has NetworkAddress

  • Assign/Remove client authority throws exception instead of returning boolean

  • Removed LLAPITransport

  • MessagePacker.UnpackMessage replaced by UnpackId

  • removed compilation defines, use upm version defines instead

  • AddPlayerForConnection no longer receives the client

  • fix compilatio errors

  • fix build errors

  • ClientConnect replaced with ClientConnectAsync that can be awaited

  • fix: TCP transport for async compliance

  • use async connect

  • Ignore telepathy tests until they are fixed

  • It is ok to interrupt sockets

  • Remove some warnings

  • Remove some warnings

  • Remove some warnings

  • Remove some warnings

  • Remove some warnings

  • Remove some warnings

  • Remove some warnings

  • localEulerAnglesSensitivity renamed to localRotationSensitivity

  • Make the server uri method mandatory in transports

Co-authored-by: MrGadget <chris@clevertech.net>

  • rename localClientActive to LocalClientActive
  • Spawn no longer receives NetworkClient
  • Remove obsolete OnServerAddPlayer

Any person that overrides this method has a broken game. These methods are never called anywhere.

The user gets a warning because they are overriding an obsolete method, which might get ignored if they have lots of other warnings. They would run their game and their game would not work at all. No errors.

By removing these methods, users that override these methods will get a compile time error instead. So they cannot ignore this error and they will fix it.

  • Method is no longer available in NetworkLobbyManager
  • Make NetworkClient Great Again!

43.3.2 (2020-08-10)

Bug Fixes

  • add NRE short circuit for scene change (#335) (7afbe57)

43.3.1 (2020-08-07)

Bug Fixes

43.3.0 (2020-08-04)

Features

  • add IChannelConnection interface for transports with channels (#332) (887118e)

43.2.1 (2020-08-02)

Bug Fixes

43.2.0 (2020-08-01)

Features

  • HeadlessAutoStart and HeadlessFrameLimiter (#318) (ce6ef50)

43.1.4 (2020-08-01)

Bug Fixes

  • moved SpawnObjects call for hostmode to after LocalClient Connected (#317) (1423a6d)

43.1.3 (2020-07-31)

Bug Fixes

  • ClientRPC should skip first arg only if set as Connection (#315) (168e622)

43.1.2 (2020-07-28)

Bug Fixes

  • ui bug where additive button is not reset (#311) (5effce9)

43.1.1 (2020-07-22)

Bug Fixes

43.1.0 (2020-07-22)

Bug Fixes

Features

43.0.1 (2020-07-20)

Bug Fixes

43.0.0 (2020-07-20)

breaking

  • Remove TargetRPC & use ClientRPC option instead (#293) (4ace144)

BREAKING CHANGES

  • Removed [TargetRpc], use [ClientR(target=Client.Owner)] instead

42.2.0 (2020-07-19)

Features

  • scene transition uses routine instead of asyncoperation (#305) (a16eb00)

42.1.5 (2020-07-18)

Bug Fixes

  • NS call SpawnObjects. No NetMan dependency for spawning objects (#300) (e1bb8de)

42.1.4 (2020-07-18)

Bug Fixes

42.1.3 (2020-07-17)

Bug Fixes

42.1.2 (2020-07-17)

Bug Fixes

  • ClientSceneManager should be responsible for its own cleanup (#298) (92ab3ff)

42.1.1 (2020-07-16)

Bug Fixes

  • dont register client scene handlers while host (#296) (37c8ddd)

42.1.0 (2020-07-15)

Features

  • Make AsyncQueue public for transports (5df0d98)

42.0.0 (2020-07-15)

breaking

  • Removed websocket transport (f26159b)

BREAKING CHANGES

  • Removed websocket transport

41.1.0 (2020-07-15)

Features

41.0.0 (2020-07-15)

breaking

  • AsyncFallbackTransport -> FallbackTransport (f8f643a)
  • AsyncMultiplexTransport -> MultiplexTransport (832b7f9)
  • rename AsyncWsTransport -> WsTransport (9c394bc)

Features

  • Transports may support any number of schemes (#291) (2af7b9d)

BREAKING CHANGES

  • rename AsyncMultiplexTransport -> MultiplexTransport
  • rename AsyncFallbackTransport -> FallbackTransport
  • rename AsyncWsTransport -> WsTransport

40.3.0 (2020-07-14)

Bug Fixes

Features

  • Server and Client share the same scene loading method (#286) (acb6dd1)

40.2.0 (2020-07-14)

Features

40.1.1 (2020-07-14)

Bug Fixes

  • prevent NRE when operating as a separated client and server (#283) (e10e198)

40.1.0 (2020-07-14)

Features

  • Transports can tell if they are supported (#282) (890c6b8)

40.0.0 (2020-07-14)

Features

  • LocalPlayer attribute now throws error (#277) (15aa537)

BREAKING CHANGES

  • [LocalPlayerCallback] is now [LocalPlayer(error = false)]

  • Local Player guard

Co-authored-by: Paul Pacheco <paul.pacheco@aa.com>

39.0.0 (2020-07-14)

Features

BREAKING CHANGES

  • [ClientCallback] is now [Client(error = false)]

38.0.0 (2020-07-14)

Features

  • HasAuthority attribute now throws error (#276) (da2355b)

BREAKING CHANGES

  • [HasAuthorityCallback] is now [HasAuthority(error = false)]

  • fix test

Co-authored-by: Paul Pacheco <paul.pacheco@aa.com>

37.0.1 (2020-07-14)

Bug Fixes

  • smell cleanup left if bug. repaired with parenthesis. (#275) (dd52be3)

37.0.0 (2020-07-13)

Features

BREAKING CHANGES

  • [ServerCallback] is now [Server(error = false)]

  • fixed weaver test

  • Remove unused code

  • fix comment

  • document replacement of ServerCallback

  • No need to be serializable

  • Exception should be serializable?

  • Fix code smell

  • No need to implement interface, parent does

Co-authored-by: Paul Pacheco <paul.pacheco@aa.com>

36.0.0 (2020-07-13)

breaking

BREAKING CHANGES

  • Renamed [Command] to [ServerRpc]

35.3.4 (2020-07-13)

Bug Fixes

35.3.3 (2020-07-13)

Bug Fixes

35.3.2 (2020-07-13)

Bug Fixes

  • remove customHandling as its no longer used (#265) (dbd9d84)

35.3.1 (2020-07-13)

Bug Fixes

  • AdditiveSceneExample missing comp and assignments (#267) (ab394b8)
  • NRE on gamemanager in scene (#268) (58a124a)

35.3.0 (2020-07-13)

Bug Fixes

  • Message base class not being Serialized if processed in the wrong order (#2023) (3418fa2)
  • not removing server if id is empty (#2078) (f717945)

Features

Performance Improvements

35.2.0 (2020-07-12)

Bug Fixes

  • add client only test for FinishLoadScene (#262) (50e7fa6)

Features

  • Commands no longer need to start with Cmd (#263) (9578e19)
  • throw exception if assigning incorrect asset id (#250) (7741fb1)

35.1.0 (2020-07-12)

Features

35.0.3 (2020-07-11)

Bug Fixes

35.0.2 (2020-07-11)

Bug Fixes

35.0.1 (2020-07-11)

Bug Fixes

  • fix adding and saving Components (2de7ecd)

35.0.0 (2020-07-10)

Features

BREAKING CHANGES

  • NetworkManager no longer handles scene changes

34.13.0 (2020-07-05)

Features

  • Spawn objects in clients in same order as server (#247) (b786646)

34.12.0 (2020-07-04)

Features

  • Example with 10k monster that change unfrequently (2b2e71c)

34.11.0 (2020-07-04)

Bug Fixes

  • addingNetwork rigidbody icon and AddComponentMenu attribute (#2051) (ab1b92f)
  • calling base method when the first base class did not have the virtual method (#2014) (4af72c3)
  • changing namespace to match folder name (#2037) (e36449c)
  • Clean up roomSlots on clients in NetworkRoomPlayer (5032ceb)
  • Fallback and Multiplex now disable their transports when they are disabled (#2048) (61d44b2)
  • If socket is undefined it will return false. See #1486 (#2017) (4ffff19)
  • Network rigidbody fixes (#2050) (0c30d33)
  • sync events can not have the same name if they are in different classes (#2054) (c91308f)
  • weaver now processes multiple SyncEvent per class (#2055) (b316b35)

Features

34.10.1 (2020-07-04)

Bug Fixes

  • assign spawn locations and fix null refs in example (#242) (3adf343)
  • folders for meta files no longer in the codebase (#237) (192fd16)
  • remove pause network comment and log (#238) (1a8c09d)

34.10.0 (2020-07-04)

Bug Fixes

  • #1659 Telepathy LateUpdate processes a limited amount of messages per tick to avoid deadlocks (#1830) (d3dccd7)
  • Added ClientOnly check (fb927f8)
  • Adding warning when adding handler with RegisterSpawnHandler if assetid already exists (#1819) (7f26329)
  • Adding warning when adding prefab with RegisterPrefab if assetid already exists (#1828) (9f59e0c)
  • Allowing overrides for virtual commands to call base method (#1944) (b92da91)
  • better error for Command, ClientRpc and TargetRpc marked as abstract (#1947) (62257d8)
  • Better errors when trying to replace existing assetid (#1827) (822b041)
  • Cleaning up network objects when server stops (#1864) (4c25122)
  • clear all message handlers on Shutdown (#1829) (a6ab352)
  • Don't call RegisterClientMessages every scene change (#1865) (05c119f)
  • Don't call RegisterClientMessages twice (#1842) (2a08aac)
  • Fixed Capitalization (c45deb8)
  • Fixing ClientScene UnregisterPrefab (#1815) (9270765)
  • Improved error checking for ClientScene.RegisterPrefab (#1823) (a0aa4f9)
  • Improved error checking for ClientScene.RegisterPrefab with handler (#1841) (54071da)
  • making weaver include public fields in base classes in auto generated Read/Write (#1977) (3db57e5)
  • NetworkRoomManager.minPlayers is now protected so it's available for derived classes. (3179f08)
  • no longer requires hook to be the first overload in a class (#1913) (0348699)
  • OnClientEnterRoom should only fire on clients (d9b7bb7)
  • Prevent host client redundantly changing to offline scene (b4511a0)
  • Removed unnecessary registration of player prefab in NetworkRoomManager (b2f52d7)
  • Removed unused variable (ae3dc04)
  • Replaced Icosphere with centered pivot (1dc0d98)
  • Replacing ClearDelegates with RemoveDelegates for test (#1971) (927c4de)
  • Suppress warning (fffd462)
  • Use ReplaceHandler instead of RegisterHandler in NetworkManager (ffc276c)
  • Websockets Transport now handles being disabled for scene changes (#1994) (5480a58)
  • WebSockets: Force KeepAliveInterval to Zero (9a42fe3)
  • Wrong method names in ClientSceneTests (ab3f353)

Features

  • Add excludeOwner option to ClientRpc (#1954) (864fdd5), closes #1963 #1962 #1961 #1960 #1959 #1958 #1957 #1956
  • Add NetworkServer.RemovePlayerForConnection (#1772) (e3790c5)
  • add SyncList.RemoveAll (#1881) (eb7c87d)
  • Added virtual SyncVar hook for index in NetworkRoomPlayer (0c3e079)
  • Adding ignoreAuthority Option to Command (#1918) (3ace2c6)
  • Adding onLocalPlayerChanged to ClientScene for when localPlayer is changed (#1920) (b4acf7d)
  • adding OnRoomServerPlayersNotReady to NetworkRoomManager that is called when player ready changes and atleast 1 player is not ready (#1921) (9ae7fa2)
  • Adding ReplaceHandler functions to NetworkServer and NetworkClient (#1775) (877f4e9)
  • adding script that displays ping (#1975) (7e93030)
  • Allowing Multiple Concurrent Additive Scenes (#1697) (e32a9b6)
  • ClientScene uses log window (b3656a9)
  • Creating method to replace all log handlers (#1880) (d8aaf76)
  • Experimental Network Transform (#1990) (7e2b733)
  • Improved Log Settings Window Appearance (#1885) (69b8451)
  • Improved RoomPayer template (042b4e1)
  • LogSettings that can be saved and included in a build (#1863) (fd4357c)
  • Multiple Concurrent Additive Physics Scenes Example (#1686) (87c6ebc)
  • NetworkConnection to client and server use logger framework (72154f1)
  • NetworkConnection uses logging framework (ec319a1)
  • NetworkIdentity use logger framework (2e39e13)
  • NetworkServer uses new logging framework (8b4f105)
  • Prettify Log Names (c7d8c09)
  • Use SortedDictionary for LogSettings (#1914) (7d4c0a9)

Performance Improvements

  • NetworkProximityChecker checks Server.connections instead of doing 10k sphere casts for 10k monsters. 2k NetworkTransforms demo is significantly faster. Stable 80fps instead of 500ms freezes in between. (#1852) (2d89f05)

34.9.4 (2020-06-27)

Bug Fixes

  • Additive Scene Example was missing Player Auth on movement. (#234) (09bbd68)
  • examples run in background (#233) (4755650)

34.9.3 (2020-06-25)

Bug Fixes

  • Optional Server or Client for PlayerSpawner (#231) (3fa5f89)

34.9.2 (2020-06-14)

Bug Fixes

34.9.1 (2020-05-24)

Bug Fixes

  • disconnect transport without domain reload (20785b7)

34.9.0 (2020-04-26)

Bug Fixes

  • Add the transport first so NetworkManager doesn't add Telepathy in OnValidate (bdec276)
  • call the virtual OnRoomServerDisconnect before the base (e6881ef)
  • compilation error on standalone build (bb70bf9)
  • Removed NetworkClient.Update because NetworkManager does it in LateUpdate (984945e)
  • Removed NetworkServer.Listen because HostSetup does that (cf6823a)
  • weaver syncLists now checks for SerializeItem in base class (#1768) (1af5b4e)

Features

  • Allow Multiple Network Animator (#1778) (34a76a2)
  • Allowing extra base types to be used for SyncLists and other SyncObjects (#1729) (9bf816a)
  • Disconnect Dead Clients (#1724) (a2eb666), closes #1753
  • Exclude fields from weaver's automatic Read/Write using System.NonSerialized attribute (#1727) (7f8733c)
  • Improve weaver error messages (#1779) (bcd76c5)
  • NetworkServer.SendToReady (#1773) (f6545d4)

34.8.1 (2020-04-21)

Bug Fixes

  • Allow sync objects to be re-used (#1744) (58c89a3), closes #1714
  • Remove leftover AddPlayer methods now that extraData is gone (#1751) (2d006fe)
  • Remove RoomPlayer from roomSlots on Disconnect (2a2f76c)
  • Use path instead of name in Room Example (5d4bc47)

34.8.0 (2020-04-21)

Bug Fixes

  • Don't destroy the player twice (#1709) (cbc2a47)
  • Eliminate NetworkAnimator SetTrigger double firing on Host (#1723) (e5b728f)

Features

34.7.0 (2020-04-19)

Features

  • transport can provide their preferred scheme (774a07e)

34.6.0 (2020-04-19)

Features

34.5.0 (2020-04-17)

Features

  • Added SyncList.Find and SyncList.FindAll (#1716) (0fe6328), closes #1710
  • Weaver can now automatically create Reader/Writer for types in a different assembly (#1708) (b1644ae), closes #1570

Performance Improvements

34.4.1 (2020-04-15)

Bug Fixes

  • Fixing SyncVars not serializing when OnSerialize is overridden (#1671) (c66c5a6)

34.4.0 (2020-04-14)

Features

  • Button to register all prefabs in NetworkClient (#179) (9f5f0b2)

34.3.0 (2020-04-13)

Features

  • Authenticators can now provide AuthenticationData (310ce81)

34.2.0 (2020-04-11)

Features

34.1.0 (2020-04-10)

Bug Fixes

  • Check SceneManager GetSceneByName and GetSceneByPath (#1684) (e7cfd5a)
  • Re-enable transport if aborting additive load/unload (#1683) (bc37497)
  • stack overflow getting logger (55e075c)

Features

  • logger factory works for static classes by passing the type (f9328c7)

Performance Improvements

34.0.0 (2020-04-10)

  • remove NetworkConnection.isAuthenticated (#167) (8a0e0b3), closes #167

BREAKING CHANGES

  • Remove isAuthenticated

  • Fix typo

  • Fix smells

  • Remove smells

33.1.1 (2020-04-09)

Bug Fixes

  • Invoke server.Disconnected before identity is removed for its conn (#165) (b749c4b)

33.1.0 (2020-04-08)

Features

33.0.0 (2020-04-08)

BREAKING CHANGES

  • NetworkConneciton.RegisterHandler only needs message class

32.0.1 (2020-04-08)

Performance Improvements

32.0.0 (2020-04-07)

  • Remove NetworkConnectionToClient (#155) (bd95cea), closes #155

BREAKING CHANGES

  • NetworkConnectionToClient and networkConnectionToServer are gone

31.4.0 (2020-04-04)

Bug Fixes

  • disconnect even if there is an exception (#152) (2eb9de6)

Features

  • spawning invalid object now gives exception (e2fc829)

31.3.1 (2020-04-03)

Performance Improvements

31.3.0 (2020-04-01)

Bug Fixes

  • Destroyed NetMan due to singleton collision must not continue. (#1636) (d2a58a4)

Features

Performance Improvements

31.2.1 (2020-04-01)

Bug Fixes

  • pass the correct connection to TargetRpcs (#146) (9df2f79)

31.2.0 (2020-04-01)

Features

31.1.0 (2020-04-01)

Features

31.0.0 (2020-04-01)

Bug Fixes

Features

BREAKING CHANGES

  • connecition Id is gone
  • websocket transport does not work, needs to be replaced.

30.3.3 (2020-03-31)

Bug Fixes

30.3.2 (2020-03-31)

Bug Fixes

  • AsyncTcp now exits normally when client disconnects (#141) (8896c4a)

30.3.1 (2020-03-30)

Bug Fixes

30.3.0 (2020-03-30)

Features

30.2.0 (2020-03-30)

Features

30.1.2 (2020-03-29)

Bug Fixes

  • client being disconnected twice (#132) (36bb3a2)
  • client disconnected on server event never raised (#133) (9d9efa0)

30.1.1 (2020-03-29)

Performance Improvements

30.1.0 (2020-03-29)

Features

30.0.0 (2020-03-29)

Features

BREAKING CHANGES

  • NetworkManager no longer has OnServerStart virtual

29.1.1 (2020-03-29)

Reverts

  • Revert "Revert "Explain why 10"" (d727e4f)

29.1.0 (2020-03-28)

Features

  • get a convenient property to get network time (1e8c2fe)

29.0.3 (2020-03-28)

Performance Improvements

29.0.2 (2020-03-27)

Performance Improvements

29.0.1 (2020-03-27)

Bug Fixes

  • #1515 - StopHost now invokes OnServerDisconnected for the host client too (#1601) (678ac68)

Performance Improvements

  • simplify and speed up getting methods in weaver (c1cfc42)

29.0.0 (2020-03-26)

Features

BREAKING CHANGES

  • NetworkManager no longer spawns the player. You need to add PlayerSpawner component if you want that behavior

28.0.0 (2020-03-26)

Bug Fixes

  • #1599 - NetworkManager HUD calls StopHost/Server/Client depending on state. It does not call StopHost in all cases. (#1600) (8c6ae0f)

Features

  • now you can assign scenes even if not in Editor (#1576) (c8a1a5e)

BREAKING CHANGES

  • You will need to reassign your scenes after upgrade

  • Automatically fix properties that were using name

If you open a NetworkManager or other gameobject that uses a scene name it now gets converted to scene path by the SceneDrawer

  • Use get scene by name

  • Scene can never be null

  • Update Assets/Mirror/Examples/AdditiveScenes/Scenes/MainScene.unity

  • Issue warning if we drop the scene

  • Issue error if scene is lost

  • Add suggestion on how to fix the error

  • Keep backwards compatibility, check for scene name

  • cache the active scene

  • Update Assets/Mirror/Editor/SceneDrawer.cs

Co-Authored-By: James Frowen <jamesfrowendev@gmail.com>

  • GetSceneByName only works if scene is loaded

  • Remove unused using

Co-authored-by: James Frowen <jamesfrowendev@gmail.com>

27.0.1 (2020-03-26)

Bug Fixes

  • empty scene name isn't considered as empty (ec3a939)

27.0.0 (2020-03-26)

  • remove room feature for now (#122) (87dd495), closes #122
  • Server Disconnect is now an event not a message (#121) (82ebd71), closes #121

Code Refactoring

BREAKING CHANGES

  • Room feature and example are gone
  • offline/online scenes are gone
  • OnServerDisconnect is gone

26.0.0 (2020-03-25)

  • remove OnClientStart virtual (eb5242d)

BREAKING CHANGES

  • Removed OnStartClient virtual, use event from NetworkClient instead

25.0.0 (2020-03-25)

Features

  • Added Virtual OnRoomStopServer to NetworkRoomManager and Script Template (d034ef6)

BREAKING CHANGES

  • OnStopClient virtual is replaced by event in Client

24.1.1 (2020-03-25)

Bug Fixes

  • #1593 - NetworkRoomManager.ServerChangeScene doesn't destroy the world player before replacing the connection. otherwise ReplacePlayerForConnection removes authority form a destroyed object, causing all kidns of errors. The call wasn't actually needed. (#1594) (347cb53)

24.1.0 (2020-03-24)

Features

24.0.1 (2020-03-23)

Bug Fixes

24.0.0 (2020-03-23)

Features

BREAKING CHANGES

  • SyncDictionary callback has been replaced

23.0.0 (2020-03-23)

Features

BREAKING CHANGES

  • callback signature changed in SyncSet

22.0.0 (2020-03-23)

Features

BREAKING CHANGES

  • Sync lists no longer have a Callback event with an operation enum

21.2.1 (2020-03-23)

Bug Fixes

21.2.0 (2020-03-23)

Features

21.1.0 (2020-03-22)

Features

  • NetworkConnection manages messages handlers (#93) (5c79f0d)

21.0.1 (2020-03-22)

Bug Fixes

  • calling Connect and Authenticate handler twice (#102) (515f5a1)

21.0.0 (2020-03-22)

Features

BREAKING CHANGES

  • NetworkBehavior no longer has virtuals for lifecycle events

20.1.0 (2020-03-22)

Bug Fixes

Features

  • NetworkClient raises event after authentication (#96) (c332271)

20.0.6 (2020-03-22)

Bug Fixes

  • NetworkConnectionEvent should be serialized in editor (0e756ce)

20.0.5 (2020-03-21)

Bug Fixes

20.0.4 (2020-03-21)

Bug Fixes

20.0.3 (2020-03-21)

Bug Fixes

  • additive scene player movement is client authoritative (e683a92)
  • the Room scene references other scenes (9b60871)

20.0.2 (2020-03-21)

Bug Fixes

20.0.1 (2020-03-20)

Bug Fixes

20.0.0 (2020-03-20)

Bug Fixes

  • compilation issue after merge from mirror (daf07be)
  • merge clientscene and networkclient (#84) (dee1046), closes #84

Features

  • SyncSet and SyncDictionary now show in inspector (#1561) (5510711)

BREAKING CHANGES

  • ClientScene is gone

19.1.2 (2020-03-20)

Bug Fixes

  • examples now work with prefabs in NC (df4149b)

19.1.1 (2020-03-20)

Bug Fixes

  • Fixed ClienRpc typos (e946c79)
  • Prevent Double Call of NetworkServer.Destroy (#1554) (2d1b142)
  • show private serializable fields in network behavior inspector (#1557) (b8c87d9)
  • Updated NetworkRoomPlayer inspector and doc and image (a4ffcbe)

19.1.0 (2020-03-19)

Features

  • Now you can pass NetworkIdentity and GameObjects (#83) (dca2d40)

19.0.1 (2020-03-17)

Bug Fixes

  • calling syncvar hook when not connected yet (#77) (e64727b)

19.0.0 (2020-03-17)

BREAKING CHANGES

  • removed obsoletes

18.0.0 (2020-03-17)

Features

  • Time sync is now done per NetworkClient (b24542f)

BREAKING CHANGES

  • NetworkTime.Time is no longer static

17.0.2 (2020-03-17)

Bug Fixes

17.0.1 (2020-03-15)

Bug Fixes

  • Report correct channel to profiler in SendToObservers (0b84d4c)

17.0.0 (2020-03-15)

Code Refactoring

  • observers is now a set of connections (#74) (4848920)

BREAKING CHANGES

  • observers is now a set of connections, not a dictionary

16.0.0 (2020-03-10)

Code Refactoring

  • Client and server keep their own spawned list (#71) (c2599e2)

BREAKING CHANGES

  • cannot pass GameObjects and NetworkIdentities anymore. Will be restored in the future.

15.0.7 (2020-03-10)

Bug Fixes

  • Use big endian for packet size (1ddcbec)

15.0.6 (2020-03-09)

Bug Fixes

  • compilation issues (22bf925)
  • NetworkBehaviour.SyncVarGameObjectEqual made protected again so that Weaver finds it again (165a1dd)
  • NetworkBehaviour.SyncVarNetworkIdentityEqual made protected again so that Weaver finds it again (20a2d09)

15.0.5 (2020-03-08)

Bug Fixes

  • don't crash when stopping the client (f584388)
  • race condition closing tcp connections (717f1f5)

15.0.4 (2020-03-08)

Bug Fixes

15.0.3 (2020-03-08)

Bug Fixes

  • NetworkIdentity.RebuildObservers: added missing null check for observers coming from components that implement OnRebuildObservers. Previously this caused a NullReferenceException. (a5f495a)
  • SendToObservers missing result variable (9c09c26)

15.0.2 (2020-03-06)

Bug Fixes

15.0.1 (2020-03-06)

Bug Fixes

15.0.0 (2020-03-05)

Code Refactoring

  • Remove networkAddress from NetworkManager (#67) (e89c32d)

BREAKING CHANGES

  • StartClient now receives the server ip
  • NetworkManager no longer has NetworkAddress

14.0.1 (2020-03-04)

Bug Fixes

  • Avoid FindObjectOfType when not needed (#66) (e2a4afd)

14.0.0 (2020-03-03)

  • Assign/Remove client authority now throws exception (7679d3b)

BREAKING CHANGES

  • Assign/Remove client authority throws exception instead of returning boolean

13.0.0 (2020-03-02)

BREAKING CHANGES

  • Removed LLAPITransport

12.0.2 (2020-02-29)

Bug Fixes

  • NetworkIdentity.OnStartLocalPlayer catches exceptions now too. fixes a potential bug where an exception in PlayerInventory.OnStartLocalPlayer would cause PlayerEquipment.OnStartLocalPlayer to not be called (5ed5f84)

12.0.1 (2020-02-29)

Bug Fixes

  • disconnect properly from the server (c89bb51)

12.0.0 (2020-02-28)

  • Simplify unpacking messages (#65) (c369da8), closes #65

BREAKING CHANGES

  • MessagePacker.UnpackMessage replaced by UnpackId

11.1.0 (2020-02-27)

Bug Fixes

  • Add missing channelId to NetworkConnectionToClient.Send calls (#1509) (b8bcd9a)
  • build in IL2CPP (#1524) (59faa81), closes #1519 #1520
  • Fixed NetworkRoomManager Template (1662c5a)
  • Fixed toc link (3a0c7fb)
  • Host Player Ready Race Condition (#1498) (4c4a52b)
  • NetworkIdentity.SetClientOwner: overwriting the owner was still possible even though it shouldn't be. all caller functions double check and return early if it already has an owner, so we should do the same here. (548db52)
  • NetworkServer.SpawnObjects: return false if server isn't running (d4d524d)
  • properly detect NT rotation (#1516) (f0a993c)
  • return & continue on separate line (#1504) (61fdd89)
  • Room example to use new override (e1d1d41)
  • SendToAll sends to that exact connection if it is detected as local connection, instead of falling back to the .localConnection field which might be something completely different. (4b90aaf)
  • SendToObservers sends to that exact connection if it is detected as local connection, instead of falling back to the .localConnection field which might be something completely different. (4267983)
  • SendToReady sends to that exact connection if it is detected as local connection, instead of falling back to the .localConnection field which might be something completely different. (4596b19)

Features

  • Added NetworkConnection to OnRoomServerSceneLoadedForPlayer (b5dfcf4)
  • Check for client authority in CmdClientToServerSync (#1500) (8b359ff)
  • Check for client authority in NetworkAnimator Cmd's (#1501) (ecc0659)
  • Cosmetic Enhancement of Network Manager (#1512) (f53b12b)
  • NetworkSceneChecker use Scene instead of string name (#1496) (7bb80e3)

11.0.0 (2020-02-13)

  • Remove all compiler defines (a394345)

Features

  • Block Play Mode and Builds for Weaver Errors (#1479) (0e80e19)
  • Disposable PooledNetworkReader / PooledNetworkWriter (#1490) (bb55baa)

BREAKING CHANGES

  • removed compilation defines, use upm version defines instead

10.0.0 (2020-02-12)

  • Simplify AddPlayerForConnection (#62) (fb26755), closes #62

BREAKING CHANGES

  • AddPlayerForConnection no longer receives the client

  • fix compilatio errors

  • fix build errors

9.1.0 (2020-02-12)

Bug Fixes

Features

9.0.0 (2020-02-08)

Bug Fixes

  • don't report error when stopping the server (c965d4b)

Features

BREAKING CHANGES

  • ClientConnect replaced with ClientConnectAsync that can be awaited

  • fix: TCP transport for async compliance

  • use async connect

  • Ignore telepathy tests until they are fixed

  • It is ok to interrupt sockets

  • Remove some warnings

  • Remove some warnings

  • Remove some warnings

  • Remove some warnings

  • Remove some warnings

  • Remove some warnings

  • Remove some warnings

8.0.1 (2020-02-06)

Bug Fixes

8.0.0 (2020-02-06)

Bug Fixes

  • call callback after update dictionary in host (#1476) (1736bb0)
  • port network discovery (d6a1154)
  • remove scriptableobject error Tests (479b78b)
  • Telepathy reverted to older version to fix freezes when calling Client.Disconnect on some platforms like Windows 10 (d0d77b6)
  • Telepathy updated to latest version. Threads are closed properly now. (4007423)
  • Renamed localEulerAnglesSensitivity (#1474) (eee9692), closes #1474

breaking

Features

BREAKING CHANGES

  • localEulerAnglesSensitivity renamed to localRotationSensitivity
  • Make the server uri method mandatory in transports

Co-authored-by: MrGadget <chris@clevertech.net>

7.0.0 (2020-01-27)

Features

  • Network Scene Checker Component (#1271) (71c0d3b)
  • network writer and reader now support uri (0c2556a)
  • Rename NetworkServer.localClientActive (7cd0894)
  • Simplify spawning (c87a38a)

BREAKING CHANGES

  • rename localClientActive to LocalClientActive
  • Spawn no longer receives NetworkClient

6.0.0 (2020-01-22)

Bug Fixes

5.0.0 (2020-01-19)

4.0.0 (2020-01-18)

3.1.0 (2020-01-16)

Bug Fixes

  • Decouple ChatWindow from player (#1429) (42a2f9b)
  • StopHost with offline scene calls scene change twice (#1409) (a0c96f8)
  • Telepathy works on .net core again (cb3d9f0)

Features

3.0.4 (2020-01-12)

Bug Fixes

  • comply with MIT license in upm package (b879bef)

3.0.3 (2020-01-12)

Bug Fixes

  • auto reference mirrorng assembly (93f8688)
  • Mirage works with 2019.2 (9f35d6b)

3.0.2 (2020-01-12)

Bug Fixes

3.0.1 (2020-01-11)

Bug Fixes

3.0.0 (2020-01-11)

Bug Fixes

  • #723 - NetworkTransform teleport works properly now (fd7dc5e)
  • fix release pipeline (2a3db0b)
  • release job requires node 10 (3f50e63)
  • remove tests from npm package (#32) (5ed9b4f)
  • syntax error in release job (2eeaea4)

Features

Performance Improvements

2.0.0 (2020-01-09)

1.1.2 (2020-01-09)

Bug Fixes

  • #1241 - Telepathy updated to latest version. All tests are passing again. Thread.Interrupt was replaced by Abort+Join. (228b32e)
  • #1278 - only call initial state SyncVar hooks on clients if the SyncVar value is different from the default one. (#1414) (a3ffd12)
  • #1380 - NetworkConnection.clientOwnedObjects changed from uint HashSet to NetworkIdentity HashSet for ease of use and to fix a bug where DestroyOwnedObjects wouldn't find a netId anymore in some cases. (a71ecdb)
  • FinishLoadSceneHost calls FinishStart host which now calls StartHostClient AFTER server online scene was loaded. Previously there was a race condition where StartHostClient was called immediately in StartHost, before the scene change even finished. This was still from UNET. (df9c29a)

1.1.1 (2020-01-05)

Bug Fixes

1.1.0 (2020-01-04)

Features