Commit Graph

  • 5d7a60cb70 Fixed an issue with the new prefab system causing a Server sent bad data error in the client. Karrar 2025-03-26 04:39:51 +03:00
  • bd6d5a22c9 Fixed not being able to set NetworkObject.InterestGroup to null. Karrar 2025-03-24 10:57:24 +03:00
  • 49a877f25d Fixed an issue with Sandbox.SimulatedLossOut causing it not to affect Sandbox.OutPacketLoss. Karrar 2025-03-24 07:44:48 +03:00
  • 8a83c3d05b Fixed an issue with Sandbox. NetworkInstantiate<T> causing a stack overflow. Karrar 2025-03-24 00:14:36 +03:00
  • b599622b1c Fixed a small issue with the previous commit. Karrar 2025-03-22 22:04:30 +03:00
  • b1090b8ab2 Fixed an issue where nested network objects of persistent objects get unlinked when changing scenes. Karrar 2025-03-22 21:57:55 +03:00
  • 87e4653a01 Fixed an issue with persistent network prefabs. Karrar 2025-03-22 20:49:49 +03:00
  • 5f8afcdf7a Changed Prefab Fetch Mode to Auto Get Prefabs. Karrar 2025-03-22 07:53:55 +03:00
  • 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. Karrar 2025-03-20 01:38:57 +03:00
  • b95e68a568 Fixed an issue causing the client not to send redundant inputs. Karrar 2025-03-19 22:26:23 +03:00
  • 8ace359df8 Updated images in README.md. Karrar 2025-03-13 13:49:30 +03:00
  • 1ce25cd600 Updated images in README.md. Karrar 2025-03-13 11:18:59 +03:00
  • 35b22d89c8 Updated images in README.md. Karrar 2025-03-13 11:12:38 +03:00
  • 01fcd6547b Updated AddressableSceneOperation to fit the previous change. Karrar 2025-03-12 03:54:23 +03:00
  • d8021a33b4 Changed NetworkSceneHandler.LoadBuildSceneAsync and NetworkSceneHandler.UnloadBuildSceneAsync to return ISceneOperation instead of UnityEngine.AsyncOperation. Karrar 2025-03-12 03:51:27 +03:00
  • 31d97490ff Moved Netick menu to Tools. Karrar 2025-03-11 07:24:46 +03:00
  • ae40087bef Added support for custom scene handling, in addition to an addressable scene handler. Karrar 2025-03-11 07:05:45 +03:00
  • c5ebb22afd Made a small change to PlayerSpawner in how the spawn position is calculated. Karrar 2025-03-01 01:44:32 +03:00
  • 79fcfc17ff Changed OnPlayerDisconnected/OnClientDisconnected to invoke after the player/client was removed from Sandbox.ConnectedPlayers/Sandbox.ConnectedClients. Karrar 2025-02-28 23:32:09 +03:00
  • f56df7fc48 Moved PlayerSpawner to Netick.Samples namespace. Karrar 2025-02-28 21:25:08 +03:00
  • 33f4c44d51 Removed a testing log. Karrar 2025-02-28 04:22:47 +03:00
  • 6d0f3be204 Changed shutdown behaviour to despawn pending destroyed objects when shutting down. Karrar 2025-02-28 00:46:53 +03:00
  • b21cb08db4 Added PlayerSpawner, a helper script for quick prototyping, used to spawn/despawn a player prefab when a player (client or host) has connected/disconnected. Karrar 2025-02-28 00:28:53 +03:00
  • a7d3032518 Fixed an issue with calculating LagCompHit.Normal/LagCompHit2D.Normal of a raycast on rotated sphere HitShapes. Karrar 2025-02-27 23:07:43 +03:00
  • 661cbc1355 Fixed an issue with calculating normal vector of LagCompHit/LagCompHit2D. Karrar 2025-02-26 17:53:29 +03:00
  • 1a16d85152 Changed NetworkBehaviour.StateSize to be virtual. Karrar 2025-02-25 01:13:15 +03:00
  • 5cd72b10fe Changed CopyStateTo, SetStateFrom, and ClearState methods of NetworkBehaviour to be virtual. Karrar 2025-02-23 19:12:11 +03:00
  • c89837d8a8 Fixed an issue where the client resets Sandbox.AuthoritativeTick before invoking OnConnectedToServer. Karrar 2025-02-22 10:55:31 +03:00
  • 01cf00257b Fixed an issue with HitShape.Raycast always returning false. Karrar 2025-02-21 09:05:06 +03:00
  • 4622c857ed Fixed an issue with NetworkObjectRef.IsValid and NetworkBehaviourRef.IsValid returning true for invalid id (-1). Karrar 2025-02-21 09:00:29 +03:00
  • f3b3c047b1 Added HitShape.Raycast. Works the same as Collider.Raycast of Unity, but for HitShapes. Karrar 2025-02-19 05:34:26 +03:00
  • 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. Karrar 2025-02-05 22:55:35 +03:00
  • 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. Karrar 2025-01-28 06:02:03 +03:00
  • 14ece66a32 Fixed an issue with SetParent on pooled networked prefab instances. Karrar 2025-01-25 05:33:29 +03:00
  • 856f3492c6 Fixed an issue that might cause Lag Compensation not to initialize correctly if you started Netick in Awake. Karrar 2025-01-24 03:42:05 +03:00
  • 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. Karrar 2025-01-16 22:42:47 +03:00
  • 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. Karrar 2025-01-11 12:14:07 +03:00
  • 5a085d1557 Fixed an issue with package.json. Karrar 2025-01-10 12:44:49 +03:00
  • 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. Karrar 2025-01-10 12:10:13 +03:00
  • 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. Karrar 2025-01-06 08:32:46 +03:00
  • 0c08fbdacb Fixed an issue where Netick would no longer send any packet when the FPS is very low. Karrar 2025-01-06 05:53:33 +03:00
  • 058cbed487 Changed NetickArrayExt.ToNetworkStructArray8 to NetickArrayExt.ToNetworkArrayStruct8. Karrar 2025-01-04 06:45:46 +03:00
  • 4b25d703c8 Updated README.md to reflect the recent server-side CPU optimization. Karrar 2024-12-30 21:00:35 +03:00
  • 9be37db924 Fixed an issue in the latest commit preventing Fast Serialization from working. Karrar 2024-12-30 20:42:30 +03:00
  • ffef78023d Fixed an issue with Fast Serialization when Interest Management is enabled. Karrar 2024-12-30 16:15:02 +03:00
  • 754b8266e9 Merge branch 'master' of https://github.com/karrarrahim/NetickProForUnity Karrar 2024-12-30 16:14:05 +03:00
  • 4f2678125e Fixed an issue with Fast Serialization when Interest Management is enabled. Karrar 2024-12-30 16:12:38 +03:00
  • 532e592e55 Merge pull request #1 from Withaust/master Karrar 2024-12-25 16:28:09 +03:00
  • 349204c414 Fix ConnectionRequest reported user array length Ilya Fedorov 2024-12-25 16:20:51 +03:00
  • a12d28ba25 Added codegen support for inheritance of network behaviors across different assemblies. Karrar 2024-11-25 23:34:49 +03:00
  • 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. Karrar 2024-11-22 22:17:22 +03:00
  • d829c37c6a Fixed an issue with Interest Management and pooled network prefab instances. Karrar 2024-11-21 11:53:50 +03:00
  • 411e498d9f Fixed an issue with Unity 2022.3.51 or later where enabling Interest Management breaks the game in IL2CPP. Karrar 2024-11-20 11:31:58 +03:00
  • e9b04b18c2 Testing an improvement to Prediction Offset calculation in the client - 2. Karrar 2024-11-20 10:54:52 +03:00
  • 80df2dedd3 Testing an improvement to Prediction Offset calculation in the client. Karrar 2024-11-18 19:12:11 +03:00
  • b07f005b60 Fixed an issue where Netick might freeze the game when you reach Max Players. Karrar 2024-11-15 17:16:12 +03:00
  • e31cb736ec Improved LiteNetLib transport performance by removing two needless data copies when sending and receiving a packet. Karrar 2024-11-11 11:27:31 +03:00
  • 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. Karrar 2024-11-09 21:04:07 +03:00
  • 849a0de85f Fixed an issue with OnInputSourceChanged invoke logic in the client. Karrar 2024-11-09 05:50:28 +03:00
  • 71984ebb3e Added LagCompensationStep, a script used to invoke NetworkFixedUpdate and NetworkRender on Netick.Pro.LagCompensation. Karrar 2024-11-07 23:44:42 +03:00
  • 0696ce9cde Fixed a startup error due to a change in the previous commit. Karrar 2024-11-07 22:46:41 +03:00
  • 027d929f57 Fixed an issue with the setter of the NetworkDictionary indexer failing to invoke OnChanged associated with the network dictionary. Karrar 2024-11-07 19:44:45 +03:00
  • e04066cbcc Changed the Lag Compensation system to be part of the network loop instead of being hardcoded to execute after all other scripts. Karrar 2024-11-07 18:07:36 +03:00
  • fcd050822a Fixed an issue with OnBecameUninterested not being invoked for objects with Narrow Phase Filterting. Karrar 2024-11-07 03:55:34 +03:00
  • 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. Karrar 2024-11-07 01:27:23 +03:00
  • 23f42b633a Fixed an issue with Narrow Phase Filtering causing NetworkStart to be invoked on a filtered object in the client. Karrar 2024-11-06 20:40:00 +03:00
  • a6ccd3acc0 Fixed an issue with OnInputSourceChanged not being invoked in the client. Karrar 2024-11-06 15:42:57 +03:00
  • e0ef1ffc50 Added NetworkSandbox.FindSandbox, a helper method to find the sandbox of a MonoBehaviour, without having it be inherited from NeworkBehaviour. Karrar 2024-11-05 18:08:06 +03:00
  • 8d8308c7e2 Fixed an issue with removing network objects in the client. Karrar 2024-11-05 14:51:09 +03:00
  • ca9d229ec7 Read the description for detailed changes. Karrar 2024-11-03 18:28:05 +03:00
  • d7c7141ae9 Fixed an issue with predicted objects being simulated when the client is not interested in them. Karrar 2024-11-03 17:52:14 +03:00
  • f8e745bb32 Fixed an issue with NetworkSandbox.FindGameObjectWithTag. Karrar 2024-10-27 12:03:45 +03:00
  • 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. Karrar 2024-10-25 11:14:25 +03:00
  • 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. Karrar 2024-10-25 11:12:35 +03:00
  • 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. Karrar 2024-10-17 01:02:52 +03:00
  • 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. Karrar 2024-10-11 16:22:08 +03:00
  • ab2f95c53d Fixed an issue with generic classes inheriting from NetworkBehaviour. Karrar 2024-10-11 09:38:06 +03:00
  • 7b3e321965 Deleted Samples.meta. Karrar 2024-10-08 15:41:10 +03:00
  • 01d6efd4b4 Fixed an issue with calculating the normal on a box HitShape. Karrar 2024-10-08 15:36:58 +03:00
  • 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. Karrar 2024-09-30 22:21:21 +03:00
  • e5e068ba19 Fixed a memory leak in the editor. Karrar 2024-09-29 22:59:13 +03:00
  • cdf48fbcaa Fixed an issue with NetworkTransform.GetInterpolationData when agressive rotation compression is turned on. Karrar 2024-09-29 22:52:17 +03:00
  • 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. Karrar 2024-09-19 16:23:59 +03:00
  • 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. Karrar 2024-09-18 09:37:17 +03:00
  • 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. Karrar 2024-09-13 23:52:47 +03:00
  • 363bdc191c Fixed an issue that prevented OnInput from being invoked when running in Single Player start mode. Karrar 2024-09-13 20:48:05 +03:00
  • 9a3495c56a Changed NetworkSandbox.DeattachBehaviour to NetworkSandbox.DetachBehaviour and NetworkSandbox.DeattachNonNetworkedRigidbody to NetworkSandbox.DetachNonNetworkedRigidbody, to fix a spelling error. Karrar 2024-09-13 00:25:09 +03:00
  • 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. Karrar 2024-09-13 00:18:52 +03:00
  • 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. Karrar 2024-09-12 10:27:16 +03:00
  • a125a2e060 Updated README.md. Karrar 2024-09-11 04:23:53 +03:00
  • 34366903a0 Updated README.md. Karrar 2024-09-11 04:23:06 +03:00
  • 54e4928c04 Updated README.md. Karrar 2024-09-11 04:21:26 +03:00
  • e2944d1ae6 Removed the Assemblies section in Netick Settings. Now other assemblies are automatically detected. Karrar 2024-09-10 23:14:36 +03:00
  • f97e60c999 Added Normal to LagCompHit and LagCompHit2D. Karrar 2024-09-05 19:28:02 +03:00
  • cf3aa647cc Changed NetworkObject.Id to start at 1, instead of 0. This prevents issues where a default value for NetworkObjectRef or NetworkBehaviourRef would still refer to a valid object/behavior (the object with id 0) instead of referring to null. Karrar 2024-09-02 18:34:04 +03:00
  • 737209385a Fixed a rare issue that causes an OnChanged method not to be invoked when a misprediction occurs (on another variable) that causes the variable to change but no OnChanged callback is ever invoked, even though the value before rollback and the value after rollback & resimulation weren't the same. Karrar 2024-09-02 18:18:27 +03:00
  • 1a28008960 Fixed an issue with the previous commit when sending custom user data using LiteNetLib. Karrar 2024-08-27 10:07:35 +03:00
  • 0a8e405e62 Added settings to LiteNetLibTransportProvider. In addition, made general improvements and fixed a bug when sending user data with a byte size bigger than _bytes size. Karrar 2024-08-27 09:48:24 +03:00
  • b62d5d40e4 Changed the variables used for icon offsets in NetworkInfo to have meaningful names. Karrar 2024-08-25 02:09:27 +03:00
  • d294f65bd7 Added packet loss stats to NetworkInfo and made several other improvements. Karrar 2024-08-25 01:58:57 +03:00