Commit Graph

6419 Commits

Author SHA1 Message Date
mischa
4b632edc4c perf(PredictedRigidbody): OnReceivedState compares sqr magnitude 2024-03-27 23:07:36 +08:00
mischa
dba373b27d perf(PredictedRigidbody): revert syncing 'sleeping' because it cut benchmark performance in half (!) 2024-03-27 23:07:36 +08:00
MrGadget
fa64d7abc7 fix(RemoteStatistics): Changed default hotKey to backQuote
- Same as GUIConsole, and for the same reason (F11 is fullscreen in browser)
2024-03-26 08:17:05 -04:00
MrGadget
f15b9f3539 feat(SyncSet): Add individual Actions for operations
Deprecates Callback Action.
2024-03-24 12:01:17 -04:00
MrGadget
0fe29dcd9e style(SyncSetTest): code formatting 2024-03-24 10:18:58 -04:00
MrGadget
ee61745c4d fix(SyncSet): Clear after Callback
Allows users to iterate the set before it's wiped
2024-03-24 10:16:48 -04:00
MrGadget
527b754061 fix(SyncSet): Change Callback to Action 2024-03-24 10:10:29 -04:00
MrGadget
bed7e81555 style(SyncSetTest): code formatting 2024-03-24 10:07:49 -04:00
MrGadget
efae595453 chore(SyncSet): code formatting 2024-03-24 10:07:08 -04:00
mischa
717823f302 readme 2024-03-24 12:00:45 +08:00
mischa
d1f0f3098a Prediction Example: stacked predicted boxes 2024-03-24 11:59:32 +08:00
mischa
0fc617d2cb PredictedRigidbody: sync & show remote.sleeping to easier debug objects coming to rest 2024-03-24 11:58:33 +08:00
MrGadget
5e1c80255c
feat(SyncList): Add individual Actions for operations (#3794) 2024-03-23 14:54:38 -04:00
MrGadget
c69e13df2a style(SyncListTest): Formatting 2024-03-23 14:38:23 -04:00
MrGadget
f5c2336112 chore(:SyncListTest): Improved tests 2024-03-23 14:38:23 -04:00
MrGadget
7236447ef9 fix(SyncList): Clear after Callback
Allows users to iterate the list before it's wiped
2024-03-23 14:38:23 -04:00
MrGadget
f2b89867a0 fix(SyncList): Change Callback to Action 2024-03-23 14:38:23 -04:00
mischa
f2d43de036 fix: PredictedRigidbody now always teleports to corrections to avoid objects not being able to move to a corrected position if there's another object inbetween 2024-03-23 23:57:40 +08:00
MrGadget
a356ef7aa4 style(SyncList): formatting 2024-03-23 11:48:27 -04:00
mischa
48beaf597c PredictedRigidbody: virtual Awake 2024-03-23 23:43:19 +08:00
F_CIL
8420c3fc6c
Update comments for SyncVar (#3792)
The current comments for SyncVar is somewhat misleading. That is to say, it is mentioned in the comments that SyncVar can only be modified on the server side, and will be automatically synchronized to the client. But in fact, if syncDirection is set to ClientToServer, SyncVar should be modified on the client and automatically synchronized to the server and other clients. The same error exists in the comments of hook attribute
2024-03-23 18:58:42 +08:00
MrGadget
81238b69d1
feat(SyncDictionary): Add individual Actions for operations (#3791) 2024-03-23 10:44:52 +08:00
MrGadget
b59fa3511e
SyncDictionary: Add oldValue to AddOperation (#3790)
This is preparation for Actions coming in subsequent PR.
2024-03-22 12:49:01 +08:00
MrGadget
74a4f25a61
fix(SyncDictionary): Clear after Callback (#3789) 2024-03-22 11:02:54 +08:00
MrGadget
f7329f621c chore(SyncDictionaryTest): Improved tests 2024-03-21 10:53:42 -04:00
MrGadget
e83c127747 style(SyncDictionary): code formatting 2024-03-21 09:55:16 -04:00
mischa
d19f27a936 Billiards readme: link prediction article 2024-03-21 12:37:20 +08:00
mischa
6c6b3e49e0 Billiards (not predicted): add latency simulation and improve explanation 2024-03-21 12:14:03 +08:00
mischa
831e2c506c Predicted Billiards: fix pocket resets for latest prediction and update Readme to be ready for users! 2024-03-21 11:48:54 +08:00
mischa
3850756a5b Predicted Billiards: fix Rigidbody access for latest prediction 2024-03-20 21:31:07 +08:00
mischa
a39c557e13 Predicted Billiards: fix dragging with predicted Rigidbody 2024-03-20 21:26:29 +08:00
mischa
376ed53483 Predicted Billiards: fix ghost materials 2024-03-20 18:38:14 +08:00
mischa
ac87583df8 perf: Prediction.CorrectHistory removed O(N) insertion. adjusting successive values is enough. 2024-03-18 16:24:12 +08:00
mischa
a84b7863ac fix: Prediction.CorrectHistory now adjusts afterIndex after removals/insertions 2024-03-18 15:52:24 +08:00
mischa
af35e8678f Prediction: explain insertions complexity 2024-03-18 15:49:08 +08:00
MrGadget
dfa551239e fix(SimpleWeb.jslib): Locally Scope Runtime 2024-03-17 14:10:38 -04:00
MrGadget
36bac87b63 style(SimpleWeb.jslib): Code formatting 2024-03-17 14:09:51 -04:00
MrGadget
b062fe77ff fix(SimpleWeb): scope websocket locally instead of globally 2024-03-15 21:29:44 -04:00
Robin Rolf
80687d3b4c
fix(LobbyServiceCreateDialogue): Added warning about Edgegap Lobby Name bug (#3783) 2024-03-15 16:02:50 -04:00
Robin Rolf
9641842147
fix: Edgegap Lobby Create UI Tweaks (#3782)
* chore: Edgegap Lobby Create UI Tweaks

* 3 loading dots

* help urls
2024-03-15 13:19:50 -04:00
MrGadget
84cb7089bf EncryptionTransportInspector: Fixed button label 2024-03-15 11:44:36 -04:00
MrGadget
3ccf1c1ce5 fix(EdgegapLobbyKcpTransport): Fixed HelpURL 2024-03-15 11:16:52 -04:00
Robin Rolf
3a4f68dfcc
chore: old unity compat for PredictedRigidbody (#3781) 2024-03-15 22:12:20 +08:00
Robin Rolf
a23c5b75ad
feat: Edgegap Lobby Transport & Demo (#3780)
* feat: Edgegap Lobby Transport & Example

* Code Cleanup

* Rename data -> models

* Remove debug logs

* Log errors as OnClient/ServerError dont always log

* Only show joinable lobbies

* naming

* Transport help url

* old unity compat

* Unity 2020 compat as well

* Readme

* lobby name is required + correct placeholder

* Update lobby ui prefab too

* Lobby creation ui tweaks

* lobby url tooltip tweak

* Remove test lobby url
2024-03-15 14:09:04 +00:00
mischa
4d6ac92b62 Prediction: RingBuffer perf comments 2024-03-15 13:44:46 +08:00
mischa
52d00aa3e3 perf: PredictedRigidbody MoveTowardsCustom: only calculate distance factor once 2024-03-15 13:33:04 +08:00
mischa
e7e02c6662 perf: PredictedRigidbody MoveTowardsCustom 2024-03-15 13:21:11 +08:00
mischa
3daa3db8a4 perf: PredictedRigidbody smoothFollowThreshold squared caching 2024-03-15 12:55:09 +08:00
mischa
f532f0a283 PredictedRigidbody: update hard follow commented code 2024-03-15 12:32:42 +08:00
mischa
2a70862462 perf: PredictedRigidbody caches physics transform to use GetPositionAndRotation 2024-03-14 17:57:41 +08:00
mischa
0fc6688cea perf: PredictedRigidbody UpdateGhosting: only every few frames 2024-03-14 17:55:44 +08:00
mischa
be0efc9fb6 prediction benchmark updated 2024-03-14 15:37:59 +08:00
mischa
fde90897f3 perf: PredictedRigidbody RecordState only grabs count once 2024-03-14 15:30:28 +08:00
mischa
1c7cc41bbd perf: PredictedRigidbody state properties inlined 2024-03-14 15:30:25 +08:00
mischa
7f0a774968 perf: PredictedRigidbody RecordState only calls NetworkTime.time getter once 2024-03-14 15:30:22 +08:00
mischa
cbc67aecc0 perf: PredictedRigidbody FixedUpdate caches sqr computations 2024-03-14 15:29:52 +08:00
mischa
0781dd58c0 inlining 2024-03-14 15:29:33 +08:00
mischa
ce00db0943 perf: PredictedRigidbody caches IsMoving sqr computations 2024-03-14 15:29:30 +08:00
mischa
a4f42194cf perf: PredictedRigidbody syncs a blittable struct once instead of doing 5 separate reads/writes 2024-03-14 14:57:38 +08:00
mischa
fb1d2ee683 PredictedSyncData struct first step: same reads & writes 2024-03-14 14:57:38 +08:00
mischa
3e852d3cb3 perf: PredictedRigidbody doesn't log "Separating Physics" anymore 2024-03-14 14:57:38 +08:00
mischa
95881c02b5 perf: Prediction.Sample() removed SortedList foreach iteration allocations(!) 2024-03-14 14:57:38 +08:00
mischa
cd4715fc7c perf: PredictedRigidbody doesn't log hard correction when ahead anymore 2024-03-14 14:57:38 +08:00
mischa
59ef0e0cf3 PredictedRigidbody: syntax 2024-03-14 14:57:19 +08:00
mischa
949022e265 PredictedRigidbody: OnDeserialize parsing grouped together (syntax change) 2024-03-14 11:39:52 +08:00
mischa
f7a29718b9 Prediction: syntax 2024-03-13 19:33:43 +08:00
mischa
82737f58fa readme changed from .txt to .md for formatting 2024-03-13 17:19:48 +08:00
mischa
a88ec0e5c1 Examples: Prediction Benchmark with readme & current results 2024-03-13 17:18:21 +08:00
mischa
62bf067f0e PredictedRigidbody: make .predictedRigidbody accessible to other components! 2024-03-13 13:26:08 +08:00
MrGadget
a25b74565f fix(ILPostProcessorAssemblyResolver): Ignore Bee.BeeDriver
- There is now BeeDriver2, so using StartsWith
2024-03-12 12:22:14 -04:00
Robin Rolf
fafc10b639
fix: EdgegapKcp StopHost() null reference exception (#3779)
see https://github.com/MirrorNetworking/Mirror/issues/3708
2024-03-12 00:35:21 +08:00
mischa
65f33dee90 fix: #2503 Weaver Custom Read Write functions for Serialization not working over multiple assembly definitions 2024-03-08 15:20:23 +08:00
MrGadget
f10bc77195 SimpleWebTransport: moved overrides down 2024-03-07 07:57:22 -05:00
Robin Rolf
1a915ccde7
feat: SWT overrides Transport.IsEncrypted & EncryptionCipher (#3777)
TLS isn't technically correct, but there's no good way to get that info
2024-03-07 12:52:33 +08:00
Robin Rolf
bac0f77cd7
feat: EncryptionTransport overrides IsEncrypted & Cipher (#3776) 2024-03-07 12:51:42 +08:00
mischa
d558c17815 feat(Transport): IsEncrypted, EncryptionCipher virtuals 2024-03-07 12:10:36 +08:00
mischa
421804378b fix: NetworkServer.OnCommandMessage NullReferenceException due to log message accessing a guaranteed-to-be-null value 2024-03-07 11:47:51 +08:00
mischa
9e15f2423d fix: NetworkServer.Destroy now warns instead of throwing for null objects again 2024-03-06 11:20:56 +08:00
Robin Rolf
9b2a6a3023
chore: EncryptionTransport help url (#3774) 2024-03-05 17:20:15 -05:00
MrGadget
e59e370f4f Removed empty folder meta 2024-03-05 16:44:13 -05:00
MrGadget
9b103d5370 breaking: Asset Store Release
BREAKING CHANGE: Asset Store Release
2024-03-05 12:44:01 -05:00
Robin Rolf
dac1f6406f
fix: EncryptionTransport uses KDF to ensure fixed size key (#3773)
* reset _time

* fix: EncryptionTransport use KDF to ensure fixed size key

* Expose pub key through transport

* Old Unity compat
2024-03-05 12:13:09 -05:00
Robin Rolf
5482e60ff0
feat: EncryptionTransport (#3768)
* initial working transport

* code cleanup & transport wrap tests

* better connection tests

* Handle bouncycastle exceptions

* clean up usings

* Mirror icon :)

* list to allow for removing entries during loop

* Profiler sampling

* Unity 2019 compat

* code style

* pubkey validation

* use builtin aes engine selector

this is overly optimistic, as the hardware accelerated engine is only available on .net core 3 or higher

* Older unity version fix
2024-03-05 08:51:34 -05:00
mischa
a87e65c2c7 MIRROR_88_OR_NEWER 2024-03-05 20:26:49 +08:00
mischa
8344063563 fix: NetworkServer.Spawn now activates inactive GameObjects (for example, in case they were previously Unspawned) 2024-03-05 11:56:47 +01:00
mischa
dbc3887529
fix: NetworkServer.Destroy never destroys scene objects anymore since unlike prefabs, once they are gone we can never instantiate them again (#3771) 2024-03-03 17:56:39 +08:00
mischa
6b526d754f refactor: NetworkServer DestroyObject(DestroyMode) logic moved to Unspawn() + Destroy to remove the DestroyMode parameter 2024-03-02 18:11:39 +08:00
mischa
f7d47ef8b7 LagCompensator: preview notice 2024-02-26 08:56:43 +01:00
mischa
6b21de516d LagCompensator: rename collider field to be more obvious in Inspector 2024-02-25 12:49:34 +01:00
mischa
9081b2e3d2 feat: LagCompensator as convenience component that wraps all the Lag Compensation logic 2024-02-24 16:50:33 +01:00
mischa
8dc4b616c4 fix(Prediction): disable setting scale for joints since it causes issues with parenting 2024-02-22 08:47:25 +01:00
MrGadget
490dea82ab
fix: Safer version for FindAnyObjectByType (#3765)
Unity docs are a mess on when FindAnyObjectByType was implemented:
- 2021.3 says it is
- 2022.1 says it's not
- 2022.2 says it is
2024-02-16 17:22:59 +01:00
mischa
2ed1d7329c fix(Prediction): ConfigurableJoints' range of motion is now moved correctly 2024-02-16 11:22:06 +01:00
mischa
78cdaef9c4 fix(PredictedRigidbody): reduce-send-rate considers angular velocity now too! 2024-02-14 19:45:28 +01:00
mischa
41a6591f8a Prediction: sync delta rotations too [FakeByte] 2024-02-14 11:02:08 +01:00
mischa
beea27275f Prediction: only set velocity if not kinematic 2024-02-14 11:01:03 +01:00
mischa
3960d5beaa Prediction: better motion smoothing time 2024-02-14 11:00:40 +01:00
mischa
1532c46557 Prediction: sync angularVelocity too 2024-02-14 11:00:26 +01:00
mischa
2f9d60be48 perf(Prediction): ghosts-on-demand(!) 2024-02-11 17:07:54 +01:00
MrGadget
946716b29a CanvasNetworkManagerHUD: fixed indent 2024-02-10 07:28:03 -05:00
mischa
3354363eae PredictedRigidbody: add OnBeforeApplyState callback 2024-02-09 17:46:22 +01:00
MrGadget
157bf67a86
feat(NetworkRigidbody): Default Sync Direction = Client To Server (#3764)
- This is done in Reset so Network Behaviour isn't effected.
- This will not change components already in place on objects / prefabs unless user manually chooses Reset in the inspector.
2024-02-09 09:47:23 +01:00
MrGadget
fab87866f3 fix(SWT): Improved logging in ClientHandshake
- Added hint to check Server Roles for handshake key mismatches
2024-02-08 10:32:54 -05:00
MrGadget
1d5c8b6f87 feat(NetworkAnimator): Default Sync Direction = Client To Server
- This is done in Reset so Network Behaviour isn't effected.
- This will not change NA components already in place on objects / prefabs unless user manually chooses Reset in the inspector.
2024-02-07 17:40:16 -05:00
Robin Rolf
146a49eb09
breaking: perf: change NB.syncVarDirtyBits to field (#3762)
@miwarnec saw the property showing up while profiling. Very much unnecessary, so lets change that to a field.
BREAKING: Changed NetworkBehaviour.syncVarDirtyBits from a "get-only" property to a field
2024-02-07 18:04:36 +01:00
mischa
1bd84f06d1 perf(PredictedRigidbody): OnSerialize faster 2024-02-05 20:59:55 +01:00
mischa
8e21a2101c fix(PredictedRigidbody): fix host mode [FakeByte] 2024-02-05 09:10:48 +01:00
mischa
0556eb2e57 fix(PredictedRigidbody): only show 'hard correcting because too old' warning if older than entire state history limit. not when starting to record only 2-3 entries yet. 2024-02-05 09:07:36 +01:00
mischa
fcea3ce9d4 Prediction: expose physics copy components to inheriting classes 2024-02-02 09:07:31 +01:00
mischa
d00af697bb perf(PredictedRigidbody): reduce sends to 1 Hz while idle(!) 2024-02-02 09:00:55 +01:00
mischa
6b44b2a407 perf(PredictedRigidbody): only record state if changed(!) 2024-02-02 08:30:23 +01:00
MrGadget
54110660ac
fix(NetworkManager): FinishStartHost-Don't force localhost (#3759) 2024-02-01 18:06:28 +01:00
JesusLuvsYooh
fbd64dfb79
feat: NT-UR bit flag changed detection to lower bandwidth usage. (#3721)
* feat: NT-UR bit flag changed detection to lower bandwidth usage.

Also major credits to our Ninja.

* Tooltip updated

* fix: NT-Unreliable Quaternion Compression Fix

Credits to ninja of course :D

* NT-U new improvements

Credits to Ninja

* Nothing to see here..

* Added comment to Quat Rotation Fix

* Sensitivity check to improve value comparisons.

Without this, X 0 and X -4.955753E-07 (0) would trigger as a change of value.
Helps epsilon/floating point inaccuracies.

* Moved around checks.

rotationChanged not needed now for non-compressed bool, as we check individual rotation sensitivity changes.
We can move this inside quat compress check.

* Use Rot/All, not just RotX as a compress changed flag.

* Set Just Rot.

* Updated Reset to ResetState

* Fixing PR 3571/3572/3572 in this new bitflag branch

---------

Co-authored-by: ninjakickja <80569286+ninjakickja@users.noreply.github.com>
2024-02-01 11:04:23 -05:00
MrGadget
3e0a6ae64e SyncDictionary: Fixed typo in comment 2024-02-01 06:32:28 -05:00
James Frowen
188a41073f
fix(NetworkClient): Call NetworkTime.SendPing from OnTransportConnected (#3686)
* fix: fixing time not being sent on connect

client does not send ping if connecting to server within 2 seconds of starting, the new PingNow function will tell client to send the message right away instead of after lastPingTime+PingInterval

* Update Assets/Mirror/Core/NetworkTime.cs

* Update Assets/Mirror/Core/NetworkTime.cs

* Update Assets/Mirror/Core/NetworkClient.cs

* Update Assets/Mirror/Core/NetworkTime.cs

---------

Co-authored-by: MrGadget <9826063+MrGadget1024@users.noreply.github.com>
2024-02-01 06:21:15 -05:00
MrGadget
fe32a0569f NetworkTime: SendPing method added. 2024-02-01 06:14:22 -05:00
mischa
d304ada178 Prediction: warn about not readable meshes 2024-01-31 22:02:04 +01:00
MrGadget
4ca0583d2c NetworkManager: fixed comment 2024-01-30 06:07:51 -05:00
MrGadget
72f085c9a7
fix(MultiplexTransport): Use TryGetValue for Lookups (#3758) 2024-01-30 04:42:44 -05:00
mischa
6b915f3517 fix typos 2024-01-30 08:48:59 +01:00
MrGadget
4ecf28d6ab KcpTransport: fixed ToString to match other transports 2024-01-29 21:38:29 -05:00
MrGadget
3ed770ac45 fix(MultiplexTransport): Fixed log output 2024-01-29 21:34:47 -05:00
mischa
1f123b783c ThreadLog: more obvious prefix! 2024-01-29 23:54:42 +01:00
Robin Rolf
dd7337c84f
perf(Extensions): Add shim for transform.GetPositionAndRotation (#3755)
Doesn't exist in unity versions 2021.2 or earlier
2024-01-29 12:49:31 -05:00
mischa
158c5971bb perf(PredictedRigidbody): next round of optimizations 2024-01-29 12:05:14 +01:00
MrGadget
c5aa7d5808 fix(MultiplexTransport): Better Startup Logging 2024-01-29 04:51:28 -05:00
mischa
2b92ac7674 perf(Prediction): optimize ghosts. deep profiling: 93 objects before=0.08ms after =0.03ms! 2024-01-28 12:41:13 +01:00
mischa
1899539e03 perf(Prediction): optimize LateUpdate because this shows in profiler! deep profiling: 93 objects, before=0.54ms, after=0.22ms => 2.5x faster! 2024-01-28 12:29:18 +01:00
mischa
f926514a6e perf(Prediction): cache .transform getter because this is performance critical 2024-01-28 12:29:18 +01:00
mischa
5e56b96f43 syntax 2024-01-28 12:29:18 +01:00
mischa
44338c5551 Prediction: rename DestroyCopies to DestroyGhosts for consistency 2024-01-28 12:29:18 +01:00
Justin Nolan
24c0c9ed3f
Add network mesages to lookup dict in network client replace handler (#3754) 2024-01-28 11:09:47 +01:00
Justin Nolan
1c365fc3d5
Add network messages to lookup dict in network server replace handler (#3753) 2024-01-28 11:09:35 +01:00
mischa
2c603fd406 PredictedRigidbody: improve logging 2024-01-27 11:47:34 +01:00
mischa
86805e82d2 Edgegap Hosting: updated to latest version for fixes and Websocket support 2024-01-27 10:56:42 +01:00
MrGadget
7a2cae3cfd NetworkBehaviour: Improved comments 2024-01-26 02:02:53 -05:00
MrGadget
061e49acca PredictionUtils: Fixed pre-Unity 2020.3 errors 2024-01-25 09:50:46 -05:00
MrGadget
5616f8c5a0 PredictionUtils: Fixed pre-Unity 2022.3 errors 2024-01-25 09:35:02 -05:00
MrGadget
41d12e67c3
perf(Team Interest Mgmt): Complete Overhaul (#3730)
* WIP

* perf(Team Interest Mgmt) Use Dictionary instead of spawned
This is better than iterating all spawned objects and doing TryGetComponent in Update.

* TeamIntMgmt WIP

* NetworkTeam SerializeField, no SyncVar

* Fixed Tooltip

* Removed SyncVar on forceShown

* Fixed issues per review

* Fixed comments and naming

* Remove ReadOnly
2024-01-25 14:23:13 +01:00
mischa
1e62b2450a Prediction: add support for predicted objects which are children of parents with non-default scale 2024-01-25 12:22:12 +01:00
mischa
957e5c3283 Prediction: support all Joints 2024-01-25 12:01:19 +01:00
MrGadget
66df601b78
feat(SyncVar): Arrays are supported (#3750)
* feat(SyncVar): Arrays are supported

* Moved and revised SyncVarsCantBeArray test
- Now named SyncVarsCanBeArray
- thisShouldntWork renamed to thisShouldWork
2024-01-25 11:10:06 +01:00
mischa
9f8c801795 Prediction: collider materials are now copied too 2024-01-24 14:49:37 +01:00
mischa
42dffbe898 Prediction: comments 2024-01-24 14:49:34 +01:00
mischa
8564e88d97 Prediction: MovePhysicsComponents helper function 2024-01-24 14:40:01 +01:00
mischa
ea13dc67f9 Prediction: move GameObject/MonoBehaviour copying code into PredicitonUtils.cs 2024-01-24 14:38:44 +01:00
mischa
84fec3d286 oops 2024-01-24 13:36:14 +01:00
mischa
38129b7696 fix(Prediction): child colliders now have the correct layer too 2024-01-24 13:34:55 +01:00
mischa
3c3c5c56fd fix(Prediction): when copying child Colliders, copy their relative position/rotation/scale too 2024-01-24 12:48:17 +01:00
mischa
a26d5f0e60 comments 2024-01-24 12:19:39 +01:00
mischa
0e75e3153f Prediction: now supports colliders on children 2024-01-24 11:40:49 +01:00
mischa
c87c74bce1 fix(Prediction): now supports interest management by moving physics copy's components back onto self before destroying the physics copy 2024-01-23 11:30:07 +01:00
mischa
eb96b6155e Prediction: MoveAllColliders helper for reuse 2024-01-23 11:26:43 +01:00
mischa
2c65404cf3 Prediction: make Move.* functions static for reuse later 2024-01-23 11:26:43 +01:00
mischa
bf771e283c fix(Prediction): fix MoveColliders not copying isTrigger 2024-01-23 11:26:43 +01:00
mischa
b11a13795b Prediction: catch errors early 2024-01-23 10:26:56 +01:00
mischa
59ec51600a Prediction: catch errors 2024-01-23 10:26:07 +01:00
mischa
4e8890967d Prediction: fix wrong null check 2024-01-23 10:21:26 +01:00
mischa
d4f55d8761 Prediction: disable log spam 2024-01-23 10:13:48 +01:00
MrGadget
537bc3faad
fix(MirrorBenchmarkIdle): Spawn Amount Correction 2024-01-22 15:28:26 -05:00
mischa
673500b226 Prediction: physics copy now has the correct layer assigned to fix predicted objects falling through the ground in games which use custom physics collision matrix 2024-01-22 12:49:39 +01:00
MrGadget
3e254f9ef9
breaking(NetworkIdentity): Rename visible to visibility (#3748)
* breaking(NetworkIdentity): Rename visible to visibility

* Remove TODO comment
2024-01-22 12:25:40 +01:00
MrGadget
50d0008d03
feat(NetworkClient): Add ReplaceHandler with channel param (#3747)
* breaking(NetworkClient): Remove NetworkConnection parameter from ReplaceHandler
There is only one connection on client.
Aligns with RegisterHandler that takes no NetworkConnection parameter.

* feat(NetworkClient): Add ReplaceHandler with channel param
2024-01-22 10:45:32 +01:00
MrGadget
4c0d979d4d fix(Room Example): Updated Reward Script
- Added Headers
- made `available` private with ReadOnly
2024-01-21 16:18:56 -05:00
JesusLuvsYooh
b69b5ae604
perf(BenchmarkIdle Example): Lowered spawn amount to 10k (#3745)
50k causes a long delay, and looks like Unity has initially frozen, even on beefy machines.
To prevent users from thinking this, and perhaps force closing, amount is lowered to something still crazy, but more reasonable. :)
- Nothing else has been touched
2024-01-21 10:02:42 -05:00
Justin Nolan
d97739df71
Add missing replace handler override to NetworkServer (#3744) 2024-01-21 14:55:37 +01:00
mischa
ac344fd9d1 Prediction: detect renderers in children 2024-01-21 12:28:33 +01:00
MrGadget
258a84c066
feat(NetworkTransform): Default Sync Direction = Client To Server (#3741)
* feat(NetworkTransform): Default Sync Direction = Client To Server
- This is done in Reset so Network Behaviour isn't effected.
- This will not change NT components already in place on objects / prefabs unless user manually chooses Reset in the inspector.

* Update Assets/Mirror/Components/NetworkTransform/NetworkTransformBase.cs

---------

Co-authored-by: mischa <16416509+miwarnec@users.noreply.github.com>
2024-01-20 10:47:41 +01:00
MrGadget
e10ab75bf5
fix(InterestManagement): Separate ResetState (#3743)
* fix(InterestManagement): Separate ResetState
We should not have hijacked Unity's callback for runtime resets.

* Updated Template
2024-01-20 10:46:29 +01:00
MrGadget
dd1a457f71
fix(NetworkIdentity): Separate ResetState (#3742)
* fix(NetworkTransform): Separate ResetState
We should not have hijacked Unity's callback for runtime resets.

* Rename test too
2024-01-20 10:46:13 +01:00
MrGadget
87979aeb38 fix: Updated Network Transform Template 2024-01-19 14:30:05 -05:00
MrGadget
b885db3703
fix(NetworkTransform): Separate ResetState (#3738)
We should not have hijacked Unity's callback for runtime resets.
2024-01-19 18:23:35 +01:00
MrGadget
ac050a804d
fix(NetworkServerTest): Updated tests (#3739)
- Expect Errors from PR #3737
2024-01-19 09:39:05 -05:00
MrGadget
e1a1f49d0c
fix: NetworkServer and NetworkClient respect exceptionDisconnect (#3737)
Throws error for disconnect, warning otherwise.
2024-01-19 11:07:33 +01:00
mischa
1791d29da2 Prediction: force syncInterval=0 for now to reduce risks of projects misconfiguring this 2024-01-15 21:13:20 +01:00
mischa
98061c0f59 Prediction: increase default snap threshold from 0.5 to 2.0 to reduce jitter/fighting at 500ms RTT before objects are coming to rest 2024-01-15 15:46:41 +01:00
mischa
552ea5a6b1 Prediction: snapping now inserts the snapped state into history for more accurate corrections afterward 2024-01-15 10:45:31 +01:00
mischa
3719b25d3d Prediction: snapping now applies velocity. fixes stop-start-stop effect for final slow movements 2024-01-15 10:45:31 +01:00
MrGadget
f963f0eb9e fix(NetworkMatch): Added read only display of MatchID 2024-01-14 08:54:57 -05:00
mischa
0cb96901b8 Prediction: add server state ghost too 2024-01-14 13:39:29 +01:00
mischa
d3f916fc25 Prediction: inverse control flow where instead of separating renderers, we separate physics 2024-01-14 11:18:40 +01:00
mischa
ea136ee265 Prediction: recordInterval option 2024-01-14 10:15:33 +01:00
MrGadget
4e5e7a18c4 fix(NetworkAnimator): Added gameObject to Debug.LogWarnings 2024-01-13 16:27:49 -05:00
MrGadget
82a96a28f0 style(Attributes): removed space 2024-01-13 16:24:27 -05:00
mischa
832eb79876 Prediction: remove preview warning 2024-01-12 12:09:36 +01:00
mischa
7ec272f733 NetworkIdentity: make clientStarted internal, this doesn't need to be in the user facing API 2024-01-12 10:46:28 +01:00
mischa
7fae26ff6f PredictedRigidbody: add user callbacks 2024-01-11 19:45:28 +01:00
mischa
4dde5bf7d8 PredictedRigidbody: remove 'preview' warning! 2024-01-11 14:28:40 +01:00
mischa
10e7d716a7 PredictedRigidbody: now corrects rotations (hard, without deltas for now) 2024-01-11 14:23:59 +01:00
mischa
92444bfcb3 PredictedState: add quaternion requirements 2024-01-11 14:23:02 +01:00
mischa
0cb3568bb1 PredictedRigidbody: correctionThreshold renamed to positionCorrectionThreshold for clarity 2024-01-11 13:43:00 +01:00
mischa
8de65b5ae3 syntax 2024-01-11 13:42:51 +01:00
mischa
79c4298db9 Prediction: InsertCorrection moved into CorrectHistory, with complete step by step test coverage for the algorithm 2024-01-11 13:07:15 +01:00
mischa
383aff2698 fix(Prediction): revert to previous Sample() implementation, but with manual 'afterIndex' counting to fix failing test 2024-01-11 11:52:14 +01:00
mischa
e441ddb88d Predicton: update comment 2024-01-11 11:32:21 +01:00
MrGadget
d5bbfee793 fix(NetworkAnimator): Enable -> OnEnable 2024-01-10 15:06:22 -05:00
mischa
d525be9670 perf(Prediction): CorrectHistory now starts at the 'afterIndex' from Sampling. replaces two full iterations with two half = one full iteration 2024-01-10 15:56:03 +01:00
mischa
b1419db4f4 Prediction: Sample() now returns 'afterIndex' to reuse in the other iteration later 2024-01-10 15:56:01 +01:00
mischa
8473eff1ff Prediction.CorrectHistory: reuse 'key'. same but cleaner. 2024-01-10 15:41:33 +01:00
mischa
0fd342e6a9 Prediction: CompareState renamed to OnReceivedState 2024-01-10 15:39:53 +01:00
mischa
eab82ee465 Prediction: simplify CorrectHistory by moving InsertCorrection into CompareState 2024-01-10 15:38:52 +01:00
mischa
e06fcd5535 Prediction: call ApplyState directly; move ApplyCorrection into Compare state. prepares for more improvements later. 2024-01-10 15:36:11 +01:00
mischa
9aadcbf442 syntax 2024-01-10 15:25:29 +01:00
mischa
13aa0c2e6b Prediction: syntax 2024-01-10 14:36:44 +01:00
mischa
157a86fa7b Prediction: simplify CompareState. detect edge cases early instead of late to prepare for more refactoring 2024-01-10 14:34:18 +01:00
MrGadget
9b9b9cc400
fix(NetworkServer): Improve Warnings (#3727)
* fix(NetworkServer): Improve Warnings
- Attempt to dig up the Object, component, and method name to make debugging easier
- Changes identity to identity.name so the object name is logged correctly.

* Update Assets/Mirror/Core/NetworkServer.cs

Co-authored-by: mischa <16416509+miwarnec@users.noreply.github.com>

* Update Assets/Mirror/Core/NetworkServer.cs

Co-authored-by: mischa <16416509+miwarnec@users.noreply.github.com>

* Use GetFunctionMethodName

* cleanup

---------

Co-authored-by: mischa <16416509+miwarnec@users.noreply.github.com>
2024-01-10 13:46:48 +01:00
MrGadget1024
ac72d3670d fix(NetworkServer): Log message cleanup 2024-01-10 07:24:26 -05:00
MrGadget
d86d297c26
feat(RemoteProcedureCalls): Added GetFunctionMethodName (#3732)
* fix(Weaver): Move InvokeRpcPrefix from Weaver to RemoteProcedureCalls

* feat(RemoteProcedureCalls): Added GetFunctionMethodName
2024-01-10 13:17:44 +01:00
MrGadget
110580a454
fix(Weaver): Move InvokeRpcPrefix from Weaver to RemoteProcedureCalls (#3731) 2024-01-10 13:16:49 +01:00
mischa
849dd94ce7 Tests: Prediction.Sample() 2024-01-10 11:51:22 +01:00
mischa
b3e102e4fd perf(PredictedRigidbody): comparing idle objects now skips recording state (= inserting into tree structure) as well 2024-01-10 10:27:27 +01:00
MrGadget
6e0c4a66d8
fix(NetworkManager): Prevent client from calling ServerChangeScene (#3729)
- Throws error if server isn't active
- allows for changing to offline scene regardless
2024-01-10 10:16:47 +01:00
MrGadget1024
6445547aef fix(SyncVarAttributeAccessReplacer): Corrected error log message
- assembly identifiers were reveresed.
- also improved phrasing
2024-01-10 04:09:15 -05:00
MrGadget1024
8543f1f37d fix(NetworkIdentity): Improved DisallowChildNetworkIdentities Error Logging
References the offending object so it gets highlighted in the Editor when the error is clicked.
2024-01-09 19:43:48 -05:00
MrGadget1024
28b1e8b374 fix(NetworkBehaviour): Improved OnValidate Error Logging
References the offending object so it gets highlighted in the Editor when the error is clicked.
2024-01-09 19:43:17 -05:00
mischa
24513562a4 perf(PredictedRigidbody) make CompareState O(1) for idle objects by comparing last first 2024-01-09 12:47:50 +01:00
mischa
a295d7d330 PredictedRigidbody: cleaner 'remember last' approach that allows for reuse elsewhere 2024-01-09 12:47:50 +01:00
mischa
f05623526c PredictedRigidbody: explain the concept 2024-01-09 12:47:50 +01:00
JesusLuvsYooh
dd950018dc
fix: NT-Unreliable Quaternion Compression Fix (#3725)
* fix: NT-Unreliable Quaternion Compression Fix

Credits to ninja of course :D

* Client using server snapshots fix.

* Nothing to see here..

* Added comment to Quat Rotation Fix
2024-01-09 11:37:47 +01:00
mischa
c6741061d9 Prediction: explain SortedList 2024-01-08 19:41:05 +01:00
mischa
b0933a1d07 remove TODO 2024-01-08 18:01:53 +01:00
mischa
587a5fe92a perf(Prediction): replace O(logN) binary search with O(1) in RecordState 2024-01-08 18:01:36 +01:00
mischa
609c3e1e41 Prediction: RigidbodyState moved to separate file 2024-01-08 17:48:14 +01:00
mischa
10b3b234a4 Prediction: CorrectHistory moved into Prediction.cs for easier unit testing 2024-01-08 17:42:53 +01:00
mischa
8225f97d5d Prediction: move Debug.DrawLine before the recalculations 2024-01-08 17:42:50 +01:00
mischa
f51af69499 Prediction: move snapping above insertion because insertion would've been useless if snapped 2024-01-08 17:42:48 +01:00
mischa
19a47e67b2 Prediction: disable correction message logging 2024-01-08 17:07:28 +01:00
mischa
011ce5a331 comments 2024-01-08 11:56:07 +01:00
mischa
a843232a86 adjust defaults 2024-01-08 11:43:04 +01:00
mischa
ba16e2f949 fix(PredictedRigidbody): now snaps into place below a velocity threshold to fix dancing rigidbodies near rest position due to prediction fighting with corrections 2024-01-08 11:34:50 +01:00
MrGadget
e32914969f
feat(NetworkClient): Add RegisterHandler with ChannelId (#3728)
- Same as NetworkServer...allows NetworkMessage handlers to have a channelId param

This is NetworkServer's version:
```cs
public static void RegisterHandler<T>(Action<NetworkConnectionToClient, T, int> handler, bool requireAuthentication = true)
    where T : struct, NetworkMessage
{
    ushort msgType = NetworkMessageId<T>.Id;
    if (handlers.ContainsKey(msgType))
    {
        Debug.LogWarning($"NetworkServer.RegisterHandler replacing handler for {typeof(T).FullName}, id={msgType}. If replacement is intentional, use ReplaceHandler instead to avoid this warning.");
    }

    // register Id <> Type in lookup for debugging.
    NetworkMessages.Lookup[msgType] = typeof(T);

    handlers[msgType] = NetworkMessages.WrapHandler(handler, requireAuthentication, exceptionsDisconnect);
}
```
2024-01-08 10:37:47 +01:00
MrGadget
1299676d79
fix(Multiplexer): Avoid KeyNotFoundException in OriginalId (#3723)
Fixes: #3719
2024-01-08 09:53:08 +01:00
MrGadget1024
c38603b0c5 fix(NetworkServer): RemovePlayerForConnection use NetworkConnectionToClient
- This has to be an oversight - all callers are passing NetworkConnectionToClient
2024-01-07 11:16:15 -05:00
mischa
7ff1fd0dfe fix(KCP): KcpClient RawSend may throw ConnectionRefused SocketException when OnDisconnected calls SendDisconnect(), which is fine 2024-01-07 12:53:47 +01:00
mischa
df918ecf9f fix(Prediction): InsertCorrection would produce NaN multipliers, spreading through prediction code 2024-01-07 12:37:45 +01:00
mischa
febcce9513 perf: PredictedRigidbody ghost visibility update now only runs every 200ms 2024-01-06 12:30:11 +01:00
mischa
3a34dba5ed perf: PredictedRigidbody now caches original renderers instead of calling GetComponentsInChildren every frame 2024-01-06 12:23:05 +01:00
mischa
4eb9a255a0 PredictedRigidbody: UpdateVisualCopy helper function 2024-01-06 12:23:02 +01:00
mischa
0cc4726728 fix(InterestManagement): calling OnEnable multiple times doesn't show an error anymore 2024-01-06 11:57:13 +01:00
JesusLuvsYooh
be6c6c7c64
Renamed example scene to better explain its purpose. (#3717)
* Renamed example scene to better explain its purpose.

Made Mirror Better

* TanksCoop Scripts and folders renamed.

* Removed the s

Removed the s
2024-01-05 14:26:11 +01:00
MrGadget1024
92bec39f1a MatchController: syntax 2024-01-04 20:54:00 -05:00
MrGadget1024
912b170989 style(NetworkMatch): removed private 2024-01-04 13:59:14 -05:00
MrGadget1024
5b65afd68d doc(MatchInterestManagement): comments 2024-01-04 13:59:13 -05:00
MrGadget
0c46045130
perf(NetworkAnimator): ClientRpc includeOwner False (#3716)
No need to send the Trigger message back to the owner since we already called animator.SetTrigger
- RpcOnAnimationTriggerClientMessage
- RpcOnAnimationResetTriggerClientMessage
2024-01-04 18:57:46 +01:00
MrGadget
882bc6d2b6
fix(NetworkManager): No Auth Required for NotReadyMessage (#3715) 2024-01-03 19:33:48 +01:00
mischa
9a9fadbbf2 fix(KCP): V1.40 [2024-01-03]
- added [KCP] to all log messages
- fix: #3704 remove old fix for #2353 which caused log spam and isn't needed anymore since the
  original Mirror issue is long gone
- fix: KcpClient.RawSend now returns if socket wasn't created yet
- fix: https://github.com/MirrorNetworking/Mirror/issues/3591 KcpPeer.SendDisconnect now rapid
  fires several unreliable messages instead of sending reliable. Fixes disconnect message not
  going through if the connection is closed & removed immediately after.
2024-01-03 14:17:54 +01:00
mischa
7faa7a31f7
fix: #2852 NetworkAnimator now always serializes and deserializes the exact amount of data, and logs errors if runtime counts are mismatching (#3711)
* fix: #2852 NetworkAnimator now serializes animator.layerCount to make a mismatch in OnDeserialize impossible.

* parameters.length too
2024-01-03 10:42:08 +01:00
MrGadget1024
80ebeed7a1 NetworkRoomManager: Silenced Debug Logs 2024-01-02 21:59:58 -05:00
MrGadget
66b38852d5
perf(Match Interest Mgmt): Complete Overhaul (#3707)
* perf(Match Interest Mgmt) Use Dictionary instead of spawned
This is better than iterating all spawned objects and doing TryGetComponent in Update.

* undo rename

* Simplified OnRebuildObservers

* Overhauled Match Interest Mgmt
- no more looping dictionaries
- no more TryGetComponent in hot path
- NetworkMatch component drives the updates

* Cleanup

* syntax

* Merged UpdateDirtyMatches & UpdateMatchObjects into OnMatchChanged

* NetworkMatch - Added isServer check

* MatchInterestManagement: Better matchObjects cleanup
- moved match removal to LateUpdate
- added matchCount for debugging

* Added comment

Co-authored-by: Robin Rolf <imer@imer.cc>

* Formatting

Co-authored-by: Robin Rolf <imer@imer.cc>

* Updated OnMatchChanged / matchCount -> ushort
- Depends on ReadOnlyAttribute

* matchCount -> internal

* matchCount Header

---------

Co-authored-by: Robin Rolf <imer@imer.cc>
2024-01-02 20:21:00 -05:00
MrGadget1024
d2ad0b851b fix(MultipleMatches): Applied ReadOnly Attributes 2024-01-02 14:39:14 -05:00
MrGadget1024
ee8fda05fd fix(PlayerController): Applied ReadOnly Attributes 2024-01-02 14:37:35 -05:00
MrGadget1024
6a8502b8ed fix(NetworkRoomPlayer): Applied ReadOnly Attributes 2024-01-02 14:36:50 -05:00
MrGadget1024
d494ac28b7 fix(NetworkRoomManager): Applied ReadOnly Attributes 2024-01-02 14:36:18 -05:00
MrGadget
a5e4247e82
feat: Add ReadOnly Attribute and Drawer (#3712) 2024-01-02 16:25:28 +01:00
mischa
53da58a32a syntax 2024-01-02 13:38:27 +01:00
mischa
3f5f9bd9eb NetworkAnimator: OnDeserialize more obvious syntax 2024-01-02 13:32:17 +01:00
mischa
35d1387c7a NetworkAnimator: OnSerialize more obvious syntax (parameter is always true due to the 'if initialstate' above it) 2024-01-02 13:30:53 +01:00
mischa
7c87da9bc7 NetworkAnimator: OnSerialize syntax 2024-01-02 13:27:43 +01:00
mischa
275d5ad797 fix: #3710: NetworkServer.SendToAll/Observers/ReadyObservers now validates packet size while <T> is still known 2024-01-02 13:14:43 +01:00
mischa
732c4ebdab fix: #2810 NetworkAnimator now initializes state in OnEnable too 2024-01-02 11:40:10 +01:00
MrGadget1024
325cc15f5b feat(Chat Example): Bidirectional sync of networkAddress 2024-01-01 10:23:24 -05:00
MrGadget1024
e1195391c6 fix(MultipleMatches): MatchGUI Toggle OnValueChanged > OnToggleClicked 2024-01-01 07:53:05 -05:00
mischa
56a1aa096f fix: #3708 Kcp Stophost() null reference exception 2024-01-01 09:40:39 +01:00
MrGadget1024
4285a9b123 MatchController Prefab: resized Text element 2023-12-31 17:27:52 -05:00
MrGadget1024
a54c8bd9bd fix(NetworkManager): OnConnectionQualityChanged silenced log spam 2023-12-30 07:37:59 -05:00
MrGadget1024
4c295a80b6 fix(ChatNetworkManager): Removed singleton 2023-12-30 07:22:20 -05:00
MrGadget1024
1ccf954bbd fix(AdditiveLevelsNetworkManager): Simplified singleton 2023-12-30 07:22:20 -05:00
MrGadget1024
1430027e99 fix(NetworkRoomManagerExt): Simplified singleton 2023-12-30 07:22:20 -05:00
MrGadget1024
a322f009c6 fix(AuthorityNetworkManager): Removed singleton 2023-12-30 07:22:20 -05:00
MrGadget1024
112d6f4040 fix(MatchNetworkManager): Removed singleton 2023-12-30 07:22:20 -05:00
MrGadget1024
01be4fe67d fix(MultiSceneNetManager): Removed singleton 2023-12-30 07:22:20 -05:00
MrGadget1024
ae6a6355b1 fix(BasicNetManager): Removed singleton 2023-12-30 07:22:20 -05:00
MrGadget1024
143dede60d fix(AdditiveNetworkManager): Removed singleton 2023-12-30 07:22:20 -05:00
MrGadget1024
a425736bda fix(NetworkManagerCharacterSelection): Simplified singleton 2023-12-30 07:22:20 -05:00
MrGadget
a8a2e01b89
fix(NT Base): Consolidate NT fields to NT Base (#3706)
- Compress Rotation
- Only Sync On Change
2023-12-24 10:29:30 +01:00
MrGadget1024
b9601b9e7f perf(Examples): Enabled NT Compress Rotation 2023-12-24 04:02:32 -05:00
mischa
0d64d4718f fix: #3704 remove old fix for #2353 which caused log spam and isn't needed anymore since the original Mirror issue is long gone 2023-12-23 22:17:20 +01:00
JesusLuvsYooh
4caa831bdb
fix: Rotation compression using world when null value (#3705)
Fixes spazzing out of rotations, which was caused by flicking between compressed quaternion and world rotation.
Happened only if using NetworkTransformUnreliable, local worldspace and quat compression.
2023-12-23 21:34:37 +01:00
mischa
e46aff53d1 Prediction: only show ghosts while not inside the target object 2023-12-19 15:07:14 +01:00
mischa
88c7fa78c1 fix(NetworkPingDisplay): increase default width so rtt number isn't cut off 2023-12-19 14:46:32 +01:00
mischa
58148e02e5 fix(Prediction): PredictedRigidbodyVisual rotation interpolation now works 2023-12-19 14:12:06 +01:00
mischa
3d87b3f0c3 PredictedRigidbody: force SyncDirection so users can't configure it wrongly 2023-12-19 13:32:22 +01:00
mischa
f1cf4f6067 fix(Prediction): PredictedRigidbody now copies all materials, not just the first 2023-12-19 13:06:33 +01:00
mischa
0864676948 perf(PredictedRigidbody): get mesh renderer only once 2023-12-19 13:06:30 +01:00
mischa
12e73d3619 fix(Prediction): PredictedRigidbody now sets all materials to ghost material, not just one 2023-12-19 12:58:02 +01:00
mischa
91e028fbb4 MIRROR_86_OR_NEWER 2023-12-12 10:37:33 +01:00
MrGadget
5132fa8bfc
feat(HUD): Support for MultiplexTransport Port (#3662)
* Moved Multiplex to Core

* Updated Available and ToString in Transports
- Available now uses `#if UNITY_WEBGL` because `Application.platform != RuntimePlatform.WebGLPlayer;` doesn't work in Editor
- ToString was shortened and includes port for presentation in HUD

* NetworkManagerHUD: Added support for MultiplexTransport

* Moved Multiplex back to Transports

* Implemented PortTransport in Multiplex

* NetworkManagerHUD: reverted width change

* Revamped Port handler

* Changed LogError to LogWarning in Port setter

* Moved ToString change to separate PR

* Use Utils.IsHeadless

* Use Utils.IsDebug

* Removed console logging
2023-12-12 10:23:35 +01:00
MrGadget1024
b2d2cae776 perf(PlayerController): Changed 4 examples to NT-Reliable
- Tanks, Benchmark, CCU, and Pong examples all still use NT-Unreliable
2023-12-11 18:44:03 -05:00
mischa
c1be7b30e3 fix(Edgegap Plugin): fix NRE when reloading assets 2023-12-11 12:06:36 +01:00
mischa
a27a0aedc3 fix script icons 2023-12-11 12:06:33 +01:00
mischa
3e30c44864 Examples/Common: scripts moved into Scripts/ 2023-12-11 11:58:05 +01:00
mischa
67f32f2d90
feature: Edgegap Plugin V2 (#3692)
* Edgegap Plugin V2 from https://github.com/dylanh724/edgegap-unity-plugin-v2/tree/feat/plugin-v2.2

* fix things

* fix warnings

* fix u2020 support

* fix nre

* fix logo hardcoded path

* fix clipboard image hardcoded path and remove fonts

* syntax

* fix unity 2019/2020 breaking all editor UIs

* fix NRE on first open due to old window

* fix 2019 asserts

* link to our documentation

* disable warning

* fix unity 2019 unsupported syntax error

* Mirror.Hosting.asmdef: fix missing ref

* fix: remove all fonts to avoid the errors

* readme: two click hosting

* readme

* better

* fix 2019 errors

* fix U2020 async warning

---------

Co-authored-by: mischa <16416509+vis2k@users.noreply.github.com>
2023-12-09 11:02:01 +01:00
Clayton Hunsinger
608429c314
perf: SyncVar hook invocations no longer instantiate a new action delegate on every call (#3615)
Co-authored-by: Clayton Hunsinger <clayton@talofagames.com>
2023-12-06 15:28:54 +01:00
MrGadget
ab99215e68
feat(NetworkManager): Ability to toggle auto-start in Editor (#3694)
* feat(NetworkManager): Ability to toggle auto-start in Editor

* use Application.isEditor

---------

Co-authored-by: mischa <info@noobtuts.com>
2023-12-06 14:27:46 +01:00
MrGadget
92b99335d8
fix(ConnectionQuality): Move Connection Quality to Network Client (#3693)
* fix(ConnectionQuality): Move Connection Quality to Network Client
- Added zero as disable value
- Added Tooltip and Range to NetworkManager.connectionQualityInterval
- Obsoleted NetworkManager.OnConnectionQualityChanged
- Added temporary event wireups for OnConnectionQualityChanged
- Removed Action and overrides from NetworkManager template

* Removed stray blank line

* Added ConnectionQualityMethod Selection
- Enum added to ConnectionQuality
- Fields added to NetworkManager and NetworkClient
- Switch added to NetworkClient.UpdateConnectionQuality

* Use right params for Pragmatic

* Renamed Fields in NetworkManager
2023-12-06 10:06:31 +01:00
MrGadget1024
dd1923e4fd fix: Reset Scenes for 2019+ 2023-12-05 17:00:31 -05:00
MrGadget1024
d477189a97 fix(StinkySteak): Cannot use shortened new() in older Unity 2023-12-05 16:38:43 -05:00
MrGadget1024
b6f86ac3e7 Revert "fix(Examples): Updated scenes and lighting"
This reverts commit e2d63a88b0.
2023-12-05 16:33:45 -05:00
MrGadget1024
f04a2a915c fix(ConnectionQuality): reordered enums 2023-12-05 11:49:38 -05:00
MrGadget1024
c85f591b33 NetworkPingDisplay: Changed width to 100 2023-12-05 11:46:51 -05:00