vis2k
a9e63724e3
remove old comment
2022-11-11 21:55:27 +01:00
vis2k
b04e8e681a
SetSyncObjectDirtyBit helper function
2022-11-11 21:07:05 +01:00
vis2k
41ef03fff5
OnStartLocalPlayer multiple calls workaround explained
2022-11-11 18:49:43 +01:00
vis2k
7e1a579ff2
OnStartLocalPlayer initialization moved to NetworkClient
2022-11-11 18:25:16 +01:00
vis2k
ce819e253a
OnStartClient initializations moved to NetworkClient
2022-11-11 18:19:04 +01:00
vis2k
8d7b3ec89b
NetworkClient.CheckForStartClient to prepare for OnStartClient cleanup
2022-11-11 18:18:37 +01:00
vis2k
0c116e29f2
perf: NetworkIdentity.observers is now always initialized. removes extra null checks everywhere.
2022-11-10 21:09:29 +01:00
vis2k
264a652abe
use explicit type
2022-11-10 20:49:45 +01:00
vis2k
940a467035
SendToReadyObservers: use explicit type
2022-11-10 20:47:12 +01:00
vis2k
5ffdd06602
OnStartServer isClient assignment moved to caller NetworkServer
2022-11-10 20:27:15 +01:00
vis2k
2c40b15a08
syntax
2022-11-10 20:27:01 +01:00
vis2k
75e7af1312
OnStartServer spawned assignment moved to NetworkServer caller
2022-11-10 20:26:56 +01:00
vis2k
c6df8f01d8
OnStartServer netId assignment moved to NetworkServer caller
2022-11-10 20:26:53 +01:00
vis2k
17d874fee8
OnStartServer netId != 0 check moved to NetworkServer caller
2022-11-10 20:26:49 +01:00
vis2k
e7abbaf531
OnStartServer isLocalPlayer initialization moved to NetworkServer caller
2022-11-10 20:26:34 +01:00
vis2k
f2b0f2bab2
OnStartServer isServer check + initialization moved to NetworkServer for cleaner code
2022-11-10 20:26:29 +01:00
vis2k
d79de6bf0c
fix : #3258 NetworkWriter.WriteString now ensures capacity before manually writing into the buffer
2022-11-10 10:57:13 +01:00
vis2k
53a9717334
fix: Unity 2020 support
2022-11-09 15:04:12 +01:00
vis2k
1dada3bb4b
MIRROR_2022_10_OR_NEWER
2022-11-09 10:55:50 +01:00
vis2k
3617ffac00
comment updated
2022-11-06 20:32:06 +01:00
vis2k
6315260286
syntax
2022-11-06 19:30:54 +01:00
vis2k
761b70e8e7
remove unused import
2022-11-03 16:16:39 +01:00
vis2k
d021c1a01e
TimeSample moved to Tools
2022-11-03 16:15:18 +01:00
vis2k
e6a65bc5b2
breaking: remove SyncVar<T> which was meant to replace [SyncVar]s implementation behind the scenes. this hasn't happened, so we don't actually need it.
2022-11-03 16:09:36 +01:00
vis2k
085ed1da81
NetworkBehaviourSyncVar moved into separate file to keep NetworkBehaviour.cs clean
2022-11-03 15:57:16 +01:00
vis2k
a62452c826
TODO
2022-11-03 15:54:44 +01:00
vis2k
18cc7a0558
Pool moved to Tools
2022-11-03 15:52:39 +01:00
vis2k
a8241e5794
Mathd moved to Tools
2022-11-03 15:52:32 +01:00
vis2k
32561576ec
Tools folder to distinguish between Unity integration and standalone algorithms
2022-11-03 15:50:28 +01:00
vis2k
395c447b02
feature: manual DeltaCompression to prepare for NetworkTransform V3
2022-11-01 17:34:41 +01:00
vis2k
9e352f5be2
Compression: ScaleToLong/Float Vector3Long variants to prepare for NetworkTransform V3
2022-11-01 17:34:10 +01:00
vis2k
701c16a307
feature: Vector3Long to prepare for NetworkTransform V3
2022-11-01 17:33:44 +01:00
MikiBordils
fb95c411ef
fix: NetworkDiscovery BroadcastAddress exposed for iOS support ( #3255 )
...
* exposing BroadCasting Address
iOS build prevents broadcasting to 0.0.0.0, so we needed to expose it to change it for our built
* Update NetworkDiscoveryBase.cs
Co-authored-by: mischa <16416509+vis2k@users.noreply.github.com>
2022-10-31 22:12:45 +01:00
vis2k
33e0bea844
CCU test demo: only sync on change
2022-10-31 10:46:34 +01:00
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
vis2k
e6886e8a84
fix: ensure Serialize writes nothing at all if not dirty and add test so it's never missed again(!).
...
fixes unchanged objects sending an unnecessary 1 byte dirty mask after recent dirtybits improvement.
2022-10-12 21:06:03 +02:00
vis2k
8ec99fa153
NetworkIdentity: ValidateComponents for use from initialize, serialize, deserialize all together
2022-10-12 12:33:25 +02:00
vis2k
227940e054
comment
2022-10-12 11:13:58 +02:00
vis2k
9dd04e2efa
fix: NetworkIdentity.MaxNetworkBehaviours and EnsureMax function so we have the same code in both places, where previously Serialize() still checked for 255 instead of 64
2022-10-12 11:08:12 +02:00
mischa
c179d233a1
fix: Unity 2019, 2020 support added again ( #3230 )
...
* fix: Examples/AdditiveLevels/Prefabs/Portal doesn't depend on TextMeshPro anymore (for 2019 compatibility)
* packages: removed unnecessary TextMeshPro (causes errors in Unity 2019)
* fix: NetworkReader byte[] constructor added again for 2019 support
* fix: NetworkReader byte[] SetBuffer added again for 2019 support
* fix: NetworkClient OnTimeSnapshotMessage: NetworkTime.localTime for 2019 support
* fix: NetworkServer NetworkLateUpdate: NetworkTime.localTime for 2019 support
* fix: Read/WriteGuid support for 2019
* fix: NetworkTransformBase: NetworkTime.localTime for 2019 support
* fix: Grid2D new hashSet constructor without capacity for 2019 support
* 2019
* this
2022-10-10 23:32:13 +08:00
vis2k
e7110d3015
TODO
2022-10-10 14:52:19 +02:00
vis2k
5efcd8f113
inlining
2022-10-10 10:56:16 +02:00
vis2k
2310c248c1
NetworkBehaviour.IsDirty: shorter
2022-10-10 10:56:05 +02:00
vis2k
76ea4369ba
NetworkClient: common Initialize() method for all connect functions
2022-10-10 10:37:37 +02:00
vis2k
fe6147dd4d
fix: NetworkClient ConnectHost now initializes time interpolation as well
2022-10-10 10:34:08 +02:00
mischa
88e4260252
perf: NetworkBehaviour.Serialize safety check reduced from 4 bytes length header to 1 byte length hash, while keeping error correction ( #3229 )
...
* wip
* self correction
* separate function
* test
2022-10-10 15:51:15 +08:00
mischa
b5ac61c7b2
perf: NetworkIdentity.Serialize bandwidth reduced from 1 byte per component index to (roughly) 1 bit per component ( #3228 )
...
* serialize with varint masks
* deserialize
* test
* fixfix
* redundant
* unused
* comment
* faster
* old
* comment
* comment
2022-10-10 15:50:28 +08:00
vis2k
01cd1041f6
update comment
2022-10-09 22:34:57 +02:00
vis2k
2a3e681e03
comment
2022-10-09 16:47:12 +02:00
vis2k
58a89a5d24
Tests: split VarInt and VarUInt tests
2022-10-09 15:25:52 +02:00
vis2k
16d5a7e6ed
naming
2022-10-09 15:12:01 +02:00