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
MrGadget1024
2ddbf8c993
NetworkPingDisplay: Changed connectionQuality to hyphens
2023-12-05 11:46:07 -05:00
MrGadget1024
f05fcd0cab
Removed GUI Console from Basic example
2023-12-05 11:42:45 -05:00
MrGadget1024
a3cb76019e
fix(GUIConsole): Changed position / layout
...
- No longer clashes with the standard HUD
2023-12-05 11:31:40 -05:00
MrGadget1024
65fc3dbcb9
fix(GUIConsole): default hotkey changed to tick (Back Quote)
...
- F keys are mostly assigned to various things in browsers
2023-12-05 11:28:18 -05:00
MrGadget1024
7b55fe99cc
HUD: make wdith a variable
...
- prepares for GUIConsole changes
2023-12-05 11:26:03 -05:00
mischa
f1bb7e4543
feature: Stinkysteak benchmark ( #3690 )
...
* wip
* add dependencies
* OnGUI
* timer license updated
2023-12-05 09:52:15 +01:00
MrGadget1024
e2d63a88b0
fix(Examples): Updated scenes and lighting
2023-12-04 19:41:03 -05:00
MrGadget1024
c834c227c6
Removed leftover empty folder metas
2023-12-04 06:19:41 -05:00
JesusLuvsYooh
49e5f767a6
feat: Compress network transform rotation boolean. ( #3677 )
...
* Compress Rotation Boolean
* Remove whatever the heck that was.
* Tidy Up
* Tidy Up 2
* You didnt see this.
* NT Unreliable Quaternion Compression
* Update NetworkTransformUnreliable.cs
---------
Co-authored-by: mischa <16416509+miwarnec@users.noreply.github.com>
2023-12-03 22:55:14 +01:00
MrGadget
c980fd9f91
feat(Utils): Add IsWebGL and IsDebug ( #3688 )
...
* fix(Utils): Add IsWebGL and IsDebug
* Constants
2023-12-03 22:53:28 +01:00
Andrew Allbright
02d12c12f2
Remove 'Empty' files that are older than 1 year ( #3682 )
2023-12-03 22:50:25 +01:00