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