Skip to content

Releases: FirstGearGames/FishNet

4.6.3R

14 Mar 00:32

Choose a tag to compare

  • Fixed Beta SyncList NullReferenceException error (#850).
  • Improved List and Dictionary collection readers now take collections from caches first.
  • Fixed NetworkTransform setting Rigidbody/2D interpolation to none on owners.
  • Fixed server configuring NetworkTransform before there was an owner.
  • Added PreciseTick(uint) constructor to generate a PreciseTick with 0 subtick value.
  • Fixed ReadPayload data corruption (#855).
  • Improved DebugManager inspector.
  • Fixed Channel always showing Unreliable during Replicate replays.
  • Fixed UniversalTickSmoother conditionally providing excessively large adaptive interpolation values.
  • Added Reader.ReadStringAllocated.
  • Obsoleted Reader.ReadString.
  • Added DebugManager Validate Rpc Lengths to verify RPCs potentially corrupting data.
  • Added SceneProcessorBase.GetLastLoadedScene.
  • Fixed OnStopNetwork incorrectly invoking on clientHost when object despawned for client but not yet on server.
  • Added New NetworkBehaviour template menu under Fish-Networking > Configuratoin, thanks Rain1950! (#851).

4.6.2R

01 Mar 15:51

Choose a tag to compare

  • Improved ReplicateState changes are now beta and can be toggled via Fish-Networking menu.
  • Improved RigidbodyPauser, you can now specify which Rigidbodies to use manually.
  • Fixed harmless error in NetworkTickSmoother, null reference exception, when exiting play mode in Unity.
  • Fixed ReplicateState.FastContains returning incorrectly.

4.6.1R

25 Feb 16:56

Choose a tag to compare

  • Fixed Network/OfflineTickSmoother detach/reattach settings not working.
  • Improved normalized ReadMe file layouts and names.
  • Fixed Review Reminder window no longer shows for Virtual Players on Unity 6.

4.6.0

  • Added preciseTick.AsDouble extension.
  • Added double.AsPreciseTick extension.
  • Added NetworkObject.IsDestroying to know when a NetworkObject is being destroyed or pooled during OnStop callbacks.
  • Added TimeManager.TimeToTicks(long).
  • Added NetworkObject.IsInitializedNested.
  • Added ServerSpawner component which automatically spawns NetworkObjects when the server starts.
  • Added OfflineTickSmoother.
  • Added NetworkTickSmoother.
  • Improved ReplicateState terminology: Future is now only ever true when reconciling, and when data tick has not been run as Current.
  • Changed ReplicateState is now a flag.
  • Changed ReplicateState previous values now use flag checks internally.
  • Added replicateState.FastContains for flag checking.
  • Added ReplicateState.IsCurrent, which is the opposite of IsFuture.
  • Obsoleted several ReplicateState values in favor of new terminology.
  • Improved CharacterControllerPrediction demo notes.
  • Improved CharacterControllerPrediction now uses NetworkTrigger to attach and detach from platforms.
  • Improved Stable and Beta mode are now available per feature.
  • Improved several API and ToString methods to be more verbose.
  • Improved PlayerSpawner to find NetworkManager within hierarchy, using InstanceFinder only as a fallback.
  • Changed PredictionManager.StateInterpolation is now public.
  • Changed Reader.Initialize methods are now public.
  • Fixed set RollbackPhysicsType enum as flag.
  • Fixed OnStop callbacks not firing on Instantiated objects nested to scene objects when server suddenly disconnects.
    Removed debug.
  • Fixed DefaultScene incorrectly loading Offline scene when a server stops, even if another server is running such as through Multipass.
  • Fixed TimeManager.Tick drifting with latency.
  • Fixed UseGlobalCustomSerializer attribute not working on types within read-only assemblies.
  • Fixed Object Initialized Twice Error when stopping and starting all sockets without stopping the editor or application.
  • Fixed conditional Writer corruption when manually calling RebuildObservers.
  • Fixed NetworkObject.SetInitializedValues not running on prefab scene objects with properties that differed from the prefabs.
  • Fixed nested NetworkObjects being destroyed on socket stop when using object pooling (#842).
  • Fixed collection modified error when using extension transform.DestroyChildren with destroyImmediate as true.
  • Fixed BandwidthDisplay showing flipped in/out values for client usage (#843).
  • Fixed NetworkCollider/Trigger sometimes incorrectly firing OnEnter/Exit events during reconcilations.
  • Obsoleted NetworkBehaviour/Object.HasAuthority; replaced with IsController.
  • Obsoleted DetachableNetworkTickSmoother; replaced with NetworkTickSmoother.
  • Obsoleted MonoTickSmoother; replaced with OfflineTickSmoother.
  • Obsoleted NetworkObject smoother settings in favor of using NetworkTickSmoother.
  • Removed HistoryDuration on NetworkCollider/Trigger as it is no longer needed.
  • Removed unused ReplicateState values.

4.5.8R

21 Jan 17:08

Choose a tag to compare

  • Fixed memory leak in ObserverConditions when using pooling.
  • Fixed memory leak in ObserverConditions when destroying objects as clientHost before client-side deinitialized the object.
  • Improved notes on a ReplicateState enum value.
  • Improved error logging for SyncTypes.

4.5.7R

14 Jan 15:50

Choose a tag to compare

  • 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

10 Dec 15:42

Choose a tag to compare

  • 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

08 Nov 22:20

Choose a tag to compare

  • 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

01 Nov 15:37

Choose a tag to compare

4.5.4hf0

  • Fixed client not sending ping updates to the server (#806).

4.5.4

  • Fixed NetworkObject.OnDestroy not completing due to the object thinking it was not initialized (#803).
  • Added scene validity check to method AddConnectionToScene (#805).

4.5.3R

29 Oct 23:25
1acd581

Choose a tag to compare

  • 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

20 Oct 13:20

Choose a tag to compare

  • 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.