mischa
0164e0a4ad
refactor: NetworkServer DestroyObject(DestroyMode) logic moved to Unspawn() + Destroy to remove the DestroyMode parameter
2024-09-21 16:29:37 -04:00
mischa
50c1cb71bb
LagCompensator: preview notice
2024-09-21 16:29:37 -04:00
mischa
daf3e606da
LagCompensator: rename collider field to be more obvious in Inspector
2024-09-21 16:29:37 -04:00
mischa
351b4b113a
feat: LagCompensator as convenience component that wraps all the Lag Compensation logic
2024-09-21 16:29:37 -04:00
mischa
99bd93b95e
fix(Prediction): disable setting scale for joints since it causes issues with parenting
2024-09-21 16:29:37 -04:00
MrGadget
3d7ef0cc60
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-09-21 16:29:37 -04:00
mischa
8094f88469
fix(Prediction): ConfigurableJoints' range of motion is now moved correctly
2024-09-21 16:29:37 -04:00
mischa
fb13fa37e2
fix(PredictedRigidbody): reduce-send-rate considers angular velocity now too!
2024-09-21 16:29:37 -04:00
mischa
449c33a694
Prediction: sync delta rotations too [FakeByte]
2024-09-21 16:29:37 -04:00
mischa
e7c8898679
Prediction: only set velocity if not kinematic
2024-09-21 16:29:36 -04:00
mischa
54c8caac54
Prediction: better motion smoothing time
2024-09-21 16:29:36 -04:00
mischa
05787f3853
Prediction: sync angularVelocity too
2024-09-21 16:29:36 -04:00
mischa
6cb4017deb
perf(Prediction): ghosts-on-demand(!)
2024-09-21 16:29:36 -04:00
MrGadget
ee97a8bd65
CanvasNetworkManagerHUD: fixed indent
2024-09-21 16:29:36 -04:00
mischa
205cbc2d63
PredictedRigidbody: add OnBeforeApplyState callback
2024-09-21 16:29:36 -04:00
MrGadget
136c1d2b30
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-09-21 16:29:36 -04:00
MrGadget
0821e56105
fix(SWT): Improved logging in ClientHandshake
...
- Added hint to check Server Roles for handshake key mismatches
2024-09-21 16:29:36 -04:00
MrGadget
e60d3bf382
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-09-21 16:29:36 -04:00
Robin Rolf
bd7b6fe038
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-09-21 16:29:36 -04:00
mischa
7b50cd5197
perf(PredictedRigidbody): OnSerialize faster
2024-09-21 16:29:36 -04:00
mischa
d4e03d9463
fix(PredictedRigidbody): fix host mode [FakeByte]
2024-09-21 16:29:36 -04:00
mischa
d69d126672
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-09-21 16:29:36 -04:00
mischa
1d5a5008bc
Prediction: expose physics copy components to inheriting classes
2024-09-21 16:29:36 -04:00
mischa
81d14068a4
perf(PredictedRigidbody): reduce sends to 1 Hz while idle(!)
2024-09-21 16:29:36 -04:00
mischa
565858f1ad
perf(PredictedRigidbody): only record state if changed(!)
2024-09-21 16:29:36 -04:00
MrGadget
e5dbf0dcda
fix(NetworkManager): FinishStartHost-Don't force localhost ( #3759 )
2024-09-21 16:29:36 -04:00
JesusLuvsYooh
c17ebbc0f4
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-09-21 16:29:36 -04:00
MrGadget
c54bd2c4f1
SyncDictionary: Fixed typo in comment
2024-09-21 16:29:36 -04:00
James Frowen
7671bde0bf
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-09-21 16:29:36 -04:00
MrGadget
c411a3fa4c
NetworkTime: SendPing method added.
2024-09-21 16:29:36 -04:00
mischa
1f012583f6
Prediction: warn about not readable meshes
2024-09-21 16:29:36 -04:00
MrGadget
21df956789
NetworkManager: fixed comment
2024-09-21 16:29:36 -04:00
MrGadget
cd358630ff
fix(MultiplexTransport): Use TryGetValue for Lookups ( #3758 )
2024-09-21 16:29:36 -04:00
mischa
77469f5201
fix typos
2024-09-21 16:29:36 -04:00
MrGadget
9d5b66a64f
KcpTransport: fixed ToString to match other transports
2024-09-21 16:29:36 -04:00
MrGadget
af4d8e789e
fix(MultiplexTransport): Fixed log output
2024-09-21 16:29:36 -04:00
mischa
2becc2c01c
ThreadLog: more obvious prefix!
2024-09-21 16:29:36 -04:00
Robin Rolf
e4e23afd9c
perf(Extensions): Add shim for transform.GetPositionAndRotation ( #3755 )
...
Doesn't exist in unity versions 2021.2 or earlier
2024-09-21 16:29:36 -04:00
mischa
b403405c85
perf(PredictedRigidbody): next round of optimizations
2024-09-21 16:29:36 -04:00
MrGadget
e220e9e8f8
fix(MultiplexTransport): Better Startup Logging
2024-09-21 16:29:36 -04:00
MrGadget
1b17f582c5
Added missing meta
2024-01-29 02:22:46 -05:00
MrGadget
f4a416ab80
Merged master
2024-01-29 02:15:31 -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
JesusLuvsYooh
3db0e2d718
If Target null check, user friendly tweak.
2024-01-22 09:33:00 +00:00
JesusLuvsYooh
a652499c9d
Reverted SphereMoveY prefab changes.
2024-01-22 09:00:49 +00:00
ninjakickja
b220501f31
Fix: Adding null connection in Command when registering connection
...
This can happen if there are no client owned objects and the server owned object called the command. Amended it to use sender.
2024-01-22 15:41:27 +08:00
ninjakickja
6a12df1a67
Added missing lastConstructedSentSyncData assignments in Client Broadcasts.
2024-01-22 09:58:51 +08:00
ninjakickja
df646323fb
Added Unchanged Sending Options
...
This is equivalent to the old "only sync on change" option.
2024-01-22 09:40:28 +08: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
ninjakickja
f785d70bf4
Port previous premature rounding fix to V1
2024-01-20 22:54:44 +08:00
ninjakickja
006fdcc3b7
Removed Debug statements
2024-01-20 22:23:44 +08:00
ninjakickja
04f247d43e
Fixed V2 where full sync data is quantized first before considering delta
...
This causes premature rounding error (seen in tank turret bobbing) because full sync data has a rotation less than rotationSensitivity but non 0. but new snapshot derived from delta + quantized full sync data will produce a rotation of 0.
WIP - Need to fix this in V1
2024-01-20 21:58:12 +08: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
ninjakickja
65280a8f17
Porting V2 Settings and Time Interval Changes to V1
2024-01-20 09:18:29 +08: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
ninjakickja
5e52596b5c
Updated Intervals to Frequency instead of Multiplier
2024-01-19 14:18:48 +08:00
ninjakickja
14e1091e0c
Refined Sync Settings
...
Renamed SyncSettings to FullHeader - Affects V1 and V2
Added new enum SyncSettings to exclude rotation sync methods - Only affects V2
Added new enum RotationSettings to select rotation sync methods - Only affects V2
2024-01-19 11:11:19 +08:00
ninjakickja
15ed88779c
Fix: Client Broadcast Delta sent on Reliable channel instead of Unreliable
2024-01-19 00:53:45 +08:00
ninjakickja
eb352f5485
Update HybridNetworkTransform.cs
2024-01-18 17:34:37 +08:00
ninjakickja
fb5c8399b5
Amend Register Handler Command to not require authority
...
Any object on that connection can send the command. We don't need an authorised object.
2024-01-18 13:25:38 +08:00
ninjakickja
af4bab60b2
Hybrid V2 using Network Messages
...
Saves header bandwidth.
WIP
Not cleaned up yet.
2024-01-18 10:43:01 +08:00
ninjakickja
e45e1b633a
Fix: Euler Rotation quantized not updated when receiving full state.
2024-01-18 10:42:15 +08:00
ninjakickja
c7555d061c
Corrected Typo In OnSerialize
2024-01-17 22:47:01 +08:00
ninjakickja
40fcefde6d
Fix: Non-full position syncing causes unsynced axis to be at 0.
...
Added function to consider unsynced axes and use current axes values.
Added check to ensure deltas do not send before full syncs and full sync index should start at 1.
This prevents sending of delta, indexed at 0, being received and applied because the initial value of the index is 0 (thus the delta does not get rejected).
2024-01-17 10:48:26 +08:00
ninjakickja
937c59d504
Decouple Hybrid from NT Base
2024-01-16 23:08:07 +08:00
ninjakickja
d4835d0091
Initial Fixes on settings and validate.
...
Fixed OnValidate on full and delta send Multiplier.
Fixed syncSettings condition in OnEnable
2024-01-16 17:55:52 +08:00
JesusLuvsYooh
854de5644d
Initial Push
2024-01-16 08:58:48 +00: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