Commit Graph

6394 Commits

Author SHA1 Message Date
mischa
016b611b2b
breaking: NetworkTransform sendIntervalMultiplier replaced by syncInterval math (#3895)
* repro

* force sendIntervalMultiplier based on syncInterval!

* Revert "repro"

This reverts commit e51c996fa6.

* cleanup

* fix

* hide

* property

* rmv

---------

Co-authored-by: mischa <info@noobtuts.com>
2024-09-02 22:03:38 +02:00
DANILIAMMO
99ba539e04
style(ConnectionQuality): Fix indention (#3896) 2024-09-02 07:30:25 -04:00
mischa
b1cbab8621
Edgegap Plugin: update to latest version to remove more MIRROR CHANGEs; also supports moving the folder better (#3891)
* Edgegap Plugin: non-breaking updates first

* Edgegap Plugin: update to latest version to remove more MIRROR CHANGEs; also supports moving the folder better

* 2021+

---------

Co-authored-by: mischa <info@noobtuts.com>
Co-authored-by: mischa <16416509+vis2k@users.noreply.github.com>
2024-08-22 09:09:58 +02:00
MrGadget
cb9e0fe3c0
feat(Examples): PlayerControllerBase with Reliable / Unreliable Derived Classes (#3889)
* Base Controllers and Reliable / Unreliable versions

* Check Application.isFocused

* Replaced PlayerController

* TankTheftAuto - Use one of each Tank Prefab
- Added Label for Reliable / Unreliable

* TankControllerBase: Require TankHealth

* TankHealth: Ensure finding correct TextMesh
2024-08-17 21:00:47 +02:00
MrGadget
8df5ec087f CharacterSelection: Removed PlayerControllerScript
- No longer used
2024-08-10 14:55:17 -04:00
MrGadget
fb50bf252b CharactrerSelection: Use Common PlayerController 2024-08-10 14:49:54 -04:00
MrGadget
e4845f000d PlayerController: Don't require PlayerCamera 2024-08-10 14:49:10 -04:00
MrGadget
9064dab293
fix(CharacterSelection Example): Separate SceneCamera script (#3888)
* CharSelection: Separate SceneCamera script

* SceneCamera: SetPositionAndRotation

* Code Cleanup
2024-08-10 14:43:29 -04:00
MrGadget
6f28f716d5 fix(Extensions): UNITY_2021_3_OR_NEWER 2024-08-10 14:04:46 -04:00
MrGadget
e8ebfa150b
fix(Extensions): Added SetPositionAndRotation (#3887) 2024-08-10 20:02:29 +02:00
JesusLuvsYooh
dfd69f79dd
Updated ReadMe for CharacterSelection example. (#3886)
Kudos to Gadget for seeing it.
2024-08-10 10:50:55 -04:00
MrGadget
8bdf29983a NetworkClient: Organize methods 2024-08-10 08:04:21 -04:00
mischa
de7ac40af9
perf: Weaver automatically uses VarInt compression for all integers in [SyncVar]/[Command]/[Rpc]/SyncList/NetworkMessage/etc. (#3870)
* perf: NetworkReader/Writer: read/write collection size headers as VarInt for significant bandwidth reduction!

* Weaver: when defining multiple Readers/Writers of same type, choose the one with priority suffix

* perf: NetworkReader/Writer: define weaver preferred VarInt compression for integers

* [WeaverPriority] attribute and more tests

* remove unused

---------

Co-authored-by: mischa <info@noobtuts.com>
2024-08-10 11:54:21 +02:00
MrGadget
d8c7c1e815
feat(NetworkServer): Improved ReplacePlayerForConnection (#3885)
- ReplacePlayerOptions: KeepAuthority, KeepActive, Unspawn, Destroy
- NetworkServer tests updated
- Examples updated and work correctly

Eliminates need to make a coroutine to replace & destroy player.
2024-08-10 11:40:52 +02:00
MrGadget
46010ca49c
fix(NetworkClient): InvokeIdentityCallbacks call OnStartClient first (#3884)
- This is for host client to match logical call order as remote client
2024-08-10 11:39:03 +02:00
mischa
c77d8459fb fix: NetworkServer.BroadcastToConnectio can now recover from null entries instead of slowing down perf with log messages forever [credits: BigBoxVR/CF] 2024-08-10 11:26:48 +02:00
MrGadget
6b3f70ab51 fix(TankAuthority): Player pos 1m up 2024-08-09 16:48:14 -04:00
mischa
2fe1b8fd38
perf: NetworkReader/Writer: read/write collection size headers as VarInt for significant bandwidth reduction! (#3868)
Co-authored-by: mischa <info@noobtuts.com>
2024-08-09 09:58:22 +02:00
MrGadget
96ba861e2c chore: Example Controllers Code Cleanup 2024-08-06 23:36:55 -04:00
MrGadget
f56528ffaa fixed platform collider 2024-08-03 14:22:01 -04:00
MrGadget
455bb7a97d release: Mirror 90.0.0 2024-08-02 15:10:06 -04:00
JesusLuvsYooh
5b7da43d5c
fix: Examples colliders and missing namespace. (#3881)
* fix: Example scene and prefab colliders fixed.

No idea what happened, but some box colliders seem to be double the default size.

* Namespace to couch coop scripts.
2024-08-02 06:57:56 -04:00
MrGadget
b409245946 TopDownShooterLighting 2024-07-31 08:28:47 -04:00
MrGadget
b5a3bd2f9f TopDownShooter 2019 Updates 2024-07-31 08:28:11 -04:00
MrGadget
7ada79e6a1 fix(TopDownShooter): simplify Flashlight code 2024-07-30 11:31:22 -04:00
mischa
87ca42eda9 fix: TimeSnapshotMessage doesn't require authority anymore to avoid disconnecting connections where the unreliable message arrived before the reliable authority message 2024-07-30 17:18:01 +02:00
MrGadget
810e5f55c5 Examples - Lighting 2024-07-29 22:56:44 -04:00
MrGadget
9e9cbdb2f5 Examples - Lighting 2024-07-29 21:14:16 -04:00
MrGadget
3c4f465a70 Examples - Lighting 2024-07-29 18:09:04 -04:00
MrGadget
302e2ae82b
fix(Example Prefabs): Reset for 2019 (#3880) 2024-07-29 08:59:54 -04:00
MrGadget
f3924c44f9
fix(PlayerTest Example): Compatible with 2019 (#3879)
* Terrain 2019

* Lighting

* Baked Lighting

* Lighting color

* Terrain Data
2024-07-29 01:12:28 -04:00
MrGadget
1d851719c2
fix(Examples): Restored example scenes to 2019 compatibility (#3878) 2024-07-28 20:55:20 -04:00
MrGadget
483fd28517 fix(Example Prefabs): Reset sendIntervalMultiplier to 1 2024-07-28 08:12:34 -04:00
mischa
9913194d06 Benchmarks: reset send interval multipliers back to 1, otherwise it'll give misleading results 2024-07-28 11:16:58 +02:00
mischa
6e82a47479 NetworkTransformReliable: remove unused 'lastClientCount' 2024-07-27 14:04:04 +02:00
mischa
da12015aca NetworkServer/Client Broadcast: consistent syntax 2024-07-27 10:10:38 +02:00
mischa
0c213fbce4 NetworkClient/Server Broadcast: make this easier to read 2024-07-27 10:03:20 +02:00
MrGadget
bb552f8a54 fix(NetworkManager): offlineSceneLoadDelaySeconds -> offlineSceneLoadDelay and Range 0-60 2024-07-26 16:21:41 -04:00
mischa
bc9329a825
feature: NetworkManager gentle offline scene transition after disconnect. allows studios to show a 'Connection Lost!' message for a few seconds before entering a potentially minute long black screen scene load (#3875)
Co-authored-by: mischa <info@noobtuts.com>
2024-07-26 15:19:02 -04:00
mischa
d4ee07694b Revert "Edgegap Plugin: switch to Package Manager dependency (#3845)"
This reverts commit 890f4e6c0b.
2024-07-25 21:12:36 +02:00
mischa
890f4e6c0b
Edgegap Plugin: switch to Package Manager dependency (#3845)
* remove Hosting/Edgegap

* pull in the plugin via package manager

* 1.0.7

---------

Co-authored-by: mischa <info@noobtuts.com>
2024-07-25 10:52:53 +02:00
mischa
e9c3548124 Revert "Benchmark: visRange 999 + NT Reliable"
This reverts commit 3f82e7cd11.
2024-07-24 18:25:51 +02:00
MrGadget
e65c54ef91 fix: Tank Prefabs and Controllers restore compressRotation 2024-07-24 08:22:43 -04:00
MrGadget
7587423401 fix(TankTheftAuto): Removed old Canvas UI 2024-07-23 12:51:19 -04:00
mischa
3f82e7cd11 Benchmark: visRange 999 + NT Reliable 2024-07-23 17:18:12 +02:00
mischa
ff66acf6e4
NetworkReader/Writer: all types of collections are now encoded via count-offsetting (null=0, []=1) for consistency and to prepare for VarUInt compression (this way we won't need zig zag VarInt) (#3869)
* better comments about count offsetting

* NetworkReader/Writer: all types of collections are now encoded via count-offsetting (null=0, []=1) for consistency and to prepare for VarUInt compression (this way we won't need zig zag VarInt)

---------

Co-authored-by: mischa <info@noobtuts.com>
2024-07-23 17:15:26 +02:00
MrGadget
9d9d294f5c fixed broken tests 2024-07-21 19:52:09 -04:00
MrGadget
93b4820c03 fix(Tanks): NT bufferResetMultiplier 5 -> 3 2024-07-21 15:05:00 -04:00
JesusLuvsYooh
d1a4b33370
chore(CI): Old code removed from NetworkTransformUnreliable (#3867)
* NetworkTransformUnreliable, removed old code.

* NetworkTransformUnreliable, removed old code.

Missed some, sneaky bugger.

* NetworkTransformUnreliable, tests updated (badly).

Needs looking over.
2024-07-21 18:51:27 +02:00
MrGadget
2bb1dc5792 fix(Tanks): Updated Tanks Example
- Send Rate 30
- NT Multiplier 3
2024-07-21 11:30:44 -04:00
Richard Possnett
8e6a157560
feat(SimpleWebTransport): Allow https URI scheme (#3850) 2024-07-21 10:36:34 -04:00
mischa
3073b87e63 Examples/Benchmark: always show NetworkStatistics 2024-07-21 10:13:19 +02:00
mischa
796a5dce6d Revert "Examples/Benchmark: always show bandwidth"
This reverts commit 8144275ec6.
2024-07-21 10:13:07 +02:00
mischa
8144275ec6 Examples/Benchmark: always show bandwidth 2024-07-21 10:11:17 +02:00
MrGadget
56d1575354 fix(MultiplexTransportTest): Can't use lambda discard parameters 2024-07-20 17:45:24 -04:00
MrGadget
bcd47d546e fix(FadeInOut): Now based on duration and framerate independent 2024-07-20 17:27:24 -04:00
MrGadget
bd75cf0345 TurretUIPrefab -> turretUIPrefab 2024-07-20 14:23:24 -04:00
MrGadget
8b6bc74629 fix(MultiplexTransportTest): Update tests to use OnServerConnectedWithAddress 2024-07-20 13:07:35 -04:00
MrGadget
1968ef9f9b fix(Transports): Suppress obsolete warnings 2024-07-20 13:05:53 -04:00
MrGadget
86d8bc912c fix(NetworkServer): Suppress obsolete warnings 2024-07-20 12:45:21 -04:00
MrGadget
350d9cd5b2 feat(Transport): Obsoloete OnServerConnected
Use OnServerConnectedWithAddress and pass the remote client address instead
- This allows Mirror to cache the remote client address to save round-trip calls to the transport
2024-07-20 11:17:02 -04:00
MrGadget
9dcc6a0953 fix(Telepathy): Implement OnServerConnectedWithAddress 2024-07-20 11:05:21 -04:00
MrGadget
237942274d fix(SimpleWebTransport): Implement OnServerConnectedWithAddress 2024-07-20 10:53:06 -04:00
MrGadget
c82ae00ef7 fix(AutoLANClientController): Use FindAnyObjectByType 2024-07-20 10:30:20 -04:00
JesusLuvsYooh
02e9b4fc0b
New Example, auto LAN connect + client acting as controller for server. (#3863) 2024-07-17 09:58:44 +02:00
mischa
19f23cb8f6 NetworkIdentitySerializationTests: fix SerializeClient_NotInitial_NotDirty test setup so it actually would serialize if dirty 2024-07-15 14:06:34 +02:00
mischa
394ba40310 NetworkIdentitySerialization: Reset() function for convenience 2024-07-15 12:57:51 +02:00
mischa
04e875ab6c NetworkIdentity.DirtyMasks: syntax simplified further 2024-07-14 10:18:36 +02:00
mischa
f730b61cb9 NetworkIdentity.DirtyMasks: syntax simplified 2024-07-14 10:14:09 +02:00
mischa
54b78251ad Tanks demo fixes 2024-07-13 19:01:15 +02:00
mischa
794c9a2350 fix comment 2024-07-12 21:10:16 +02:00
MrGadget
9a37b26f27 fix: fixed tests 2024-07-11 15:10:44 -04:00
MrGadget
4c22f878c7 fix(LatencySimulation): Implement OnServerConnectedWithAddress 2024-07-11 11:33:50 -04:00
MrGadget
938cdc6c2a fix(EncryptionTransport): Implement OnServerConnectedWithAddress 2024-07-11 11:32:50 -04:00
MrGadget
aad625decc fix(MiddlewareTransport): Implement OnServerConnectedWithAddress 2024-07-11 11:27:16 -04:00
MrGadget
8f6b01b0f4 fix(MemoryTransport): Implemented OnServerConnectedWithAddress 2024-07-11 11:26:00 -04:00
MrGadget
ac3007fd1b fix(MultiplexTransport) Implement OnServerConnectedWithAddress 2024-07-11 09:53:55 -04:00
MrGadget
76d83aa998 fix(NetworkServer): RemoveTransportHandlers OnTransportConnectedWithAddress 2024-07-11 09:53:54 -04:00
MrGadget
105607014f
feat(Examples): Overhauled Examples (#3858)
* Added Player, Flyer, Tank Controllers

* and the meta

* Removed NT from Tank prefab

* Additive Scenes Player with new controller

* Updated Examples

* fixed healthbar

* Updated TankController

* Fixed MouseSteer

* Updated PlayerController

* Updated PlayerController

* Tank and Controller Updates

* Updated Tanks Navmesh

* Updated Tanks example

* Fixed Tank Model

* Tanks fixed

* Removed commented code

* Controller updates

* Projectile and Controller updates

* Tanks Navmesh

* Fixed navmesh

* Updated Projectile destroyAfter

* Update NavMesh

* Fixed spawn point

* TTA Scene Update

* TTA NavMesh

* TTA Tank Prefab

* Added Tank SeatedPlayer and turretAcceleration

* TTA Scene update

* TTA Scene higher walls

* Improved Projectile and PlayerTest

* Default Mouse Lock on

* IgnoreCollision

* Updated prefabs

* Latest

* Cleanup

* Disable sync position, Compress Rotation, and animation
- Animation is interfering with the controls and the child NT sync.

* Cleanup Reset on Disconnect

* Removed dead scripts
2024-07-11 14:32:59 +02:00
James Frowen
4a4ef9707c
fix(SimpleWebTransport): increasing default handshake max size (#3857)
Some browsers will send handshake larger than 3k, setting default limit to 16k so user dont have to worry about changing it
2024-07-08 16:38:54 -04:00
MrGadget
2d2e270868
feat(Transport): Added OnServerConnectedWithAddress (#3855)
* feat(Transport): Added OnServerConnectedWithAddress
Transports can now pass the remote client address directly to NetworkServer Action
- Facliltates ThreadedTransport passing the client Address
- KCP Transport Updated accordingly
- Original OnServerConnected passes ServerGetClientAddress result to NetworkConnectionToClient consrtuctor
- Saves round trips back to the transport for client address whenever it's needed

* formatting

* Simplified

* Cleanup
2024-07-05 11:58:43 +02:00
MrGadget
561e33ffea fix(NetworkConnectionToClient): DestroyOwnedObjects use RemovePlayerForConnection for scene objects instead of UnSpawn
- Scene objects need to stay alive for everyone else by default
- Users can choose to Unspawn for themselves.
2024-07-04 10:31:45 -04:00
MrGadget
49ad787d7c
fix(NetworkBehaviour): Skip OnValidate in Editor Play Mode (#3852)
OnValidate only runs in Editor, but can get invoked in PlayMode if user fiddles with the inspector or by other Unity activities.
2024-06-29 21:09:50 +02:00
JesusLuvsYooh
873a9d0067
fix(TopDownShooter): Adjusted slanted climbable wall colliders (#3849)
* fix(TopDownShooter): Adjusted slanted climbable wall colliders

* Removed previous colliders.
2024-06-27 09:40:22 +02:00
MrGadget
dc19e2889d Revert "fix(AdditiveLevels): Text instead of TMP"
This reverts commit 648fb0a489.
2024-06-26 21:29:27 -04:00
MrGadget
648fb0a489 fix(AdditiveLevels): Text instead of TMP 2024-06-26 21:19:34 -04:00
MrGadget
f5089f14bc fix(TopDownShooter): Use FindAnyObjectByType for Unity 2022.2+ 2024-06-26 20:44:29 -04:00
MrGadget
d147e8da0e fix(SimpleWebTransport): Default setup for reverse proxy 2024-06-26 19:33:20 -04:00
MrGadget
7dd1deb6d7 fix(NetworkBehaviour): Check for non-zero netId before sending Cmd 2024-06-26 18:03:35 -04:00
mischa
4ec2f098d3
fix: #3832 NetworkServer.Destroy now doesn't call ResetState for prefabs, fixes isServer flag always being false in OnDestroy (#3848)
* repro

* NetworkServer.Destroy(): refactor to split scene vs. prefab cases more obviously

* fix: #3832 NetworkServer.Destroy now doesn't call ResetState for prefabs, fixes isServer flag always being false in OnDestroy

* fix the runtime test

* Revert "repro"

This reverts commit 3a5a33e8e4.

---------

Co-authored-by: mischa <info@noobtuts.com>
2024-06-26 19:53:55 +02:00
JesusLuvsYooh
ebf3041c96
feat: MOVING Platforms to Couch Coop Example (#3847)
* Added MOVING Platforms to Couch Coop Example

No constant network sync, they just resync at start and end destination.

* Optional Platform features.
2024-06-26 10:32:13 +02:00
Robin Rolf
7f33e1bfe0
feat: NetworkRuntimeProfiler (#3846)
* feat: NetworkRuntimeProfiler

Adds a simple text-based network profiler

* Remove unused avg
2024-06-26 10:30:22 +02:00
JesusLuvsYooh
c1fdf50400
feat: Example, TopDown Shooter. (#3836)
* Shooter topdown checkpoint 1

* Topdown shooter, checkpoint 2

* Topdown checkpoint 3

* Topdown Checkpoint 4

* Topdown shooter checkpoint 5

* Port added to UI Canvas Prefab. (#3835)

* Topdown Shooter, checkpoint 6, Alpha.

Almost finished, as of now, whats left is:
Tidy up
Comment code
Add server defines
Test server-only

* Topdown shooter, server defines and server only tested. Checkpoint 7.

Remaining: Tidy up and Comment code

* TopDown Shooter finished?

* Topdown shooter, fixed PNG size.

* Topdown Shooter tidyup.

Removed unused materials, that remained from 3D version of game.
3D sound ranges and volumes adjusted.

* Topdown Shooter, audio conversion and compression.

* TopDownShooter, note about OnStartServer player list.

Added line space to separate some code for easier reading.
2024-06-20 10:47:55 +02:00
Robin Rolf
6d7c808d6a
fix: new GUID for bouncycastle dll meta file (#3844) 2024-06-19 10:35:40 -04:00
Robin Rolf
736762f20f
fix: Namespace BouncyCastle lib to avoid conflicts (#3843)
This uses our fork https://github.com/MirrorNetworking/bc-csharp with the Mirror. prefix
dll is generated by CI: https://github.com/MirrorNetworking/bc-csharp/actions/runs/9582807523 so updating in the future should be as "easy" as rebasing on bouncycastle release branches, fixing any naming via search&replace and making a release to trigger CI
2024-06-19 09:53:02 -04:00
JesusLuvsYooh
bcda1dcb27
Velocity Iterations made public in NM, Drag on Cube prefabs. (#3842) 2024-06-19 12:03:28 +02:00
MrGadget
71e21089ae
fix(Hosting): Remove Mirror.Hosting AsmDef as not needed (#3841) 2024-06-19 09:48:43 +02:00
MrGadget
1e7c6f0a94 style(Welcome): No stacktrace for Mirror welcome message 2024-06-18 15:01:54 -04:00
mischa
f712fabd04
Edgegap Pplugin updated to 1.0.1 (#3834) 2024-06-17 21:48:42 +02:00
JesusLuvsYooh
80f58e71ef
Port added to UI Canvas Prefab. (#3835) 2024-06-13 11:58:22 +02:00