Commit Graph

315 Commits

Author SHA1 Message Date
Karrar
0696ce9cde Fixed a startup error due to a change in the previous commit. 2024-11-07 22:46:41 +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
7b3e321965 Deleted Samples.meta. 2024-10-08 15:41:10 +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
a125a2e060 Updated README.md. 2024-09-11 04:23:53 +03:00
Karrar
34366903a0 Updated README.md. 2024-09-11 04:23:06 +03:00
Karrar
54e4928c04 Updated README.md. 2024-09-11 04:21:26 +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
Karrar
f97e60c999 Added Normal to LagCompHit and LagCompHit2D. 2024-09-05 19:28:02 +03:00
Karrar
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. 2024-09-02 18:34:04 +03:00
Karrar
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. 2024-09-02 18:18:27 +03:00
Karrar
1a28008960 Fixed an issue with the previous commit when sending custom user data using LiteNetLib. 2024-08-27 10:07:35 +03:00
Karrar
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. 2024-08-27 09:48:24 +03:00
Karrar
b62d5d40e4 Changed the variables used for icon offsets in NetworkInfo to have meaningful names. 2024-08-25 02:09:27 +03:00
Karrar
d294f65bd7 Added packet loss stats to NetworkInfo and made several other improvements. 2024-08-25 01:58:57 +03:00
Karrar
7e3a31bf94 Added NetworkSandbox.InPacketLoss, NetworkSandbox.OutPacketLoss, NetworkConnection.InPacketLoss, and NetworkSandbox.OutPacketLoss. These are measurements for inward and outward packet loss. 2024-08-23 06:05:14 +03:00
Karrar
b10c8c8f06 Fixed an issue with parenting network objects. 2024-08-23 05:53:28 +03:00
Karrar
bceb246d91 Fixed an issue with calculating prediction tick offset that was causing missed inputs at very high tickrates (+100). 2024-08-20 23:12:47 +03:00
Karrar
9dc1884469 Fixed an issue with CSP that was causing very frequent speed-ups (which look like jitter) on predicted objects, which was most noticeable on fast-moving objects. 2024-08-19 02:06:53 +03:00
Karrar
8795bf71f9 Fixed an issue causing NetworkBehaviour.OnInputSourceChanged to be invoked before OnConnectedToServer network event. 2024-08-14 02:30:02 +03:00
Karrar
4df683c5ad Removed OnClientSceneLoaded from NetworkEventsListener. 2024-08-09 15:18:48 +03:00
Karrar
5e581e503c Removed depreciated OnClientSceneLoaded network event. 2024-08-09 15:17:03 +03:00
Karrar
fd6781ea83 Fixed an issue with NetworkDictionary and NetworkHashSet causing them to override the memory of adjacent variables. 2024-08-08 18:18:48 +03:00
Karrar
f830bc3543 Fixed an issue with OnChangedData causing the retrieved previous value to not always be equal to the actual previous value of the variable. 2024-08-08 16:56:14 +03:00
Karrar
fbb5a2800f Fixed an issue causing the client to destroy all scene network objects when it finishes loading the scene before the server. 2024-08-08 15:45:41 +03:00