Commit Graph

107 Commits

Author SHA1 Message Date
Karrar
fb0bb8ba67 Improved Prediction Error Correction Smoothing by changing the correction method. 2025-06-14 18:10:08 +03:00
Karrar
0ec3babf0d Added the sandbox name next to the scene name in the hierarchy UI in the editor. 2025-06-06 15:55:42 +03:00
Karrar
49a8a05b2a Added Accurate Local Interpolation to Netick Config. By default, Netick uses the predicted (and thus potentially inaccurate) From snapshot for local interpolation even after rollback & resims, which results in basic smoothing over prediction errors. However, enable this if you want to always use the reconciled From snapshot. 2025-05-28 19:38:00 +03:00
Karrar
e13c8efacf Added Head and Tail properties and GetNode method to NetworkLinkedListSnapshot to make performing a traditional linked list iteration easier. 2025-05-24 14:21:35 +03:00
Karrar
4a8d3b76c9 Improved Remote Interpolation buffering in the client. Now, it should adjust faster when network conditions improve. In addition, added Extra Interpolation Delay to Netick Config, which determines the amount of extra remote interpolation delay/buffering added in the client, regardless of connection quality. This is a value between 0 and 1, where 1 is equivalent to one send tick worth of delay/buffering. 2025-05-18 12:33:51 +03:00
Karrar
d442880219 Added GetPreviousNetworkUnorderedList to OnChangedData. 2025-05-10 08:58:27 +03:00
Karrar
c1e4405850 Fixed an issue when unloading a scene that caused a null reference exception to be thrown in Netick.InterestManagement.ProcessGroup. 2025-04-30 00:22:45 +03:00
Karrar
08c839edf1 Read the description for detailed changes.
- Improved memory usage in the client.
- Added methods to simplify saving/loading a snapshot of the world's networked state.
- Fixed an issue with Interpolation Delay calculation.
2025-04-29 21:47:49 +03:00
Karrar
ff8ea12efc Fixed a slight issue with calculating outgoing bandwidth. 2025-04-03 21:56:28 +03:00
Karrar
187cb86867 Fixed an issue causing auto-quantization to not work on structs that are defined outside a NetworkBehaviour class. 2025-03-26 13:04:56 +03:00
Karrar
bd6d5a22c9 Fixed not being able to set NetworkObject.InterestGroup to null. 2025-03-24 10:57:24 +03:00
Karrar
49a877f25d Fixed an issue with Sandbox.SimulatedLossOut causing it not to affect Sandbox.OutPacketLoss. 2025-03-24 07:44:48 +03:00
Karrar
8a28181a82 Rewritten the network prefab runtime and editor systems from scratch. Now it should be less error-prone, more capable (ability to choose prefabs location, ability to select prefabs manually, and ability to provide a prefab list at runtime before starting Netick), and more performant (at editor time). In addition, Netick will no longer make any changes on prefabs at editor time, so you shouldn't see any changes on git anymore on prefabs. In addition, misconfigured prefab ids will no longer be a problem, because they are set at runtime instead of editor time. 2025-03-20 01:38:57 +03:00
Karrar
ae40087bef Added support for custom scene handling, in addition to an addressable scene handler. 2025-03-11 07:05:45 +03:00
Karrar
6d0f3be204 Changed shutdown behaviour to despawn pending destroyed objects when shutting down. 2025-02-28 00:46:53 +03:00
Karrar
1a16d85152 Changed NetworkBehaviour.StateSize to be virtual. 2025-02-25 01:13:15 +03:00
Karrar
c89837d8a8 Fixed an issue where the client resets Sandbox.AuthoritativeTick before invoking OnConnectedToServer. 2025-02-22 10:55:31 +03:00
Karrar
4622c857ed Fixed an issue with NetworkObjectRef.IsValid and NetworkBehaviourRef.IsValid returning true for invalid id (-1). 2025-02-21 09:00:29 +03:00
Karrar
291366479e Fixed a race condition causing a null reference exception to be thrown in the client when using IM on objects existing on an additively loaded scene. 2025-02-05 22:55:35 +03:00
Karrar
2dd0cca70c Added IsFirstNetworkFixedUpdateCall and IsLastNetworkFixedUpdateCall to NetworkSandbox. These properties are used to know if this current NetworkFixedUpdate call is the first or the last in this frame. These exclude resimulations, and only refer to new/forward ticks. 2025-01-28 06:02:03 +03:00
Karrar
14ece66a32 Fixed an issue with SetParent on pooled networked prefab instances. 2025-01-25 05:33:29 +03:00
Karrar
856f3492c6 Fixed an issue that might cause Lag Compensation not to initialize correctly if you started Netick in Awake. 2025-01-24 03:42:05 +03:00
Karrar
97106b2151 Added AddFirst, AddLast, AddBefore, AddAfter, and GetNode to NetworkLinkedList<T>. In addition, added Nodes getter to return an enumerable of the nodes of the list. 2025-01-16 22:42:47 +03:00
Karrar
e507ddf9eb Fixed an issue when destroying a network object that has a network object (network prefab instance) parented to it, causing the prefab instance not to reset properly when reused again in the future. 2025-01-11 12:14:07 +03:00
Karrar
6045b35cc1 Fixed an issue where an exception will be thrown in the server when multiple IM group changes occur to the same object at the same tick. 2025-01-10 12:10:13 +03:00
Karrar
0c08fbdacb Fixed an issue where Netick would no longer send any packet when the FPS is very low. 2025-01-06 05:53:33 +03:00
Karrar
058cbed487 Changed NetickArrayExt.ToNetworkStructArray8 to NetickArrayExt.ToNetworkArrayStruct8. 2025-01-04 06:45:46 +03:00
Karrar
4f2678125e Fixed an issue with Fast Serialization when Interest Management is enabled. 2024-12-30 16:12:38 +03:00
Karrar
a12d28ba25 Added codegen support for inheritance of network behaviors across different assemblies. 2024-11-25 23:34:49 +03:00
Karrar
ca0a757f53 Added Area of Interest Layers. This is a new feature that allows you to put different objects on different AoI layers, making it possible to query each set of objects differently. 2024-11-22 22:17:22 +03:00
Karrar
d829c37c6a Fixed an issue with Interest Management and pooled network prefab instances. 2024-11-21 11:53:50 +03:00
Karrar
e9b04b18c2 Testing an improvement to Prediction Offset calculation in the client - 2. 2024-11-20 10:54:52 +03:00
Karrar
80df2dedd3 Testing an improvement to Prediction Offset calculation in the client. 2024-11-18 19:12:11 +03:00
Karrar
b07f005b60 Fixed an issue where Netick might freeze the game when you reach Max Players. 2024-11-15 17:16:12 +03:00
Karrar
e31cb736ec Improved LiteNetLib transport performance by removing two needless data copies when sending and receiving a packet. 2024-11-11 11:27:31 +03:00
Karrar
849a0de85f Fixed an issue with OnInputSourceChanged invoke logic in the client. 2024-11-09 05:50:28 +03:00
Karrar
027d929f57 Fixed an issue with the setter of the NetworkDictionary indexer failing to invoke OnChanged associated with the network dictionary. 2024-11-07 19:44:45 +03:00
Karrar
69b47ddf69 Added support for persistent network objects. Enabling IsPersistent on a NetworkObject will automatically mark it as DontDestroyOnLoad, preventing its instances from being destroyed on scene switches. This is only supported on network prefabs, as scene objects can't be created for a late joiner without going through the full scene changes that occurred before it connected. 2024-11-07 01:27:23 +03:00
Karrar
23f42b633a Fixed an issue with Narrow Phase Filtering causing NetworkStart to be invoked on a filtered object in the client. 2024-11-06 20:40:00 +03:00
Karrar
a6ccd3acc0 Fixed an issue with OnInputSourceChanged not being invoked in the client. 2024-11-06 15:42:57 +03:00
Karrar
8d8308c7e2 Fixed an issue with removing network objects in the client. 2024-11-05 14:51:09 +03:00
Karrar
d7c7141ae9 Fixed an issue with predicted objects being simulated when the client is not interested in them. 2024-11-03 17:52:14 +03:00
Karrar
f8e745bb32 Fixed an issue with NetworkSandbox.FindGameObjectWithTag. 2024-10-27 12:03:45 +03:00
Karrar
e84924ea8b Changed how network objects are rolled back. Now, objects are no longer rolled back when they don't have to. Before now, when Prediction Mode of an object was set to Everyone, that caused the object network state to roll back each tick. This is no longer the case. Now, the object network state is only rolled back when it was changed in the client, or the object received new a state from the server. This is a significant improvement in client CPU performance. 2024-10-25 11:12:35 +03:00
Karrar
c1b68bae1b Fixed an issue causing the main scene to duplicate in the client. The duplicate scene gets immediately unloaded. However, it causes DontDestroyOnLoad objects to duplicate. 2024-10-17 01:02:52 +03:00
Karrar
d675fa54e9 Added ensureSafety to [Networked] attribute. When it's equal to true, it will ensure that any access to this network variable will be valid and never result in a null reference exception even when Netick is not started. 2024-10-11 16:22:08 +03:00
Karrar
ab2f95c53d Fixed an issue with generic classes inheriting from NetworkBehaviour. 2024-10-11 09:38:06 +03:00
Karrar
01d6efd4b4 Fixed an issue with calculating the normal on a box HitShape. 2024-10-08 15:36:58 +03:00
Karrar
d6e0bc5597 Added [Preserve] attributes to internal Lag Compensation methods to prevent them from being stripped when Unity Stripping Level is set to low or higher. 2024-09-30 22:21:21 +03:00
Karrar
cdf48fbcaa Fixed an issue with NetworkTransform.GetInterpolationData when agressive rotation compression is turned on. 2024-09-29 22:52:17 +03:00