Commit Graph

5005 Commits

Author SHA1 Message Date
mischa
a2756af514
feature: RemoteStatistics tool (#3254) 2022-10-31 10:43:10 +01:00
vis2k
d26d12fb55 feature: CCU test demo 2022-10-31 09:23:26 +01:00
vis2k
68ab1816bb breaking: NetworkManager.serverTickRate renamed to sendRate because that's what it is 2022-10-31 09:15:19 +01:00
vis2k
723da0cecc fix: NetworkClient now only tries to broadcast every sendInterval. otherwise ClientToServer NetworkTransform components (which have syncInterval=0) would sync every single tick. prepare for NT V3 as well. 2022-10-30 18:54:50 +01:00
vis2k
3d3a542ddd comment 2022-10-30 18:53:57 +01:00
vis2k
b0f0c38592 script icons 2022-10-30 12:05:00 +01:00
vis2k
8039bcbda5 syntax 2022-10-27 19:17:42 +02:00
vis2k
c0ac491993 NetworkTransform: reorder code 2022-10-27 19:15:22 +02:00
vis2k
e473d154d9 fix: NetworkRigidbody now uses double time to keep precision over multiple days 2022-10-26 12:28:06 +02:00
vis2k
5abc261320 fix: NetworkLerpRigidbody now uses double time to keep precision over multiple days 2022-10-26 12:27:57 +02:00
vis2k
25d0e7929a fix: NetworkTransform now always sends at the same sendInterval as time interpolation. as configured in NetworkManager. 2022-10-26 12:17:49 +02:00
vis2k
8d3d623fac fix: NetworkManager now always applies the exposed NetworkServer.send/tickRate. fixes a bug where some NetworkBehaviours may try to send with NetworkServer.tickRate, which wouldn't be available on client because NetworkManager.StartServer was never called, so the rate was never set. 2022-10-26 11:28:40 +02:00
vis2k
485b65f18d perf: NetworkBehaviour.IsDirty: check bits before time 2022-10-25 19:05:10 +02:00
mischa
d05feed59e breaking: NetworkTransform.clientAuthority flag obsoleted. use SyncDirection instead. automatically sets syncDirection if still used. (#3250) 2022-10-25 11:53:12 +02:00
mischa
ca25956347
perf: breaking: NetworkTransformChild replaced by NetworkTransform with exposed .target. no more virtual property call. and no more redundant components which do the exact same thing. (#3249) 2022-10-25 11:44:24 +02:00
vis2k
79bb48bbf5 Compression: remove unnecessary inline 2022-10-24 12:49:35 +02:00
vis2k
1176494587 fix: NetworkClient.sendRate is now coupled to NetworkServer.sendRate in order to avoid snapshot interpolation errors where server & client may be on different send rates, components use the wrong rate to send vs. interpolate, etc. 2022-10-22 10:41:57 +02:00
vis2k
464bd365fe NetworkServer: sendRate comments improved 2022-10-22 10:37:20 +02:00
vis2k
b31eeb5a4f NetworkTransform: force syncDirection to follow the old clientAuthority state to make it obvious that there is only one source of truth 2022-10-22 10:26:31 +02:00
vis2k
dfd4d0b672 NetworkTransform: explain that sendInterval is coupled with time interpolation interval; use OnValidate to force syncInterval so it's more obvious in the Inspector 2022-10-22 10:16:43 +02:00
vis2k
38d94f36b1 NetworkTransform: always show OnGUI buffers. easier to debug issues if they aren't filled. 2022-10-21 19:34:23 +02:00
vis2k
8c09b936b9 syntax 2022-10-21 19:21:55 +02:00
mischa
d46e2eaf74 feature: NetworkBehaviour.SetDirty() to trigger custom OnSerialize without having to call SetSyncVarDirtyBit(1). prepares for NetworkTransform v3. (#3248)
* perf: SetSyncVarDirtyBit inlining

* feature: NetworkBehaviour.SetDirty() to trigger custom OnSerialize without having to call SetSyncVarDirtyBit(1).
prepares for NetworkTransform v3

* imer
2022-10-21 19:02:46 +02:00
vis2k
7c1fac9085 perf: SetSyncVarDirtyBit inlining 2022-10-21 19:02:41 +02:00
mischa
1b6768a691 feature: perf: NetworkConnectionToClient snapshot interpolated .remoteTimeline to simplify NetworkTransform (#3247)
* move fields to conn

* syntax

* split into time and value

* timeline moved to conn

* OnTimeSnapshot

* old

* NetworkClient sends TimeSnapshots

* server inserts

* update time interp from server

* buffer size limit moved too

* naming

* fix tests

* non public

* readonly

* comments
2022-10-21 19:02:36 +02:00
vis2k
c07c0797ec TimeSnapshot moved into it's own file 2022-10-21 12:42:59 +02:00
mischa
e0a91eeb3a
feature: SyncDirection (V2) to easily support client auth components without extra Rpcs/Cmds. previously OnSerialize was only server-to-client direction. (#3244)
* feature: SyncDirection to easily support client auth components without extra Rpcs/Cmds. previously OnSerialize was only server-to-client direction. (#3232)

* fix and test

* add test

* remove todo

* comments

* only serialize once

* simplify dirty checks

* syntax

* remove doulbe comments
2022-10-19 23:54:54 +02:00
vis2k
a1fbc55e8a Tests: syntax for easier debugging 2022-10-19 19:51:30 +02:00
vis2k
6f4c7cb805 feature: NetworkWriter.WriteBytes(byte*) unsafe version to prepare for BitTree delta compression 2022-10-19 19:39:08 +02:00
vis2k
76313cd30c Mirror.Components.asmdef: allow unsafe to prepare for NetworkTransform V3 2022-10-19 19:39:01 +02:00
vis2k
25a45a9ce8 Revert "Utils.RoundBitsToFullBytes from DOTSNET / Mirror II to prepare for manual per-field Delta Compression for NetworkTransform V3"
This reverts commit c7e3dc32d6.
2022-10-18 09:39:49 +02:00
vis2k
9c2444475c Tests: allow unsafe 2022-10-17 19:18:01 +02:00
vis2k
c7e3dc32d6 Utils.RoundBitsToFullBytes from DOTSNET / Mirror II to prepare for manual per-field Delta Compression for NetworkTransform V3 2022-10-17 18:41:14 +02:00
vis2k
d9aa7b152e Compression.ScaleToLong/Float to prepare for next NetworkTransform float<->long compression 2022-10-17 10:04:31 +02:00
vis2k
9d487b3a86 comment 2022-10-15 22:30:24 +02:00
vis2k
743e00bd20 SendTargetRpc: improve error messages 2022-10-15 20:42:43 +02:00
vis2k
ed0b7339eb assetId is now printed as decimal instead of hex, for consistency with Unity Inspector which also shows it as decimal. 2022-10-14 11:18:33 +02:00
vis2k
270be5f452 fix: #3234 assetId setter now allows overwriting an old assetId after duplicating a prefab.
the previous assetId Guid to int commit (4430001521) changed AssignAssetId() from modifying m_assetId to assetId.set directly, which introduced this bug.
2022-10-14 11:13:42 +02:00
vis2k
8006251382 NetworkIdentity.assetId.set: update explanation, copied the wrong one from Mirror II 2022-10-14 11:00:54 +02:00
vis2k
149d907823 syntax 2022-10-13 17:38:39 +02:00
vis2k
bf55c68d96 unnecessary 2022-10-13 17:27:41 +02:00
vis2k
9120de1016 comment 2022-10-13 13:46:52 +02:00
vis2k
e647df8fa3 feature: NetworkConnection.owned objects are now available on server AND on client 2022-10-13 13:29:06 +02:00
vis2k
6bb42e9e81 breaking: NetworkConnectionToServer.clientOwnedObjects renamed to .owned (simplify API) 2022-10-13 11:03:42 +02:00
vis2k
8cb64383fc add deprecated dates 2022-10-13 11:01:19 +02:00
mischa
a20bad57e5
breaking: .hasAuthority renamed to .isOwned because it's easier to understand, and to prepare for SyncDirection where there is a difference between: (#3231)
isOwned = is this one of the client connection's .owned entities?
authority = can we modify this component's state? depends on SyncDirection AND owned
2022-10-13 10:59:39 +02:00
vis2k
90028b43ea NetworkServer.sendInterval calculated separately so it's easier to change sendRate later 2022-10-13 10:49:07 +02:00
vis2k
1433bb7993 comment 2022-10-12 21:22:16 +02:00
vis2k
2bab435832 perf: NetworkIdentity.Serialize: only iterate if any dirty bit set, otherwise don't need to iterate again 2022-10-12 21:17:10 +02:00
vis2k
4127345f8a fix: Benchmark demo Spatial Hashing radius reduced from 200 to 30 so the monsters actually despawn when walking out of range in the demo 2022-10-12 21:14:55 +02:00