Commit Graph

7885 Commits

Author SHA1 Message Date
mischa
8164018483 perf: default send rate increased from 30 Hz to 60 Hz for users to get better initial results 2023-07-18 16:54:49 +08:00
mischa
82c09850da Tanks demo: increase send rate from 30 Hz to 120 Hz to avoid rtt being too high. reduces rtt from ~30 ms to ~8ms. 2023-07-18 16:52:22 +08:00
mischa
f6cf32ee8d Lag Compensation demo: fix warning 2023-07-18 16:10:58 +08:00
mischa
70c34ecf5d NetworkBehaviour.OnValidate: GetComponentInParent(bool) 2020 support (credits FakeByte) 2023-07-18 15:37:04 +08:00
mischa
27e2238d0b typo 2023-07-18 15:14:26 +08:00
mischa
8b6364bb76 NetworkIdentity: correct GetComponentInParent explanations (credit: FakeByte) 2023-07-18 14:49:26 +08:00
mischa
6d4e460f87 NetworkIdentity: expose AssetGuidToUint in builds 2023-07-18 14:44:17 +08:00
mischa
4ec80368f6 fix: NetworkBehaviour.OnValidate can't find parent NetworkIdentity because both the Unity define and GetComponentInParent() are broken in 2023.3 LTS. 2023-07-18 14:33:34 +08:00
mischa
0315fb3345 fix: Tanks demo: replace Turret obsolete NetworkTransform with NetworkTransformUnreliable component 2023-07-18 14:09:09 +08:00
mischa
fcd3a6b91b perf: remove some unnecessary inlining to optimize instruction cache 2023-07-18 13:24:02 +08:00
mischa
0862b9b99f NetworkIdentity: expose AssetId to Guid translation function 2023-07-10 12:53:28 +08:00
Robin Rolf
39211f9002
fix: 2019 tests work again (#3547) 2023-07-09 12:22:59 +08:00
mischa
629e50e4f9 fix: NetworkBehaviour OnValidate #ifdef adjusted for Unity 2020.3.19 support 2023-07-08 14:33:39 +08:00
mischa
f62b9a5a24 improve error message for #3525 for cases where the [SyncVar] is named 'value' 2023-07-06 20:03:01 +08:00
mischa
468192b046 fix NetworkIdentityTests by applying the workaround for #3525 2023-07-06 20:01:31 +08:00
mischa
acf67dddb0 fix: #3525 by explaining the solution in the Error message. 2023-07-06 19:59:16 +08:00
mischa
7c86f6a129 Re-enable the failing tests 2023-07-06 19:47:29 +08:00
mischa
69647f26a1 NetworkClient OnGUI: better rtt display 2023-07-06 17:11:20 +08:00
mischa
59e04f7902 breaking: NetworkTime.PingFrequency renamed to PingInterval. Makes it more obvious that we use it as interval, not as frequency in Hz. 2023-07-06 16:45:11 +08:00
mischa
d64c5fb61b fix PrepareToSpawnSceneObjects tests after recent fix 2023-07-06 16:45:03 +08:00
mischa
a463d48681 NetworkTime: more readable ping interval check 2023-07-06 16:33:08 +08:00
James Frowen
08fa0269de
fix: #3538 calling unspawn on scene objects in DestroyOwnedObjects (#3542)
* fix: calling unspawn on scene objects in DestroyOwnedObjects

fixes: https://github.com/MirrorNetworking/Mirror/issues/3538

* Update NetworkConnectionToClient.cs

---------

Co-authored-by: mischa <16416509+vis2k@users.noreply.github.com>
2023-07-06 09:59:28 +02:00
James Frowen
51c7162af7
fix: PrepareToSpawnSceneObjects checks netId instead of activeSelf [fixes: #3541] (#3543)
* fix: fixing PrepareToSpawnSceneObjects not added enabled objects

fixes: https://github.com/MirrorNetworking/Mirror/issues/3541

Should be safe to remove this extra check complete, it is safe to add spawned object to `spawnableObjects`. For now this just changes it to NetId to ensure that the object really is unspawned and not just enabled

* Update NetworkClient.cs

---------

Co-authored-by: mischa <16416509+vis2k@users.noreply.github.com>
2023-07-06 09:56:23 +02:00
mischa
110625b102
feature: Lag Compensation V1 (#3534)
* Lag Compensation Example based on Snapshot Interpolation example

* rename scene

* increase latency

* update scripts

* instructions

* better

* rename to rollback

* rename scene

* rebase

* rename to LagComp

* collider, onclick

* CmdClick

* flash color

* cleanup

* LagCompensationSettings

* caputre in interval

* comment

* syntax

* catpure, comp

* ns

* stuff

* source

* syntax

* naming

* history and draw history

* adjust

* cleanups

* tests

* sample and tests

* simplify tests

* out interpolation factor t

* tostring

* show result duration

* sample and interpolate

* fix

* logs

* better gizmos

* store size

* EstimateTime

* demo: estimate time

* estimation tests

* perf: Queue instead of List

* comment

* syntax

* cleaner

* cleanup

* syntax

* comment

* DrawGizmo(s)

* syntax

* extrapolation tests

* fix insert and test

* extrapolation

* fix extrapolation out values

* comments

* TODO

* TODO
2023-07-05 12:08:20 +02:00
MrGadget1024
43c87b4198 chore(CI): RunUnityTests - updated unityVersion 2023-07-03 20:11:31 -04:00
mischa
4972b8004a Tests: fix failing NetworkManagerTests because DeeplyTested test didn't register the GameObject for cleanup 2023-06-29 19:56:17 +08:00
mischa
13e07f5603 NetworkTime: rttVar renamed to rttVariance for consistency with old Mirror versions. makes it easier to upgrade. 2023-06-27 21:40:45 +08:00
mischa
37bbd7eb3d fix: SnapshotInterpolation.Insert() now has a bufferLimit to avoid ever growing snapshot buffers on extremely low-fps clients 2023-06-27 19:20:03 +08:00
mischa
60936f0646 perf: NetworkTransformBase SortedLists now allocate with a default capacity to avoid early resizing & allocations 2023-06-27 18:57:05 +08:00
MrGadget1024
020c514f9a chore(CI): RunUnityTests - updated unityVersion 2023-06-26 11:00:29 -04:00
mischa
2d628cb0f5 Readme updated: slight adjustments 2023-06-26 17:45:41 +08:00
mischa
c7a39451c5 Readme updated: clarify incentives, fix typos, improve formatting 2023-06-26 17:41:13 +08:00
mischa
1e56bc4271
Update README.md (#3527) 2023-06-26 06:02:09 +02:00
mischa
97313bd295
feature: ConnectionQuality Heuristic + Callback + GUI (#3526)
* ConnectionQuality.cs

* NetworkClient.ConnectionQuality with virtual NetworkManager calculation

* NetworkPingDisplay displays ConnectionQuality

* Tanks: adjust NetworkPingDisplay size

* NetworkManager: provide simple version too

* color coding

* extension

* virtual claculate

* on changed hook

* better heuristic

* syntax

* remove comment

* naming

* update in interval

* tweaking

* enable log

* naming

* color

* log message

* comment

* syntax

* explanations
2023-06-26 05:50:03 +02:00
mischa
deaf53a9bb NetworkTime: reintroduce Round Trip Time Variance to prepare for ConnectionQuality 2023-06-25 10:33:23 +08:00
mischa
db83a4cca2 NetworkClient: initialBufferTime for debugging, comparisons, and to prepare for ConnectionQuality 2023-06-25 10:27:14 +08:00
mischa
00f20bca2e Tanks demo: always show time interpolation GUI for easier debugging 2023-06-25 10:20:59 +08:00
mischa
c599fb616e fix: NetworkClient TimeInterpolation: add 'current' bufferTimeMultiplier field to not overwrite the initial SnapshotSettings.bufferTimeMultiplier. Allows us to reset bufferTimeMultiplier in InitTimeInterpolation and prepares for ConnectionQuality. 2023-06-25 10:03:08 +08:00
mischa
16efc7eedf Disable the failing tests for now, so at least the project compiles without Weaver errors 2023-06-24 20:35:26 +08:00
mischa
2b6212b088 fix: Weaver SyncVarAttributeAccessReplacer now detects modifying [SyncVar] in another assembly and logs an error, instead of silently failing at runtime (#3525) 2023-06-24 12:34:59 +08:00
mischa
6465ac5394 Weaver: SyncVarAccessReplacer: pass Logging 2023-06-24 12:34:59 +08:00
mischa
19065acb19 Weaver: SyncVarAccessReplacer: syntax & comments to make it more obvious 2023-06-24 12:34:59 +08:00
MrGadget1024
89f7d38005 chore(CI): RunUnityTests - updated unityVersion 2023-06-23 11:00:48 -04:00
MrGadget1024
4adcb94519 chore(CI): RunUnityTests - updated unityVersion 2023-06-23 10:53:07 -04:00
mischa
6fb0b33188
fix: Weaver now weaves NetworkBehavious in nested type definitions (#3524)
* test for deeply nested weaving

* fix
2023-06-23 14:11:34 +02:00
mischa
d5664ab202 feature: Weaver adds 'bool Weaved()' to each NetworkBehaviour, which can be checked at runtime #3523 2023-06-23 20:07:28 +08:00
mischa
1d7af1b750 Tests: remove unused 'using' 2023-06-23 10:01:41 +08:00
mischa
d1719c1e7b fix: tests work on Unity 2022.2+ [imer] 2023-06-22 23:48:26 +08:00
mischa
73c9990f03 comments 2023-06-20 19:58:46 +08:00
mischa
4d127ad370 naming 2023-06-20 19:58:46 +08:00