Releases: FirstGearGames/FishNet
Releases · FirstGearGames/FishNet
1.5.2P2
- Added new DefaultPrefabObjects system. The new system is faster with more settings. See Fish-Networking > Configuration menu.
- Added checks in codegen to prevent async RPC methods.
- Fixed PredictedObject smoothing speeds being calculated incorrectly.
- Fixed objects not despawning with certain conditions when removing ownership.
- Patched objects not being destroyed on clientHost when the object is spawned and despawned on server before the packet arrives on client. Note: client callbacks do not behave properly in these situations until this is properly fixed.
- Fixed server rarely throwing errors when client would send data to a despawned NetworkObject.
- Added PredictedObject.Get/SetSmoothTicks.
- Fixed IL initialization error when a type was being used as an array and singular as a SyncVar.
- Improved server and client no longer process received data on deinitialized objects; the data is instead discarded.
1.5.2
- Fixed NetworkTransform.Interval(experimental) sometimes causing NaN errors.
- Improvements to debug output messages.
- Improved timing adjustments to send even less frequently.
- Improved exposed NetworkObject.SetIsNetworked.
- Added Transform to serializable types.
- Improved tidied prediction example scenes, prefabs, and scripts to use new PredictedObject.
- Added NetworkTransform.Interval to reduce how often NetworkTransform sends (experimental).
- Fixed SyncVar.OnChange not supporting array types.
- Fixed UnitySceneManager.sceneUnloaded not being unregistered.
- Fixed NetworkTransform sending too often.
- Removed NetworkAnimator null animator warning.
- Added automatic parent synchronization when spawning objects.
- Obsoleted NetworkBehaviour/NetworkObject.Deinitializing. Use IsDeinitializing instead.
- Obsoleted NetworkObject.SceneObject. Use IsSceneObject instead.
- Added several checks and warnings when attempting to move objects over scenes.
- Changed some internals to not use obsoleted.
- Improvement prevented server from initializing a connection if user disconnected the connection through OnRemoteConnectionState.
- Improved PredictedObject to perform functions of all predicted helpers.
- Added PredictedObject ability to smooth at any tick rate.
- Added PredictedObject will now configure specified NetworkTransform.
1.4.8
- Changed several ListCaches types now use GetXXXXCache/StoreCache instead of accessing the ListCache directly.
- Improved timed conditions automatic scaling feature.
- Fixed NetworkTransform sometimes changing a transforms property even when it was not intended to be synchronized.
- Fixed NetworkTransform synchronize parent feature.
- Fixed NetworkTransform snapping settings not working under certain conditions.
- Fixed NetworkTransform not synchronizing initial values when on a child component.
- Added NetworkManager.Initialize to know when it's initialized versus being destroyed.
- Fixed DefaultScene null reference exceptions in relation to destroyed NetworkManagers.
- Fixed Awake base calls not working when Awake was not overriden.
- Fixed RunLocally on ServerRpc blocking execution from any client which was not host.
- Fixed MatchCondition.
- Added new ways to add and remove clients or objects to MatchCondition.
- Improved NetworkConnection.Equals now uses ClientId.
- Fixed scene objects being initialized even with IsNetworked disabled.
- Added code analysis to force base calls.
- Fixed SyncObject AddOperation and initialization checks.
1.4.7
- Fixed broadcast handlers not unregistering properly.
- Added CodeAnalysis to catch common mistakes such as using IsOwner in Awake or Start.
- Added support for nested NetworkObjects within scenes and prefabs.
- Fixed Awake being called on inherited NetworkBehaviours without the users intent.
- Added networkObject/gameObject.Spawn, to spawn the extended object using InstanceFinder.
- Added base.Spawn(networkObject).
- Fixed timed observer conditions causing incorrect visibilities and flickers for clientHost.
- Improved Tugboat utilizes Get/SetServerBindAddress.
- Obsoleted transport.Get/SetServerBindAddress().
- Improved Transport.Get/SetServerBindAddress now takes IPAddressType argument.
- Added ListCaches.GetXYZCache/StoreCache which enables use of caches as a pool.
- Improved several debug messages and handled more potential exceptions.
- Added TimeManager.FrameTicked.
- Improved timed ObserverCondition performance considerably.
- Obsoleted ListCaches.TransformCache/NetworkObjectCache.
1.4.6
- Added nested NetworkObject support!
- Added SyncDictionary.Dirty(key) and SyncDictionary.Dirty(value).
- Improved XML on SceneLookupData.
- Improved NetworkTransform.SynchronizeParent reliability. Feature is still being worked on.
- Fixed DefaultScene not changing scenes when older NetworkManagers are destroyed.
- Fixed incorrect method being used to debug log spawn warnings.
- Improved PredictedObject setup process.
- Added additional constructors to SceneLoadData, SceneLookupData.
- Changed Refresh Default Prefabs removed from NetworkManager in favor of Fish-Networking menu.
- Changed NetworkManager.IterationOrder is no longer experimental and is now hard-coded.
- Improved NetworkObject.IsNetworked XML.
- Added SyncList.Dirty(T), to allow setting dirty by type reference.
- Improved NetworkObserver.GetObserverCondition by removing required cast.
- Added SceneManager.OnActiveSceneSet, which is called immediately after scenes load.
- Fixed NetworkTransform updates occasionally skipping a tick.
1.4.5
IMPORTANT: this update requires you to delete your FishNet folder when importing from GitHub!!
IMPORTANT: this update requires you to delete your FishNet folder when importing from GitHub!!
- Fixed automatic code stripping not working on some Unity versions.
- Improved error message on missing SceneObjects.
- Improved TransportManager.GetTransport signature.
- Fixed TransportManager.GetTransport now returns Multipass when T is Multipass, rather than looking for a transport within Multipass.
- Fixed RollbackManager not accumulating snapshots.
- Improved NetworkAnimator no longer warns regularly when runtimeAnimatorController is null.
- Added TimeManager.TimePassed to return time passed between current and previous ticks.
- Improved default prefabs population speed.
- Added SyncBase.WriteHeader in place of SyncBase.WriteDelta when only needing to write the header.
- Added NetworkConnection.GetAddress to get the clients remote address.
- Added Refresh Default Prefabs to the Fish-Networking menu.
- Fixed NetworkAnimatorEditor not properly displaying parameters for AnimatorOverrideControllers.
- Improved TimeManager.Tick is now set on clients during the authentication process.
- Improved TimeManager readability.
- Improved description of several codegen warnings.
- Improved TimeManager.RoundTripTime accuracy.
- Added TargetRpc and ObserversRpc attributes can be used on the same method.
- Added NetworkManager.SpawnPacking, to control transform compression during spawns.
- Added NetworkTransform.Packing, to control transform compression during updates.
- Improved OnStartServer/Network, no longer call before active scene is set during a scene load.
- Fixed IEnumerator Awake codegen errors when inheritance involved multiple assemblies.
- Fixed Server and Client attribute methods not logging when NetworkBehaviour was not initialized.
- Improved prediction example prefabs to use PredictedObject.
- Added TimeManager.PingInterval is now configurable.
- Added TimeManager.PredictionTimingInterval is now configurable.
- Added experimental PredictedObject component.
- Improved bandwidth usage on timing updates.
- Improved performance on timing updates.
- Fixed NetworkConnection.Broadcast using InstanceFinder instead of the NetworkManager reference.
- Fixed objects not respawning for clients after they regain ownership.
- Changed re-enabled RPCLinks.
- Improved network objects in DDOL scene now initialize over the network.
- Improved ObserverCondition performance when using timed conditions.
- Changed RunLocally on RPCs will now only run once as host.
- Added MatchCondition.
- Changed Yak namespace to match other transports.
Note: this is an accumulated release. Some of these changes were performed in 1.4.4, which was not released to the asset store.
1.4.4
- Improved prediction example prefabs to use PredictedObject.
- Added TimeManager.PingInterval is now configurable.
- Added TimeManager.PredictionTimingInterval is now configurable.
- Added experimental PredictedObject component.
- Improved bandwidth usage on timing updates.
- Improved performance on timing updates.
- Fixed TimeManager.Tick not synchronizing, from 1.4.3.
- Fixed NetworkConnection.Broadcast using InstanceFinder instead of the NetworkManager reference.
- Fixed objects not respawning for clients after they regain ownership.
- Changed re-enabled RPCLinks.
- Improved network objects in DDOL scene now initialize over the network.
- Improved ObserverCondition performance when using timed conditions.
- Changed RunLocally on RPCs will now only run once as host.
- Added experimental MatchCondition.
- Changed Yak namespace to match other transports.
1.4.3
- Added DistanceChecker.HideDistancePercent to reduce spawn messages and better control visibility.
- Added ability to disable automatic frame rate setting on Client/ServerManager.
- Changed Yak transport namespace to match others.
- Improved Exposed SceneManager.AddOwnerToDefaultScene.
- Improved Exposed PlayerSpawner.Spawns
- Added additional exploit protection.
- Fixed connection scenes unloading for all players when clientHost would leave the scene.
- Improved renderers now hide for clientHost when a scene is loaded for another connection that clientHost is not within.
- Added TimeManager.SetPhysicsMode to set PhysicsMode at runtime.
- Fixed NetworkManager.PersistenceType potentially destroying the wrong NetworkManager.
- Changed ReadBytesAllocated now retrieves from ByteArrayPool.
- Added prefabs can now be serialized.
- Improved performance on SyncType initialization.
- Added synchronize properties to NetworkTransform.
- Improved reduced client to server bandwidth by up to 8 bytes per tick.
- Improved how server handles client timing resulting in better scalability.
- Added Spawn can now take a NetworkObject reference.
- Fixed deserialization errors when using unreliable SyncVars.
- Improved DefaultPrefabObjects from refreshing more than once while playing.
1.4.2
- Fixed scene objects network initializing before server was set as started.
- Improved state change messages for local client and local server are more descriptive.
- Fixed NetworkObject not being removed in time when as a child of another NetworkObject while also a scene object.
1.4.1
- Added experimental NetworkManager.Incoming/OutgoingIterationOrder.
- Improved NetworkAnimator performance marginally.
- Improved NetworkBehaviours are now found even when disabled on prefabs.
- Fixed delay in CSP replication when a client loses ownership upon disconnect, then reconnects regaining ownership.
- Improved SceneManager now prevents MovedObjectsHolder from becoming the active scene.
- Improved compression on some numeric types using IntVar.
- Improved NetworkObject initialization speed and made changes in preperation of nested NetworkObjects.
- Improved several debug messages.
- Fixed NetworkTransform sometimes incorrectly extrapolating slightly when using exceptionally low tick rates.
- Improved CharacterController Prediction example now disables CharacterController for non-owners.
- Improved spawn rotation now sends uncompressed to prevent initial alignment problems.
- Improved all files have proper line endings.
- Removed non-functional ServerBindAddress from Tugboat.
- Changed ConcurrentQueues to Queues in Tugboat.
- Fixed Tugboat polling order which would sometimes cause clients to send packets before being confirmed as connected.
- Added Multipass, a transport that allows a server to run multiple transports at once.
- Improved codegen to throw when attempting to create generic RPCs.
- Fixed codegen error when implementing a generic field within a generic class that inherits NetworkBehaviour.
- Improved exposed 'force' parameter in SyncList.Set.
- Improved NetworkObserver no longer destroys itself with no conditions while using Ignore Manager. This is to allow global visibility.
- Added SyncHashSet.
- Improved unreliable packets by reducing bandwidth an additional 2 bytes.
- Fixed NetworkAnimatorEditor possible null reference exception while the component was selected in the inspector, and while setting the animator controller to null at runtime.
- Changed client connections are no longer considered added to a scene if they own an object in that scene; clients must specifically be loaded into scenes now.
- Added serialized field PlayerSpawner.AddToDefaultScene. While true the player will be added to the scene where the player prefab is instantiated only if there are no global scenes already.
- Improved NetworkObject removed warning no longer displays on nested NetworkObjects while NetworkObject.IsNetworked is false.
- Fixed missing object errors when server-host unloads a scene and unexpectedly destroyed object data is sent to client-host.
- Improved NetworkBehaviours no longer add NetworkObjects to root at runtime.
- Added SyncList.Dirty(index). This allows users to mark a SyncList index dirty such as if they are changing properties within a reference type on that index.
- Improved ListCache.AddValues can now take ISet.
- Improved Tugboat incoming handling speed slightly.
- Improved ReadDictionary speed slightly.
- Changed NetworkManager.RefreshDefaultPrefabs is now false by default.
- Improved NetworkManager tries to refresh default prefabs in a more intelligent manner now.
- Added TransportManager.GetTransport to better support Multipass.
- Added several ServerObject.RebuildObservers overloads to support upcoming MatchCondition.
- Fixed codegen not creating a deserializer for dictionaries when they were used in RPCs.