MrGadget
5c96c81e35
SyncDictionary: Add oldValue to AddOperation ( #3790 )
...
This is preparation for Actions coming in subsequent PR.
2024-09-21 16:31:34 -04:00
MrGadget
877067af76
fix(SyncDictionary): Clear after Callback ( #3789 )
2024-09-21 16:31:33 -04:00
MrGadget
05d68f91af
chore(SyncDictionaryTest): Improved tests
2024-09-21 16:31:33 -04:00
MrGadget
0b8b11e78f
style(SyncDictionary): code formatting
2024-09-21 16:31:33 -04:00
mischa
ea01b7c060
Billiards readme: link prediction article
2024-09-21 16:31:33 -04:00
mischa
a0bb738705
Billiards (not predicted): add latency simulation and improve explanation
2024-09-21 16:31:33 -04:00
mischa
cded6bc736
Predicted Billiards: fix pocket resets for latest prediction and update Readme to be ready for users!
2024-09-21 16:31:33 -04:00
mischa
e564ff92d0
Predicted Billiards: fix Rigidbody access for latest prediction
2024-09-21 16:31:33 -04:00
mischa
8334f3549c
Predicted Billiards: fix dragging with predicted Rigidbody
2024-09-21 16:31:33 -04:00
mischa
a3e8ef0b8f
Predicted Billiards: fix ghost materials
2024-09-21 16:31:33 -04:00
mischa
a3e6dd3cb5
perf: Prediction.CorrectHistory removed O(N) insertion. adjusting successive values is enough.
2024-09-21 16:31:33 -04:00
mischa
1d004dcd21
fix: Prediction.CorrectHistory now adjusts afterIndex after removals/insertions
2024-09-21 16:31:33 -04:00
mischa
39338b413d
Prediction: explain insertions complexity
2024-09-21 16:31:33 -04:00
MrGadget
1eecc055c5
fix(SimpleWeb.jslib): Locally Scope Runtime
2024-09-21 16:31:33 -04:00
MrGadget
e257232517
style(SimpleWeb.jslib): Code formatting
2024-09-21 16:31:33 -04:00
MrGadget
c373f9f0e7
fix(SimpleWeb): scope websocket locally instead of globally
2024-09-21 16:31:33 -04:00
Robin Rolf
714f231d43
fix(LobbyServiceCreateDialogue): Added warning about Edgegap Lobby Name bug ( #3783 )
2024-09-21 16:31:33 -04:00
Robin Rolf
16f892e94d
fix: Edgegap Lobby Create UI Tweaks ( #3782 )
...
* chore: Edgegap Lobby Create UI Tweaks
* 3 loading dots
* help urls
2024-09-21 16:31:33 -04:00
MrGadget
501129fb68
EncryptionTransportInspector: Fixed button label
2024-09-21 16:31:33 -04:00
MrGadget
8eda3231be
fix(EdgegapLobbyKcpTransport): Fixed HelpURL
2024-09-21 16:31:33 -04:00
Robin Rolf
074e0d6dc6
chore: old unity compat for PredictedRigidbody ( #3781 )
2024-09-21 16:31:33 -04:00
Robin Rolf
9ce8f9b5f8
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-09-21 16:31:33 -04:00
mischa
9d7de40aa7
Prediction: RingBuffer perf comments
2024-09-21 16:31:33 -04:00
mischa
7cf0b884a6
perf: PredictedRigidbody MoveTowardsCustom: only calculate distance factor once
2024-09-21 16:31:33 -04:00
mischa
8705a9b0c2
perf: PredictedRigidbody MoveTowardsCustom
2024-09-21 16:31:33 -04:00
mischa
eb93ce4e3d
perf: PredictedRigidbody smoothFollowThreshold squared caching
2024-09-21 16:31:33 -04:00
mischa
237ffac7a9
PredictedRigidbody: update hard follow commented code
2024-09-21 16:31:33 -04:00
mischa
501867cda0
perf: PredictedRigidbody caches physics transform to use GetPositionAndRotation
2024-09-21 16:30:36 -04:00
mischa
fbb3d563ba
perf: PredictedRigidbody UpdateGhosting: only every few frames
2024-09-21 16:30:36 -04:00
mischa
fb5adf3fb7
prediction benchmark updated
2024-09-21 16:30:36 -04:00
mischa
0657da87ea
perf: PredictedRigidbody RecordState only grabs count once
2024-09-21 16:30:36 -04:00
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