Releases: FirstGearGames/FishNet
Releases Β· FirstGearGames/FishNet
4.5.8R
4.5.7R
- Fixed TimeManager.TimePassed negative time comparison (#829).
- Added Transport.GetPacketLoss. Only some transports support this feature.
- Added Tugboat.GetPacketLoss(bool).
- Added Server/ClientAttribute.UseIsStarted to force using IsServer/ClientStarted instead of Initialized.
- Fixed conditional NullReferenceException on clientHost when NetworkObserver deinitialized OnDestroy (#812).
- Renamed SceneManager.MoveClientHostObjects to MoveClientObjects.
- Changed SceneManager.MoveClientObjects now also applies to ClientOnly.
- Fixed NullReferenceExceptions on clientHost when rapidly spawning while changing scenes.
- Improved removed unnecessary logging for clientHost.
- Fixed NetworkObject NullReferenceException during OnDestroy when nested.
- Improved sending reconciles on Channel.Reliable now forces them through regardless if replicates run recently.
- Fixed Unity bug IL2CPP build crash for RPCs in generic classes. This is a limited work-around; for proper resolution use Unity 2022 or higher.
- Fixed OnServerDespawn not invoking via observer builds (thanks gooby!).
- Fixed math on Quaterion.Subtract extension.
- Fixed RigidbodyPauser unpausing to kinematic states when another Pauser made kinematic. This bug mostly affected OfflineRigidbody.
- Fixed invalid read size error when reader deserializers a null list (#837).
- Fixed ChildTransformTickSmoother graphics not moving with target when starting as clientHost then disconnecting client.
- Fixed ChildTransformTickSmoother moving to incorrect values when graphicalObject had an offset and when using adaptive interpolation.
- Fixed replicates not running default data when data was queued but interpolation was not met yet.
- Fixed preferred scenes not being set as active scene when SceneManager.SetActiveScene is false (#838).
- Fixed NetworkManager reference being null on reconcile and replicate readers, resulting in possible errors when reading types dependent on a NetworkManager.
- Fixed harmless NullReferenceException caused by ChildTransformTickSmoother when exiting play/application (#818).
- Fixed harmless Multipass Id not found error in Multipass when subsequentially starting server, client, then stopping server (#828).
- Improved performance slightly while in development mode when clients disconnect.
- Updated Edgegap to 3.0.9.
- Added CharacterController prediction demo, featuring: sprint, jumping, stamina, moving platforms, parenting.
- Added Rigidbody prediction demo, featuring: NetworkTrigger pickup, speed boost, predicting multiple rigidbodies.
4.5.6R
- Obsoleted PooledWriter.ResetState in favor of Store/Length.
- Obsoleted PooledReader.ResetState in favor of Store.
- Obsoleted Writer.Reset in favor of Clear.
- Added Writer.Clear.
- Fixed rare chance of writer corruption due to a writer being stored rather than cleared.
- Obsoleted TransformProperties.LocalScale in favor of Scale.
- Added Writer.WriteTransformProperties.
- Added Reader.ReadTransformProperties.
- Removed types no longer used by Mirror in MirrorUpgrade.
- Added BandwidthDisplay.SecondsAveraged to provide better averages over time.
- Added NetworkObject.IsTakingOwnership QOL.
- Added Quaterions.Subtract/Add extensions.
- Changed Beta prediction code moved into stable.
- Added Resettable/RingBuffer.Enqueue.
- Added Resettable/RingBuffer.Dequeue.
- Added Resettable/RingBuffer.TryDequeue.
- Improved ResettableRingBuffer.Add now returns replaced entries.
- Improved ResettableRingBuffer.Add/RemoveRange now have ability to specify resetting replaced or cleared.
- Changed failed predicted spawns are now destroyed on the server rather than optionally pooled. This will be restored at a later date.
- Fixed predicted spawns becoming corrupt on spawner (#815, #801).
- Improved performance slightly on TickNetworkBehaviour when manually changing subscriptions.
4.5.5R
- Fixed DistanceCondition.MaximumDistance not applying properly when set at runtime (#809).
- Obsoleted DistanceCondition.MaximumDistance.
- Added DistanceCondition.Get/SetMaximumDistance.
- Fixed predicted spawners not becoming an observer of the object they spawned.
- Fixed internals trying to call prediction methods on NetworkBehaviours when they do not utilize prediction when at least one NetworkBehaviour for the NetworkObject does.
- Fixed SyncTimers finishing immediately on clientsOnly when using timer.Update without arguments. (#807).
- Added TickNetworkBehaviour.SetTickCallbacks to set callbacks at runtime.
4.5.4hf0R
4.5.3R
- Fixed PreciseTick.Percent value being 0 instead of 1 when checked during a ticked frame.
- Fixed condition where NetworkTransform may not unsubscribe from events on client or server stop.
- Fixed code stripping not working in Unity 2022+ (#798).
- Fixed SyncVar OnChange method having incorrect previous value for clientOnly (#800).
- Fixed foreach enumerator in SyncList (#799).
- Added PreciseTick.GetUnsetValue.
- Fixed preciseTick.Subtract improperly calculating percentages.
- Fixed incorrect parsing of null arrays (#802).
- Added NetworkObject.PreventDespawnOnDisconnect to prevent objects from despawning when the owner disconnects.
4.5.2R
- Fixed NetworkTransform.ResetState causing NullReferenceException when despawning within OnStartServer of the object.
- Fixed scene objects not despawning from within OnStartServer when clientHost did not observer the object.
- Improved Rebuild SceneIds now forcefully rebuilds Ids even if they appear to already be set.
- Added ResettableCollectionCaches.Retrieve/Store Queue and BasicQueue.
4.5.1R
- Fixed nested scene NetworkObjects not spawning (#791).
- Added 'Rebuild Selected Scene's Ids' (#789).
- Improved SyncList, removed unused code. (#785).
- Fixed incorrect equality check in SyncList.Set (#784).
- Improved readability for clientHost renderer update methods.
- Improved Dictionaries utilities, removed unused code.
- Fixed collection modified error in ServerObjects.Observers, introduced in 4.5.0 dev branch.
- Fixed NetworkTransform sometimes causing null reference errors with predicted spawning (#792).
- Fixed predicted spawning no longer sends spawn message back to predicted spawner; only confirmation message.
- Improved removed unused code in NetworkAnimator.
- Fixed null check order on NetworkAnimator._canSynchronizeAnimator (#794).
4.5.0R
- Added IOrderable.
- Added lst.AddOrdered().
- Added ObserverCondition.AddOrder.
- Added Observer conditions can now be checked in a preferred order. This can be useful for prioritizing the fastest checks first.
- Fixed NetworkTransform deinitialize capable of corrupting packet (#786).
- Fixed harmless message, server timed out a client, on a ghost connection (#782).
- Fixed SyncTimer Start callback not working on clientOnly when object spawned with timer active (#768).
- Fixed SyncTimer Finished callback not working on clientOnly when timer duration expired on the same tick timer was started (#768).
- Improved Obsolete message on SyncVars to alleviate confusion.
- Fixed beta SyncType collections incorrectly being cleared when clientHost lost visibility (#651).
- Fixed harmless 'method not supported' error on Multipass (#455).
- Added beta PredictionManager.CreateLocalStates.
- Changed NetworkObject inspector layout.
- Added NetworkTransform component configuration now occurs on ownership change as well.
- Added PlayerSpawner.SetPlayerPrefab.
- Fixed several clientHost destroy race conditions with rapid despawns.
- Improved performance on despawning objects with timed observer conditions.
- Added Tugboat.SetTimeout.
- Fixed server incorrectly sending clientAuth NetworkTransform updates as reliable, resulting in stutter on observers (#787).
- Added notice when Fish-Networking code stripping is enabled when building.
- Fixed Resettable/RingBuffer foreach iteration error when Count is 0.
- Fixed NetworkObject.Deinitialize running asServer: false multiple times when using predicted spawning.
- Fixed potential for clientHost renderers to stay hidden on an object after removing a pre-existing renderer.
- Obsoleted NetworkObject.IsSpawnable.
- Added NetworkObject.Get/SetIsSpawnable.
- Added TimeManager.GetTickElapsedAsDouble.
- Fixed SceneIds sometimes not being set on objects newly added to scenes.
- Fixed possible race condition with users accessing SyncTypes from awake before scene objects are initialized.
- Obsoleted NetworkObject.IsNetworked.
- Added NetworkObject.GetIsNetworked; SetIsNetworked already existed.
- Obsoleted NetworkBehaviour.IsNetworked.
- Added Networkbehaviour.Get/SetIsNetworked.
4.4.7R
- Added several PreciseTick operators.
- Added PreciseTick.Add/Subtract extensions.
- Added PreciseTick.IsValid();
- Added TimeManager.TimeToPreciseTick.
- Improved NetworkConnection.Kick sanity checks when trying to kick invalid connections.
- Fixed SyncVar (Beta) not sending updates to reference times after calling DirtyAll, when the SyncVar was initialized in Awake and not changed aftwards.
- Improved SyncVar write performance slightly.
- Added UnloadSceneEventArgs.UnloadedScenesV2 to resolve issue (#783).
- Fixed "cannot have it's parent changed" warning when spawning objects with nested NetworkObjects.
- Fixed PrefabId 65535 is out of range error when spawning nested NetworkObjects which were not prefabs (#778).