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
vis2k
822ecdaaba
syntax
2022-10-09 15:11:23 +02:00
vis2k
d2775e5d42
NetworkIdentity.DeserializeAll renamed to Deserialize, now that the other Deserialize method was moved to NetworkBehaviour
2022-10-09 14:03:36 +02:00
vis2k
482d5777d9
NetworkIdentity.SerializeAll renamed to Serialize, now that the other Serialize method was moved to NetworkBehaviour
2022-10-09 14:03:11 +02:00
vis2k
389726b011
NetworkIdentity.Deserialize(NetworkBehaviour) moved to NetworkBehaviour.Deserialize
2022-10-09 13:57:43 +02:00
vis2k
882b3a69b3
NetworkIdentity.Serialize(NetworkBehaviour) moved to NetworkBehaviour.Serialize
2022-10-09 13:56:46 +02:00
vis2k
10296e0586
syntax
2022-10-09 13:51:01 +02:00
vis2k
10e34488e2
NetworkIdentity: OnDeserializeAllSafely renamed to DeserializeAll
2022-10-09 13:45:56 +02:00
vis2k
41f60a5486
NetworkIdentity: OnSerializeAllSafely renamed to SerializeAll
2022-10-09 13:45:08 +02:00
vis2k
b292aebd08
NetworkIdentity: OnDeserializeSafely renamed to Deserialize
2022-10-09 13:42:22 +02:00
vis2k
deeddac185
NetworkIdentity: OnSerializeSafely renamed to Serialize
2022-10-09 13:42:02 +02:00
vis2k
22b3c71a6c
comment
2022-10-09 13:38:24 +02:00
vis2k
0745e44c5c
syntax
2022-10-09 13:20:57 +02:00
vis2k
3b78b87ee9
perf: all client NetworkTransforms now run on the same NetorkClient.timeline instead of each component computing its own
2022-10-09 10:45:27 +02:00
vis2k
47d5ecd776
fix: LatencySimulation now flushes properly. fixes barely any packets getting through even on 0 settings
2022-10-09 10:31:48 +02:00
vis2k
a6d055db51
syntax
2022-10-09 10:09:44 +02:00
vis2k
666d1d7df2
fix: LatencySimulation now uses Time.unscaledTimeAsDouble for long running server precision
2022-10-09 10:08:47 +02:00
vis2k
5a2962c27b
syntax
2022-10-09 10:06:37 +02:00
vis2k
f1f7b37288
NetworkManager: always show OnGUI because snapshot interpolation gui is useful in builds / for debugging as well
2022-10-09 10:04:38 +02:00
vis2k
b9bf63790f
breaking: perf: fix: NetworkTime from NetworkClient snapshot interpolation timeline.
...
-> fixes initial delayed NetworkTime jump after 1-2s from 1.. to 500... depending on how long server was running.
-> improves accuracy / precision of NetworkTime
-> prepares for NetworkTransform & NetworkTime being on the same timeline instead of each component calculating their own timeline separately
2022-10-09 08:40:01 +02:00
vis2k
7298de3929
feature: global NetworkClient snapshot interpolation timeline.
...
=> for usage as significantly better NetworkTime after
=> for usage in NetworkTransform after
2022-10-09 08:36:17 +02:00
vis2k
f5d1a55fdd
fix tests after recent commit
2022-10-08 08:58:09 +02:00
vis2k
1ebb4368dd
perf: NetworkServer: Broadcast() now only runs every tickInterval, even if Application.targetFrameRate isn't set in host mode.
...
previously a host may run at 120 Hz, and even with tickInterval set to 10 Hz, Broadcast() would run 120 times per second, checking every component's dirty bits + send interval.
note that the actual _send rate_ wasn't broken.
this change simply reduces the need to check for "has send rate elapsed?"
=> prepares for NetworkClient time snapshot interpolation, where time snapshots need to be sent only every sendInterval.
=> if host mode would send every update, this would be way too much.
2022-10-07 21:44:02 +02:00
vis2k
0f8553ff2f
feature: AccurateInterval from Mirror II to prepare for proper RemoteStatistics measurements & snapshot time interpolation, which requires accurate send interval even if .targetFrameRate can't be set (i.e. in host)
2022-10-07 21:20:38 +02:00
vis2k
9870705141
Header
2022-10-06 13:53:11 +02:00
vis2k
c940963779
breaking: NetworkServer.tickRate and .tickInterval, set from exposed NetworkManager.serverTickInterval.
...
prepares for NetworkClient time interpolation
2022-10-06 13:50:48 +02:00
vis2k
d72c769882
NetworkRoomManager: remove redundant maxConnections validation
2022-10-03 09:28:15 +02:00
vis2k
26144edc22
syntax
2022-10-03 09:27:49 +02:00
vis2k
b4149f2b94
syntax
2022-10-03 09:06:05 +02:00
vis2k
4fbbc0cbc1
NetworkManager: SetupClient() for consistency with SetupServer()
2022-10-03 08:51:50 +02:00
vis2k
d4b1239dc4
syntax
2022-09-28 11:57:02 +07:00
vis2k
7a7b5a0072
syntax
2022-09-28 11:50:54 +07:00
vis2k
02336b41b5
syntax
2022-09-28 11:34:18 +07:00
vis2k
b56b12ff54
partial classes
2022-09-28 11:33:52 +07:00
vis2k
7123a7925c
feature: Snapshot Interpolation split into time + value interpolation (backported from Mirror II) to allow for global time interpolation with local value interpolation, instead of interpolating everything locally per-component
2022-09-27 13:40:57 +07:00
vis2k
34acc450bd
syntax
2022-09-27 12:19:15 +07:00
vis2k
fcc6c31c7a
breaking: NTSnapshot renamed to TransformSnapshot
2022-09-27 12:19:08 +07:00
vis2k
6988853ee2
comment
2022-09-27 11:55:51 +07:00
vis2k
136b8d9956
feature: NetworkWriter implicit ArraySegment conversion for convenience.
...
also allows for implicit NetworkWriter to NetworkReader conversion.
2022-09-27 11:53:04 +07:00
vis2k
a84bf0769e
syntax
2022-09-27 11:49:59 +07:00
vis2k
2037b317c1
NetworkWriter.WriteBytes: rename parameter to avoid name collision
2022-09-25 13:56:30 +07:00
vis2k
618b7a6e16
NetworkWriterExtensions: removed static state by moving .encoding into each writer
2022-09-25 13:53:12 +07:00
vis2k
ab9a92388c
Tests: ReadString_InvalidUTF8
2022-09-25 13:53:12 +07:00
vis2k
2ce8ee72a8
NetworkReaderExtensions: removed static state by moving .encoding into each reader
2022-09-25 13:53:12 +07:00
vis2k
e97da2605c
feature: NetworkWriter.ToString in form of "[DD-CC-BB-AA-FF @ 5/1000]"
2022-09-25 13:26:58 +07:00
vis2k
61318d4c82
NetworkWriter.DefaultCapacity exposed
2022-09-25 13:26:53 +07:00
vis2k
3b8810f532
feature: NetworkWriter.Capacity
2022-09-25 13:24:08 +07:00
vis2k
606f147872
comment
2022-09-25 13:20:59 +07:00
vis2k
3664f26d65
Read<T>: error message improved
2022-09-25 13:19:44 +07:00
vis2k
df875a4bc1
syntax
2022-09-25 13:18:38 +07:00
vis2k
6fa5a65cd3
NetworkReader.ToString improved to be more readable: "[B2-C3-D4 @ 0/3]"
2022-09-25 13:18:04 +07:00
vis2k
27398721a2
Extensions: ArraySegment.ToHexString for convenience
2022-09-25 13:17:02 +07:00
vis2k
9525a4649d
NetworkReader.ReadBytesSegment: ensure count >= 0 & guarantee exception with test.
2022-09-25 13:09:54 +07:00
vis2k
44e56ae753
NetworkReader.ReadBytes: ensure count >= 0 & guarantee exception with test.
...
previously it did throw the same exception unintentionally in the Array.Copy call
2022-09-25 13:08:45 +07:00
vis2k
c64925f9f6
Tests cleanup
2022-09-25 13:04:06 +07:00
vis2k
78fb0b57ae
NetworkReader.ReadBytesSegment: use .Remaining
2022-09-25 13:00:57 +07:00
vis2k
98be66ec13
NetworkReader.ReadBytes: use .Remaining
2022-09-25 13:00:38 +07:00
vis2k
6e042ed2a8
NetworkReader.ReadBlittable: use .Remaining
2022-09-25 13:00:13 +07:00
vis2k
81e666af9e
NetworkReader: remove SetBuffer byte[] variant. implicit ArraySegment conversion is enough.
2022-09-25 12:48:09 +07:00
vis2k
0ffa971413
NetworkReader: remove byte[] constructor, implicit ArraySegment constructor is enough
2022-09-25 12:46:47 +07:00
vis2k
c9642dbbb2
NetworkReader.ReadArray: use .Remaining
2022-09-25 12:44:06 +07:00
vis2k
451cd26b47
syntax
2022-09-25 12:43:19 +07:00
vis2k
5fa5269a11
NetworkReader: more readable syntax
2022-09-25 12:43:12 +07:00
vis2k
d3ee9e325e
NetworkReader.Length renamed for Capacity (more obvious, similar to List.Capacity)
2022-09-25 12:43:03 +07:00
vis2k
ee6bbaa8ba
NetworkReader.Remaining uses buffer.Count directly
2022-09-25 12:40:12 +07:00
vis2k
e3c4bf5eba
syntax
2022-09-25 12:38:08 +07:00
vis2k
cf0b884c1f
MessagePacking renamed to NetworkMessages (it contains more network message code than just packing)
2022-09-25 12:21:38 +07:00
vis2k
8249508fa7
MessagePacking.Unpack renamed to PackId for consistency
2022-09-25 12:10:29 +07:00
vis2k
1baadc1dbe
syntax & comments
2022-09-25 12:08:13 +07:00
vis2k
458eeca0e8
syntax
2022-09-25 12:07:14 +07:00
vis2k
92a766af36
update comment
2022-09-25 12:06:16 +07:00
vis2k
4d5bf360ec
MessagePacking.GetId: remove unnecessary AND
2022-09-25 12:05:28 +07:00
vis2k
16c572cfc4
syntax
2022-09-25 12:05:17 +07:00
vis2k
13e6c77bad
MessagePacking.HeaderSize renamed to IdSize
2022-09-25 12:03:49 +07:00
vis2k
c97bf5a06a
syntax
2022-09-25 12:00:03 +07:00
vis2k
f24acb6372
Transport.activeTransport renamed to .active
2022-09-25 12:00:03 +07:00
vis2k
94345c94bf
Tests: Mathd
2022-09-25 11:50:56 +07:00
vis2k
dea63ba59e
syntax
2022-09-25 11:49:35 +07:00
vis2k
827a6d310c
syntax
2022-09-25 11:49:11 +07:00