mischa
2ecafaa634
perf: PredictedRigidbody state properties inlined
2024-09-21 16:30:36 -04:00
mischa
4f642d73a3
perf: PredictedRigidbody RecordState only calls NetworkTime.time getter once
2024-09-21 16:30:36 -04:00
mischa
39fbaabd3b
perf: PredictedRigidbody FixedUpdate caches sqr computations
2024-09-21 16:30:36 -04:00
mischa
c8f022584a
inlining
2024-09-21 16:30:36 -04:00
mischa
ae0a6a9c3e
perf: PredictedRigidbody caches IsMoving sqr computations
2024-09-21 16:30:36 -04:00
mischa
0789d41798
perf: PredictedRigidbody syncs a blittable struct once instead of doing 5 separate reads/writes
2024-09-21 16:30:36 -04:00
mischa
9497121c45
PredictedSyncData struct first step: same reads & writes
2024-09-21 16:30:36 -04:00
mischa
ed12063f49
perf: PredictedRigidbody doesn't log "Separating Physics" anymore
2024-09-21 16:30:36 -04:00
mischa
75fb9ff57c
perf: Prediction.Sample() removed SortedList foreach iteration allocations(!)
2024-09-21 16:30:36 -04:00
mischa
1083dc5504
perf: PredictedRigidbody doesn't log hard correction when ahead anymore
2024-09-21 16:30:36 -04:00
mischa
07eba2dfc6
PredictedRigidbody: syntax
2024-09-21 16:30:36 -04:00
mischa
597fd933c4
PredictedRigidbody: OnDeserialize parsing grouped together (syntax change)
2024-09-21 16:30:36 -04:00
mischa
8b86e709be
Prediction: syntax
2024-09-21 16:30:36 -04:00
mischa
7cc63de0ec
readme changed from .txt to .md for formatting
2024-09-21 16:30:36 -04:00
mischa
4b1d179a76
Examples: Prediction Benchmark with readme & current results
2024-09-21 16:30:36 -04:00
mischa
7702db6e03
PredictedRigidbody: make .predictedRigidbody accessible to other components!
2024-09-21 16:30:36 -04:00
MrGadget
00069b9c7c
fix(ILPostProcessorAssemblyResolver): Ignore Bee.BeeDriver
...
- There is now BeeDriver2, so using StartsWith
2024-09-21 16:30:36 -04:00
Robin Rolf
5bb5c72af9
fix: EdgegapKcp StopHost() null reference exception ( #3779 )
...
see https://github.com/MirrorNetworking/Mirror/issues/3708
2024-09-21 16:30:36 -04:00
mischa
dcfab19ab8
fix : #2503 Weaver Custom Read Write functions for Serialization not working over multiple assembly definitions
2024-09-21 16:30:36 -04:00
MrGadget
58863e16a7
SimpleWebTransport: moved overrides down
2024-09-21 16:30:36 -04:00
Robin Rolf
88f4400570
feat: SWT overrides Transport.IsEncrypted & EncryptionCipher ( #3777 )
...
TLS isn't technically correct, but there's no good way to get that info
2024-09-21 16:30:36 -04:00
Robin Rolf
ab57b62cbe
feat: EncryptionTransport overrides IsEncrypted & Cipher ( #3776 )
2024-09-21 16:30:36 -04:00
mischa
35a3d86e87
feat(Transport): IsEncrypted, EncryptionCipher virtuals
2024-09-21 16:30:36 -04:00
mischa
42c9e6fc62
fix: NetworkServer.OnCommandMessage NullReferenceException due to log message accessing a guaranteed-to-be-null value
2024-09-21 16:30:36 -04:00
mischa
b90f6f30ab
fix: NetworkServer.Destroy now warns instead of throwing for null objects again
2024-09-21 16:30:35 -04:00
Robin Rolf
c15d465874
chore: EncryptionTransport help url ( #3774 )
2024-09-21 16:30:35 -04:00
MrGadget
c9206716c0
Removed empty folder meta
2024-09-21 16:30:35 -04:00
MrGadget
4c36f35fdd
breaking: Asset Store Release
...
BREAKING CHANGE: Asset Store Release
2024-09-21 16:30:35 -04:00
Robin Rolf
8f0a952d16
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-09-21 16:30:35 -04:00
Robin Rolf
d929a9a9ea
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-09-21 16:30:35 -04:00
mischa
f54b281af7
MIRROR_88_OR_NEWER
2024-09-21 16:30:35 -04:00
mischa
7715ac700b
fix: NetworkServer.Spawn now activates inactive GameObjects (for example, in case they were previously Unspawned)
2024-09-21 16:29:37 -04:00
mischa
1e40999503
fix: NetworkServer.Destroy never destroys scene objects anymore since unlike prefabs, once they are gone we can never instantiate them again ( #3771 )
2024-09-21 16:29:37 -04:00
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