Releases: FirstGearGames/FishNet
Releases Β· FirstGearGames/FishNet
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).
4.4.6R
- Improved performance marginally for clients using prediction.
- Fixed SyncDictionary.DirtyAll not working.
- Fixed SyncList adding duplicate entries for clients (#769).
- Fixed NetworkTransform.SetSychronizedProperties updating only observers when called by the server (#774).
- Changed NetworkTransform removed server ability to SetSynchronizedProperties if client authoritative with owner.
- Fixed ChildTransformTickSmoother ignoring owner smoothed properties (#770, #771).
- Fixed SceneManager sometimes not automatically setting the proper active scene (#765).
- Fixed Resettable/RingBuffer enumerator not working.
- Fixed clientHost sometimes incorrectly losing render visibility of objects. (#772).
4.4.5R
Note: this also includes changes from all 4.4.5 Pre-releases.
- Fixed predicted objects desychronizing when no input was applied.
- Changed removed ClientHostCollection for SyncTypes in Beta.
- Added Logging option RPC attributes.
- Fixed HashGrid demo scene allowing clients to locally teleport server authoritative objects.
- Fixed timed observers not rebuilding when the maximum rebuild time was set to 0f.
- Fixed NetworkTransform field deinitializing without re-initializing on clientHost.
- Fixed NetworkTransform not resetting all datas properly on clientHost disconnect and reconnect.
- Fixed SyncVar not resetting 'values set' field after deinitializing when pooling.
- Changed NetworkObject.NetworkBehaviours is now a List rather than Array.
- Changed renamed NetworkObject.SerializedNestedNetworkObjects to InitializedNestedNetworkObjects.
- Changed renamed NetworkObject.SerializedRootNetworkBehaviour to InitializedParentNetworkBehaviour.
- Fixed nested NetworkObjects spawning under their parent NetworkObject rather than the object they were under on the prefab.
4.4.4R
- Fixed SyncTypes corrupting spawn packets.
4.4.3R
4.4.2R
Changes in 4.4.2
- Fixed stackoverflow error on an editor script.
- Improved removed redundant explicit type casts.
- Changed refactor on spawning; new code, same behavior.
- Fixed package.json not specifying all dependencies (#719).
- Fixed NetworkTransform potentially applying eventual consistency to relayed client-authoritative datas.
- Fixed TimeManager.LastPacketTick not resetting on network stop (#748).
- Changed removed all MethodImplOptions.AggressiveInlining.
- Added TickNetworkBehaviour.OnUpdate/OnLateUpdate overrides.
- Added Benchmarks folder.
- Added NetworkTransform benchmark.
- Removed Network Level of Detail; it's being replaced with a better system.
- Improved reduced CPU usage for writing spawn messages.
- Improved reduced bandwidth for writing spawn messages.
- Fixed NetworkTransform _cachedTransform not being set when object is disabled.
- Improved NetworkObject automatically adds EmptyNetworkBehaviour is no NetworkBehaviours are present at runtime.
- Improved NetworkObject performance by removing Update loop.
- Improved NetworkTransform performance by removing Update loop.
- Improved NetworkAnimator performance by removing Update loop.
Changes in 4.4.1
- Fixed modified collection/stackOverflow caused during observer rebuild.
Changes in 4.4.0
- Added delta serializers for prediction. This is a beta feature, you may switch to Stable using the Fish-Networking menu.
- Fixed SyncVar not sending latest values when the networkObject is spawned and despawned on the same tick (#692).
- Improved SyncVar no longer resets values prior to client deinitializing the object.
- Improved NetworkTransform performance by caching transform (#742).
- Fixed OnStopNetwork invoking on clientHost when client lost observation, while server was still active (#733).
- Fixed PredictedSpawn.OnTrySpawnServer not calling (#725).
- Fixed failed PredictedSpawns not skipping remaining data on the spawn, potentially corrupting the packet remainder.
- Added Writer.InsertUInt16Unpacked.
- Fixed ColliderRollback assertion error when rolling back before 2 snapshots were created (#743).
- Improved removed garbage collection from ColliderRollback fields and types.
- Changed several exposed internal API renamed on NetworkObject.
- Added boolean includeNested for PredictedOwner as well NetworkObject Give/RemoveOwnership.
- Obsoleted several methods in favor of includeNested for ownership.
- Fixed prediction graphicalObject smoothing for spectators when state forwarding was disabled (#734).
- Fixed replicate being run on spectators when state forwarding was disabled; related to (#734).
- Improved TimeManager.TickToLocalTick and LocalTickToTick can now return future tick values (#736).
- Added NetworkObject.HasAuthority.
- Fixed sceneIds sometimes not generating until after script compile or using regenerate sceneId menu.
- Fixed nested NetworkObjects spawning at the wrong coordinates for clients (#738).
- Fixed networkObject.SetParent(null) causing NullreferenceException.
- Fixed OnStopNetwork invoking on clientHost when client lost observation, while server was still active.
4.3.8R
- Improved refreshed meta files to prevent harmless warning when importing FishNet (#710).
- Fixed LiteNetLib NullReferenceException on connection error (#709).
- Fixed SyncBase not always resetting state on clientHost during server disconnects without exiting play mode (#702).
- Fixed Unity/IL2CPP bug null-check returning incorrectly on nullable DespawnType (#708).
- Fixed NetworkObject serialization failing when networkObject was null (#715).
- Fixed server sending incorrect reconcile tick if the client stopped replicating.
- Changed AdaptiveInterpolationType.VeryLow/Low provide about 50% less interpolation now.
- Fixed PredictionManager.Appended causing overshooting and running non-owner inputs out of order.
- Fixed debug printing when updating a SyncType SendRate (#722).
- Improved exposed ObjectPoolRetrieveOption.FastContains extension (#723).
- Fixed SyncVar value resetting to initial value on clientHost when clientHost would lose observation (#720).
- Fixed codegen not preventing multidimensional array use (#718).
- Fixed LiteNetLib nullReferenceException on client socket error (#715).
- Fixed SyncTimer using incorrect delta when calling Update(float).
- Removed Prediction 1.