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
fc7298046d
Reverting NetworkAwake exeuction behavior in the client to the original behavior, where NetworkAwake is executed right after creating an object, regardless of networked state syncing.
2025-01-06 08:32:46 +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
9be37db924
Fixed an issue in the latest commit preventing Fast Serialization from working.
2024-12-30 20:42:30 +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
411e498d9f
Fixed an issue with Unity 2022.3.51 or later where enabling Interest Management breaks the game in IL2CPP.
2024-11-20 11:31:58 +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
a17225f16e
Fixed an issue where some internal Interest Management Logic would still execute when Interest Management is off, causing an issue with OnInputSourceChanged not being invoked in the client for an object with a non-Global Broad Phase Filtering setting.
2024-11-09 21:04:07 +03:00
Karrar
849a0de85f
Fixed an issue with OnInputSourceChanged invoke logic in the client.
2024-11-09 05:50:28 +03:00
Karrar
71984ebb3e
Added LagCompensationStep, a script used to invoke NetworkFixedUpdate and NetworkRender on Netick.Pro.LagCompensation.
2024-11-07 23:44:42 +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
e04066cbcc
Changed the Lag Compensation system to be part of the network loop instead of being hardcoded to execute after all other scripts.
2024-11-07 18:07:36 +03:00
Karrar
fcd050822a
Fixed an issue with OnBecameUninterested not being invoked for objects with Narrow Phase Filterting.
2024-11-07 03:55:34 +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
e0ef1ffc50
Added NetworkSandbox.FindSandbox, a helper method to find the sandbox of a MonoBehaviour, without having it be inherited from NeworkBehaviour.
2024-11-05 18:08:06 +03:00
Karrar
8d8308c7e2
Fixed an issue with removing network objects in the client.
2024-11-05 14:51:09 +03:00
Karrar
ca9d229ec7
Read the description for detailed changes.
...
- Added `context` parameter to `Sandbox.Log`, `Sandbox.LogWarning`, and `Sandbox.LogError`.
- Added CPU profiling support for certain important methods of Netick.
- Improved OnChanged detection performance.
- Changed `OnInputSourceChanged` to invoke after NetworkStart.
- Fixed an issue with OnChanged not invoking for newly interested objects.
- Fixed an issue with predicted objects being simulated when the client is not interested in them.
- Fixed various other issues.
2024-11-03 18:28:05 +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
72344a665c
Fixed an issue causing interpolated variables to interpolate between the local default/inspector state towards the initial received server state when the object is first spawned in the client.
2024-10-25 11:14:25 +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
e5e068ba19
Fixed a memory leak in the editor.
2024-09-29 22:59:13 +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
Karrar
0cd07c0c1b
Changed NetworkAwake behavior. Now, NetworkAwake should be reliable and safe to use. NetworkAwake is invoked immediately when a network object is created, and before any other callbacks.
2024-09-19 16:23:59 +03:00
Karrar
5acdcdbebe
Added support for auto-compression (using codegen) to struct field members. Making a float-based field (such as float or Vector3) of a struct a property, and adding [Networked] attribute to it, will allow Netick to provide extra compression on it. This will noticeably reduce client->server bandwidth when done on float-based members of network input types.
2024-09-18 09:37:17 +03:00
Karrar
eae8457ca6
Added NetworkSandbox.IsPlayer. It returns true if this sandbox is a player, which is the case when running as a Client, Host, or in Single-Player mode.
2024-09-13 23:52:47 +03:00
Karrar
363bdc191c
Fixed an issue that prevented OnInput from being invoked when running in Single Player start mode.
2024-09-13 20:48:05 +03:00
Karrar
9a3495c56a
Changed NetworkSandbox.DeattachBehaviour to NetworkSandbox.DetachBehaviour and NetworkSandbox.DeattachNonNetworkedRigidbody to NetworkSandbox.DetachNonNetworkedRigidbody, to fix a spelling error.
2024-09-13 00:25:09 +03:00
Karrar
8dda03efcf
Added NetworkSandbox.AttachGameObject and NetworkSandbox.DeattachGameObject. These methods are used to manually attach/detach game objects to/from the visibility system when using sandboxing, and attach/detach rigidbodies to/from the non-networked rigidbody interpolation system that is used to interpolate rigidbodies that are not networked in non-main physics scenes.
2024-09-13 00:18:52 +03:00
Karrar
14c122c151
Fixed an issue with IL2CPP that caused an internal ordering issue that prevented RPCs from working correctly when there are multiple RPCs with similar names in the game project.
2024-09-12 10:27:16 +03:00
Karrar
e2944d1ae6
Removed the Assemblies section in Netick Settings. Now other assemblies are automatically detected.
2024-09-10 23:14:36 +03:00