Change Log
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
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
- making PadToByte public (43363ba)
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
- adding VarDoublePacker (3e9e2a3)
BREAKING CHANGES
- time fields are now double instead of float
148.4.3 (2024-04-26)
Bug Fixes
- fixing possible NRE (dc4d6e6)
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
- fixing file name (d6de4cb)
147.4.1 (2024-03-25)
Bug Fixes
- changing button text (0f55b2b)
147.4.0 (2024-03-25)
Bug Fixes
Features
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
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
- removing debug log (28d0447)
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
- logging for notify send (929686c)
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
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
- stopping protected fields from being written by weaver (9e2d74a), closes /github.com/MirrorNetworking/Mirror/issues/3485#issuecomment-1559005650
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
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
- adding angle packer (fcbd007)
132.0.0 (2023-04-10)
Bug Fixes
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
129.4.0 (2023-01-06)
Features
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
- setting field value (f9b1f65)
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
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
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
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
123.1.2 (2022-05-20)
Bug Fixes
- fixing ResizeBuffer (2232c11)
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
Performance Improvements
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
- fixing pong example (0b28fe4)
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
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
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
114.0.3 (2022-01-13)
Bug Fixes
114.0.2 (2022-01-03)
Bug Fixes
- removing un-used using (0e7bd82)
114.0.1 (2021-12-31)
Bug Fixes
114.0.0 (2021-12-31)
Bug Fixes
- NetworkTime: renaming PingFrequency to PingInterval (b729cdc)
Code Refactoring
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
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
- adding meta files (cca1ae2)
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
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
111.1.0 (2021-11-02)
Features
111.0.0 (2021-11-01)
Code Refactoring
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
109.0.1 (2021-10-27)
Bug Fixes
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
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
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
107.0.0 (2021-10-08)
Performance Improvements
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
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
Features
BREAKING CHANGES
- log settings are now saved to a SO file instead of EditorPrefs
105.1.3 (2021-10-01)
Bug Fixes
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
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
104.2.0 (2021-09-20)
Bug Fixes
- Peer: throwing if sequence size is too big (6c7c5ad)
Features
Performance Improvements
- Peer: updating header size for ipv6 (a8798f0)
104.1.0 (2021-09-20)
Features
104.0.4 (2021-09-16)
Performance Improvements
- Weaver: passing in format string (6c40fd6)
104.0.3 (2021-09-14)
Performance Improvements
104.0.2 (2021-09-13)
Performance Improvements
104.0.1 (2021-09-13)
Performance Improvements
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
103.0.1 (2021-09-06)
Bug Fixes
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
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
Features
101.8.0 (2021-08-24)
Features
101.7.0 (2021-08-24)
Features
101.6.0 (2021-08-22)
Features
101.5.1 (2021-08-22)
Performance Improvements
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
- fixing pong example (5ccb42e)
Features
101.3.0 (2021-08-16)
Bug Fixes
- preparing client objects on connect (#876) (9789c0b)
- SocketLayer: moving endpoint copy outside of connection (c19929f)
Features
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
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
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
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
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
BREAKING CHANGES
- NetworkWriter and NetworkReader have been completely re-written to support bitpacking
98.0.1 (2021-07-02)
Performance Improvements
98.0.0 (2021-07-02)
Performance Improvements
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
97.0.1 (2021-06-27)
Bug Fixes
97.0.0 (2021-06-27)
Code Refactoring
BREAKING CHANGES
- BufferSize and MTU replaced by MaxPacketSize
96.5.2 (2021-06-27)
Bug Fixes
- fixing typo in error (063e3b4)
96.5.1 (2021-06-27)
Bug Fixes
- fixing typo in error (6195108)
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
96.4.3 (2021-06-23)
Bug Fixes
- checking if disconnected before packing message (a76caf1)
96.4.2 (2021-06-21)
Bug Fixes
96.4.1 (2021-06-21)
Bug Fixes
96.4.0 (2021-06-20)
Features
96.3.1 (2021-06-17)
Bug Fixes
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
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
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
Features
BREAKING CHANGES
- NetworkManagerHud is now in the Mirage.Components asmdef
91.2.0 (2021-05-18)
Features
91.1.0 (2021-05-17)
Bug Fixes
- fixing compile in new gui (d2800be)
Features
91.0.1 (2021-05-04)
Bug Fixes
- unspawning all server object on server stop (5041a06)
91.0.0 (2021-05-01)
Code Refactoring
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
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
87.2.0 (2021-04-12)
Features
87.1.2 (2021-04-12)
Bug Fixes
87.1.1 (2021-04-10)
Bug Fixes
- moving using out of #if (00517bc)
87.1.0 (2021-04-08)
Features
87.0.1 (2021-04-08)
Bug Fixes
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
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
84.2.1 (2021-03-27)
Bug Fixes
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
BREAKING CHANGES
- fields and parameters using NetworkServer are now using INetworkServer Instead
83.0.0 (2021-03-24)
Code Refactoring
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
- show syncvar label (c32a940)
81.0.1 (2021-03-20)
Performance Improvements
81.0.0 (2021-03-19)
Performance Improvements
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
BREAKING CHANGES
- NetworkReader and NetworkWriter moved to Mirage.Serialization namespace
78.0.0 (2021-03-14)
Code Refactoring
BREAKING CHANGES
- collections moved to Mirage.Collections
77.0.0 (2021-03-14)
Code Refactoring
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
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
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
BREAKING CHANGES
- Version.Current is no longer an enum and now returns Mirage's assembly version
72.0.1 (2021-03-06)
Bug Fixes
72.0.0 (2021-03-05)
Code Refactoring
BREAKING CHANGES
- removing INetworkManager
71.0.0 (2021-03-05)
Styles
BREAKING CHANGES
Use NetworkSceneManager.ActiveScenePath instead of NetworkSceneManager.NetworkScenePath
removing cref till docs are fixed
70.0.0 (2021-03-04)
Code Refactoring
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
69.1.0 (2021-03-02)
Features
69.0.0 (2021-03-02)
Styles
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
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
67.3.0 (2021-02-21)
Features
67.2.7 (2021-02-21)
Bug Fixes
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
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
67.0.1 (2021-02-19)
Bug Fixes
67.0.0 (2021-02-19)
Code Refactoring
BREAKING CHANGES
- removed MirageNG.asmdef, change your assembly to use Mirage.asmdef instead
66.2.2 (2021-02-19)
Bug Fixes
- simplify checking if client is host (#602) (dbf5784)
- static not needed (#604) (879ba01)
- stopping
:
being at the start of all log messages (#606) (8efe7ce)
66.2.1 (2021-02-17)
Bug Fixes
- fix serializing NetworkBehavior and GameObjects (b74fcf9)
66.2.0 (2021-02-17)
Features
66.1.0 (2021-02-17)
Features
66.0.0 (2021-02-16)
Bug Fixes
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
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
63.3.5 (2021-02-07)
Bug Fixes
63.3.4 (2021-02-07)
Bug Fixes
63.3.3 (2021-02-05)
Reverts
63.3.2 (2021-02-04)
Bug Fixes
63.3.1 (2021-02-04)
Bug Fixes
63.3.0 (2021-02-03)
Bug Fixes
- remove last start call (b8fc97d)
Features
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
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
62.9.8 (2021-02-01)
Bug Fixes
- remove GC from demo (2474a0c)
62.9.7 (2021-02-01)
Bug Fixes
62.9.6 (2021-01-31)
Bug Fixes
62.9.5 (2021-01-30)
Bug Fixes
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
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
62.7.0 (2021-01-22)
Features
62.6.1 (2021-01-20)
Bug Fixes
62.6.0 (2021-01-20)
Features
62.5.5 (2021-01-20)
Bug Fixes
62.5.4 (2021-01-19)
Bug Fixes
62.5.3 (2021-01-19)
Performance Improvements
62.5.2 (2021-01-19)
Bug Fixes
62.5.1 (2021-01-19)
Bug Fixes
62.5.0 (2021-01-18)
Features
62.4.1 (2021-01-15)
Bug Fixes
- unbound allocation (1fe1bf6)
62.4.0 (2021-01-13)
Features
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
- use ILPostProcessor for weaver (#525) (def64cd), closes /forum.unity.com/threads/how-does-unity-do-codegen-and-why-cant-i-do-it-myself.853867/#post-5646937
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
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
- Icon in welcome window (eb97cef)
61.0.0 (2020-12-31)
- Removed NetworkDiscovery (0df3afc)
BREAKING CHANGES
- Moved NetworkDiscovery to a separate repo
60.4.1 (2020-12-30)
Bug Fixes
- NRE in welcome window (e4e2fa5)
60.4.0 (2020-12-29)
Features
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
60.0.0 (2020-12-19)
Bug Fixes
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
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
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
59.0.0 (2020-11-06)
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)
BREAKING CHANGES
- Now you can only assign prefabs with NetworkIdentity to the ClientObjectManager
57.0.0 (2020-11-05)
BREAKING CHANGES
- Removed redundant spawn handler
56.5.0 (2020-11-04)
Features
56.4.4 (2020-11-04)
Bug Fixes
- do not cache lastReceived in release (9a15863)
56.4.3 (2020-11-03)
Bug Fixes
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
56.3.3 (2020-11-02)
Bug Fixes
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
56.1.2 (2020-10-31)
Bug Fixes
56.1.1 (2020-10-30)
Bug Fixes
56.1.0 (2020-10-30)
Features
56.0.2 (2020-10-30)
Bug Fixes
56.0.1 (2020-10-29)
Bug Fixes
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)
- no need for NM here (78b3b10)
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)
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
52.0.0 (2020-10-22)
Bug Fixes
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
51.1.1 (2020-10-21)
Bug Fixes
- InvalidDataException not found problem (229f73d)
51.1.0 (2020-10-21)
Features
51.0.0 (2020-10-21)
BREAKING CHANGES
- Transports now receive and return channels
50.2.0 (2020-10-20)
Bug Fixes
- method access exception sending rpcs (531e908)
Features
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
50.1.1 (2020-10-19)
Performance Improvements
- don't drop acks, follow original C algorithm (c0b5a12)
50.1.0 (2020-10-18)
Features
50.0.2 (2020-10-18)
Bug Fixes
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
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
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
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)
BREAKING CHANGES
- Mirage now uses UniTask
48.0.1 (2020-10-12)
Bug Fixes
- InvalidOperationException when disconnecting (b131eb7)
48.0.0 (2020-10-11)
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
- Remove GameObject sync (#370) (5b223fa)
- Use SyncLists directly (delete overrides) (#2307) (fb49d19), closes #2305
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
- Only synchronize dirty objects (#381) (64fd6ed)
- Remove 2 messages when player connects (#384) (c40e0fd)
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
- Remove GameObject sync (#370) (5b223fa)
- Use SyncLists directly (delete overrides) (#2307) (fb49d19), closes #2305
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
- Only synchronize dirty objects (#381) (64fd6ed)
- Remove 2 messages when player connects (#384) (c40e0fd)
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
- Remove GameObject sync (#370) (5b223fa)
- Use SyncLists directly (delete overrides) (#2307) (fb49d19), closes #2305
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
Performance Improvements
- Only synchronize dirty objects (#381) (64fd6ed)
- Remove 2 messages when player connects (#384) (c40e0fd)
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
- Remove GameObject sync (#370) (5b223fa)
- Use SyncLists directly (delete overrides) (#2307) (fb49d19), closes #2305
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
Performance Improvements
- Only synchronize dirty objects (#381) (64fd6ed)
- Remove 2 messages when player connects (#384) (c40e0fd)
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
- Remove GameObject sync (#370) (5b223fa)
- Use SyncLists directly (delete overrides) (#2307) (fb49d19), closes #2305
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
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
- Remove GameObject sync (#370) (5b223fa)
- Use SyncLists directly (delete overrides) (#2307) (fb49d19), closes #2305
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
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
- Remove GameObject sync (#370) (5b223fa)
- Use SyncLists directly (delete overrides) (#2307) (fb49d19), closes #2305
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
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
- Remove GameObject sync (#370) (5b223fa)
- Use SyncLists directly (delete overrides) (#2307) (fb49d19), closes #2305
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
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
- Remove GameObject sync (#370) (5b223fa)
- Use SyncLists directly (delete overrides) (#2307) (fb49d19), closes #2305
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
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
- Remove GameObject sync (#370) (5b223fa)
- Use SyncLists directly (delete overrides) (#2307) (fb49d19), closes #2305
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
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
- Remove GameObject sync (#370) (5b223fa)
- Use SyncLists directly (delete overrides) (#2307) (fb49d19), closes #2305
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
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
- Remove GameObject sync (#370) (5b223fa)
- Use SyncLists directly (delete overrides) (#2307) (fb49d19), closes #2305
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
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
- Remove GameObject sync (#370) (5b223fa)
- Use SyncLists directly (delete overrides) (#2307) (fb49d19), closes #2305
Bug Fixes
- bug Client ConnectionState not set properly in Disconnect (#369) (74298c5)
- Bug with NI destroy order (#374) (485f78b)
Features
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
- Remove GameObject sync (#370) (5b223fa)
- Use SyncLists directly (delete overrides) (#2307) (fb49d19), closes #2305
Bug Fixes
- bug Client ConnectionState not set properly in Disconnect (#369) (74298c5)
- Bug with NI destroy order (#374) (485f78b)
Features
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
- Remove GameObject sync (#370) (5b223fa)
- Use SyncLists directly (delete overrides) (#2307) (fb49d19), closes #2305
Bug Fixes
- bug Client ConnectionState not set properly in Disconnect (#369) (74298c5)
- Bug with NI destroy order (#374) (485f78b)
Features
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
- Remove GameObject sync (#370) (5b223fa)
- Use SyncLists directly (delete overrides) (#2307) (fb49d19), closes #2305
Bug Fixes
- bug Client ConnectionState not set properly in Disconnect (#369) (74298c5)
- Bug with NI destroy order (#374) (485f78b)
Features
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
- Remove GameObject sync (#370) (5b223fa)
- Use SyncLists directly (delete overrides) (#2307) (fb49d19), closes #2305
Bug Fixes
- bug Client ConnectionState not set properly in Disconnect (#369) (74298c5)
- Bug with NI destroy order (#374) (485f78b)
Features
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
- Remove GameObject sync (#370) (5b223fa)
- Use SyncLists directly (delete overrides) (#2307) (fb49d19), closes #2305
Bug Fixes
- bug Client ConnectionState not set properly in Disconnect (#369) (74298c5)
- Bug with NI destroy order (#374) (485f78b)
Features
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
- Remove GameObject sync (#370) (5b223fa)
- Use SyncLists directly (delete overrides) (#2307) (fb49d19), closes #2305
Bug Fixes
- bug Client ConnectionState not set properly in Disconnect (#369) (74298c5)
- Bug with NI destroy order (#374) (485f78b)
Features
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
- Remove GameObject sync (#370) (5b223fa)
- Use SyncLists directly (delete overrides) (#2307) (fb49d19), closes #2305
Bug Fixes
- bug Client ConnectionState not set properly in Disconnect (#369) (74298c5)
- Bug with NI destroy order (#374) (485f78b)
Features
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
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
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
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
- support null when serializing classes (#2290) (513a0f9)
- Support recursive data types (#2288) (3ccb7d9)
44.2.0 (2020-09-28)
Features
- Support reading and writing recursive types (a82f3fd)
44.1.0 (2020-09-28)
Bug Fixes
- fixing new import (bdd81e3)
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
43.9.0 (2020-09-24)
Features
43.8.0 (2020-09-24)
Features
43.7.0 (2020-09-21)
Bug Fixes
- adding error for generated read writer for abstract class (#2191) (a9d21ea)
- adding error when Server/Client is used on abstract methods (#1978) (c1410b0)
- adding version define from v17 breaking change (c6fa49c)
- auto fill serialize/deserialize for classes (#2120) (890ee6b), closes #2117 #2117
- ClientScene.localplayer is now set to null when it is destroyed (#2227) (5edba81)
- fixing cloud log not using logger (#2141) (a124f3f)
- Fixing IndexChanged hook not being called for NetworkRoomPlayer (#2242) (94da8ae)
- fixing NullReferenceException when loading scene (#2240) (5eb5ff6)
- fixing unity crash on StackOverflowException (#2146) (ec54ee6)
- fixing warning message for client attribute (#2144) (ddc6139)
- fixing width and layout group on cloud example (#2201) (fc53078)
- isServer false in OnDestroy (#2101) (d46469a)
- making triggers be called right away instead on owner (#2125) (7604e65)
- Nested messages (#2148) (e4a5ce7)
- Unity Editor 2019/2020 crashes in Play Mode when resizing Editor for Macbooks with on board graphics cards. Using Metal instead of OpenGL fixes it. See also: https://forum.unity.com/threads/unity-editor-crashes-macos.739535/ (e2fd195)
- weaver test for abstract methods (#2166) (3a276b4)
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
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
- installation: Simplify packaging (#336) (58a0f68)
- #869 support structs in other assemblies (#1022) (62d1887)
- Add excludeOwner option to ClientRpc (#1954) (864fdd5), closes #1963 #1962 #1961 #1960 #1959 #1958 #1957 #1956
- Add fallback transport (1b02796)
- add IChannelConnection interface for transports with channels (#332) (887118e)
- Add Network Menu (#253) (d81f444)
- Add NetworkServer.RemovePlayerForConnection (#1772) (e3790c5)
- Add roomPlayer parameter to OnRoomServerCreateGamePlayer (#1317) (abf5cdc)
- Add Sensitivity to NetworkTransform (#1425) (f69f174)
- Add SyncHashSet and SyncSortedSet (#685) (695979e)
- add SyncList.RemoveAll (#1881) (eb7c87d)
- Add UPM configuration (#11) (9280af1)
- Add version to package file (#1361) (e97ab93)
- Add weaver support for Vector2Int and Vector3Int (#646) (e2a6ce9)
- Added NetworkConnection to OnRoomServerSceneLoadedForPlayer (b5dfcf4)
- Added Read<T> Method to NetworkReader (#1480) (58df3fd)
- Added SyncList.Find and SyncList.FindAll (#1716) (0fe6328), closes #1710
- Added Virtual OnRoomStopServer to NetworkRoomManager and Script Template (d034ef6)
- Added virtual SyncVar hook for index in NetworkRoomPlayer (0c3e079)
- adding demo for mirror cloud services (#2026) (f1fdc95)
- Adding ignoreAuthority Option to Command (#1918) (3ace2c6)
- adding log handler that sets console color (#2001) (4623978)
- 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)
- additive scene msging added to server (#285) (bd7a17a)
- allow more than one NetworkManager (#135) (92968e4)
- Allow Multiple Network Animator (#1778) (34a76a2)
- allow Play mode options (f9afb64)
- allow users to detect mirror version 3 (ee9c737)
- Allowing extra base types to be used for SyncLists and other SyncObjects (#1729) (9bf816a)
- Allowing Multiple Concurrent Additive Scenes (#1697) (e32a9b6)
- An authenticator that times out other authenticators (#1211) (09f6892)
- async multiplex transport (#145) (c0e7e92)
- asynchronous transport (#134) (0e84f45)
- Authentication Framework (#1057) (56bcb02)
- Authenticators can now provide AuthenticationData (310ce81)
- awaitable connect (#55) (952e8a4)
- Block Play Mode and Builds for Weaver Errors (#1479) (0e80e19)
- Button to register all prefabs in NetworkClient (#179) (9f5f0b2)
- Chat example (#1305) (9926472)
- Check for client authority in CmdClientToServerSync (#1500) (8b359ff)
- Check for client authority in NetworkAnimator Cmd's (#1501) (ecc0659)
- Client attribute now throws error (#274) (f1b52f3)
- ClientRpc no longer need Rpc prefix (#2086) (eb93c34)
- ClientScene uses log window (b3656a9)
- Commands no longer need Cmd prefix (#2084) (b6d1d09)
- Commands no longer need to start with Cmd (#263) (9578e19)
- Component based NetworkSceneManager (#244) (7579d71)
- component based SyncToOwner, fixes #39 (#1023) (c6d86b3)
- connections can retrieve end point (#114) (d239718)
- Cosmetic Enhancement of Network Manager (#1512) (f53b12b)
- Creating method to replace all log handlers (#1880) (d8aaf76)
- custom reader/writer via extension methods (#1047) (b45afad)
- default log level option (#1728) (5c56adc)
- Disconnect Dead Clients (#1724) (a2eb666), closes #1753
- Disposable PooledNetworkReader / PooledNetworkWriter (#1490) (bb55baa)
- Example with 10k monster that change unfrequently (2b2e71c)
- Exclude fields from weaver's automatic Read/Write using System.NonSerialized attribute (#1727) (7f8733c)
- Experimental Network Transform (#1990) (7e2b733)
- Experimental NetworkRigidbody (#1822) (25285b1)
- fallback transport now supports uri (#1296) (e4a701e)
- generate serializers for IMessageBase structs (#1353) (3c0bc28)
- get a convenient property to get network time (1e8c2fe)
- HasAuthority attribute now throws error (#276) (da2355b)
- HeadlessAutoStart and HeadlessFrameLimiter (#318) (ce6ef50)
- Implement IReadOnlyList<T> in SyncLists (#903) (3eaaa77)
- Implemented NetworkReaderPool (#1464) (9257112)
- Improve weaver error messages (#1779) (bcd76c5)
- Improved Log Settings Window Appearance (#1885) (69b8451)
- Improved RoomPayer template (042b4e1)
- include generated changelog (#27) (a60f1ac)
- Include version in release (#1336) (e4f89cf)
- individual events for SyncDictionary (#112) (b3c1b16)
- individual events for SyncSet (#111) (261f5d6)
- LAN Network discovery (#1453) (e75b45f), closes #38
- LLAPI transport can receive port from uri (#1294) (7865a84)
- LocalPlayer attribute now throws error (#277) (15aa537)
- logger factory works for static classes by passing the type (f9328c7)
- logging api (#1611) (f2ccb59)
- LogSettings that can be saved and included in a build (#1863) (fd4357c)
- Make AsyncQueue public for transports (5df0d98)
- Mirror Icon for all components (#1452) (a7efb13)
- Mirror now supports message inheritance (#1286) (f9d34d5)
- More examples for Mirror Cloud Service (#2029) (7d0e907)
- Multiple Concurrent Additive Physics Scenes Example (#1686) (87c6ebc)
- Multiplex based on url (#1295) (c206f9a)
- Network Animator can reset triggers (#1420) (dffdf02)
- Network Scene Checker Component (#1271) (71c0d3b)
- network writer and reader now support uri (0c2556a)
- network writer pool to avoid expensive allocations (3659acb)
- network writer pool to avoid expensive allocations (#928) (f5e9318)
- NetworkAnimator warns if you use it incorrectly (#1424) (c30e4a9)
- NetworkClient raises event after authentication (#96) (c332271)
- NetworkConnection is optional for handlers (#1202) (bf9eb61)
- NetworkConnection manages messages handlers (#93) (5c79f0d)
- NetworkConnection to client and server use logger framework (72154f1)
- NetworkConnection uses logging framework (ec319a1)
- NetworkIdentity lifecycle events (#88) (9a7c572)
- NetworkIdentity use logger framework (2e39e13)
- NetworkMatchChecker Component (#1688) (21acf66), closes #1685 #1681 #1689
- NetworkSceneChecker use Scene instead of string name (#1496) (7bb80e3)
- NetworkServer uses new logging framework (8b4f105)
- NetworkServer.SendToReady (#1773) (f6545d4)
- new virtual OnStopServer called when object is unspawned (#1743) (d1695dd)
- new way to connect using uri (#1279) (7c3622c)
- new websocket transport (#156) (23c7b0d)
- next gen async transport (#106) (4a8dc67)
- now you can assign scenes even if not in Editor (#1576) (c8a1a5e)
- Now you can pass NetworkIdentity and GameObjects (#83) (dca2d40)
- onstopserver event in NetworkIdentity (#186) (eb81190)
- Pass all information to spawn handler (#1215) (d741bae)
- Piped connection (#138) (471a881)
- PlayerSpawner component (#123) (e8b933d)
- Prettify Log Names (c7d8c09)
- profiler info is available in production builds (5649cc6)
- Remove Command shortcut for host mode (#1168) (94eda38)
- Rigidbody example (#2076) (ef47ee7)
- safer and consistent writers names (#979) (b4077c1)
- scene transition uses routine instead of asyncoperation (#305) (a16eb00)
- Script Templates (#1217) (8cf6a07)
- Secure messages that require authentication, fixes #720 (#1089) (7ac43cd)
- Semantic release for UPM (#24) (8cbc005)
- Server and Client share the same scene loading method (#286) (acb6dd1)
- Server attribute now throws error (#270) (f3b5dc4)
- Server raises an event when it starts (#126) (d5b0a6f)
- ship as a unitypackage (11edc14)
- Show compile time error if overriding unused OnServerAddPlayer (#682) (a8599c1)
- Spawn objects in clients in same order as server (#247) (b786646)
- spawning invalid object now gives exception (e2fc829)
- support sending and receiving ArraySegment<byte> (#898) (e5eecbf)
- support writing and reading array segments (#918) (f9ff443)
- supports scriptable objects (4b8f819)
- supports scriptable objects (#1471) (0f10c72)
- Sync Events no longer need Event prefix (#2087) (ed40c2d)
- SyncDictionary can now be used for any IDictionary (#703) (2683572)
- SyncList now supports any IList implementation (#704) (040bcb4)
- SyncList.FindIndex added (#823) (b5ff43a)
- synclists has individual meaningful events (#109) (e326064), closes #103
- SyncSet and SyncDictionary now show in inspector (#1561) (5510711)
- SyncSet custom Equality Comparer support (#1147) (0f95185)
- SyncToOwner now works with authority (#1204) (92d0df7)
- TargetRpc no longer need Target prefix (#2085) (d89ac9f)
- telepathy can now receive port from uri (#1284) (06946cf)
- throw exception if assigning incorrect asset id (#250) (7741fb1)
- Time sync is now done per NetworkClient (b24542f)
- transport can provide their preferred scheme (774a07e)
- Transport can send to multiple connections at once (#1120) (bc7e116)
- transports can give server uri (#113) (dc700ec)
- Transports can have multiple uri (#292) (155a29c)
- Transports can tell if they are supported (#282) (890c6b8)
- Transports may support any number of schemes (#291) (2af7b9d)
- update upm package if tests pass (#21) (7447776)
- Use logger framework for NetworkClient (#1685) (6e92bf5)
- Use SortedDictionary for LogSettings (#1914) (7d4c0a9)
- user friendly weaver error (#896) (954a3d5)
- Users may provide custom serializers for any type (#1153) (9cb309e)
- Weaver can now automatically create Reader/Writer for types in a different assembly (#1708) (b1644ae), closes #1570
- websocket can receive port in url (#1287) (c8ad118)
- Websockets now give client address, fix #1121 (#1125) (c9f317d)
- scene: Add support for scene loading params (#644) (d48a375)
- syncvar: Add SyncDictionary (#602) (7d21bde)
- telepathy: Split MaxMessageSize to allow setting a different value for client and server (#749) (f0a8b5d)
- websocket: Re-enable native SSL (#965) (7ed4a9a)
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
43.3.1 (2020-08-07)
Bug Fixes
43.3.0 (2020-08-04)
Features
43.2.1 (2020-08-02)
Bug Fixes
43.2.0 (2020-08-01)
Features
43.1.4 (2020-08-01)
Bug Fixes
43.1.3 (2020-07-31)
Bug Fixes
43.1.2 (2020-07-28)
Bug Fixes
43.1.1 (2020-07-22)
Bug Fixes
- remove unused code (#308) (554d2c5)
- update interfaces for recent changes that were missed (#309) (a17e760)
43.1.0 (2020-07-22)
Bug Fixes
- add NetworkManager.StartClientUri test (#2095) (12827f6)
- dont allow set of networkSceneName directly (#2100) (df16a7d)
- fixing cloud scripts not pinging api (#2097) (8e545ac)
- Misc code smells (#2094) (e4cc85c)
- register prefab error with same guid (#2092) (984eb73)
- renaming call/invoke prefix for SyncEvent (#2089) (18d6957), closes #2088
Features
43.0.1 (2020-07-20)
Bug Fixes
- benchmark examples (b221b74)
43.0.0 (2020-07-20)
breaking
BREAKING CHANGES
- Removed [TargetRpc], use [ClientR(target=Client.Owner)] instead
42.2.0 (2020-07-19)
Features
42.1.5 (2020-07-18)
Bug Fixes
42.1.4 (2020-07-18)
Bug Fixes
42.1.3 (2020-07-17)
Bug Fixes
42.1.2 (2020-07-17)
Bug Fixes
42.1.1 (2020-07-16)
Bug Fixes
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
BREAKING CHANGES
- rename AsyncMultiplexTransport -> MultiplexTransport
- rename AsyncFallbackTransport -> FallbackTransport
- rename AsyncWsTransport -> WsTransport
40.3.0 (2020-07-14)
Bug Fixes
Features
40.2.0 (2020-07-14)
Features
40.1.1 (2020-07-14)
Bug Fixes
40.1.0 (2020-07-14)
Features
40.0.0 (2020-07-14)
Features
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
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
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
- add tests for NetworkTransform and NetworkRigidbody (#273) (e9621dd)
- NinjaWS code smells (#272) (71d9428)
35.3.3 (2020-07-13)
Bug Fixes
35.3.2 (2020-07-13)
Bug Fixes
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
- ClientRpc no longer need Rpc prefix (#2086) (eb93c34)
- Commands no longer need Cmd prefix (#2084) (b6d1d09)
- Sync Events no longer need Event prefix (#2087) (ed40c2d)
- TargetRpc no longer need Target prefix (#2085) (d89ac9f)
Performance Improvements
35.2.0 (2020-07-12)
Bug Fixes
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
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
- adding demo for mirror cloud services (#2026) (f1fdc95)
- adding log handler that sets console color (#2001) (4623978)
- Experimental NetworkRigidbody (#1822) (25285b1)
- More examples for Mirror Cloud Service (#2029) (7d0e907)
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
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
- default log level option (#1728) (5c56adc)
- NetworkMatchChecker Component (#1688) (21acf66), closes #1685 #1681 #1689
- new virtual OnStopServer called when object is unspawned (#1743) (d1695dd)
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
34.4.0 (2020-04-14)
Features
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)
BREAKING CHANGES
Remove isAuthenticated
Fix typo
Fix smells
Remove smells
33.1.1 (2020-04-09)
Bug Fixes
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)
BREAKING CHANGES
- NetworkConnectionToClient and networkConnectionToServer are gone
31.4.0 (2020-04-04)
Bug Fixes
Features
- spawning invalid object now gives exception (e2fc829)
31.3.1 (2020-04-03)
Performance Improvements
31.3.0 (2020-04-01)
Bug Fixes
Features
Performance Improvements
31.2.1 (2020-04-01)
Bug Fixes
31.2.0 (2020-04-01)
Features
- Add fallback transport (1b02796)
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
30.3.1 (2020-03-30)
Bug Fixes
- reset buffer every time (a8a62a6)
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
- allow Play mode options (f9afb64)
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
- faster NetworkWriter pooling (#1616) (5128b12), closes #1614
- replace isValueType with faster alternative (#1617) (61163ca), closes /github.com/vis2k/Mirror/issues/1614#issuecomment-605443808
- use byte[] directly instead of MemoryStream (#1618) (166b8c9)
29.0.2 (2020-03-27)
Performance Improvements
29.0.1 (2020-03-27)
Bug Fixes
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
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
- Default port is 7777 (960c39d)
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
21.0.1 (2020-03-22)
Bug Fixes
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
- tcp server Tests (3b95477)
Features
20.0.6 (2020-03-22)
Bug Fixes
- NetworkConnectionEvent should be serialized in editor (0e756ce)
20.0.5 (2020-03-21)
Bug Fixes
- Added LogFilter.Debug check in a few places (#1575) (3156504)
- comment punctuation (4d827cd)
- Make SendToReady non-ambiguous (#1578) (b627779)
20.0.4 (2020-03-21)
Bug Fixes
- movement in room demo (49f7904)
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
- additive scene example (9fa0169)
20.0.1 (2020-03-20)
Bug Fixes
20.0.0 (2020-03-20)
Bug Fixes
- compilation issue after merge from mirror (daf07be)
Features
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
19.0.1 (2020-03-17)
Bug Fixes
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
BREAKING CHANGES
- observers is now a set of connections, not a dictionary
16.0.0 (2020-03-10)
Code Refactoring
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
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
- rooms demo (44598e5)
15.0.1 (2020-03-06)
Bug Fixes
15.0.0 (2020-03-05)
Code Refactoring
BREAKING CHANGES
- StartClient now receives the server ip
- NetworkManager no longer has NetworkAddress
14.0.1 (2020-03-04)
Bug Fixes
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)
- Removed LLAPI (b0c936c)
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)
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)
BREAKING CHANGES
AddPlayerForConnection no longer receives the client
fix compilatio errors
fix build errors
9.1.0 (2020-02-12)
Bug Fixes
Features
- Added Read<T> Method to NetworkReader (#1480) (58df3fd)
- supports scriptable objects (#1471) (0f10c72)
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)
breaking
Features
- Implemented NetworkReaderPool (#1464) (9257112)
- LAN Network discovery (#1453) (e75b45f), closes #38
- Mirror Icon for all components (#1452) (a7efb13)
- supports scriptable objects (4b8f819)
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)
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
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
- Network Animator can reset triggers (#1420) (dffdf02)
- NetworkAnimator warns if you use it incorrectly (#1424) (c30e4a9)
Performance Improvements
- Use NetworkWriterPool in NetworkAnimator (#1421) (7d472f2)
- Use NetworkWriterPool in NetworkTransform (#1422) (a457845)
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)