vis2k
99851945e9
NetworkManager.transport field made public so it can be set from tests
2022-09-23 13:55:17 +07:00
vis2k
b82bb86fc7
remove unused import
2022-09-23 13:39:12 +07:00
vis2k
6941df570c
NetworkAnimator: remove unnecessary XML comments
2022-09-23 13:37:13 +07:00
vis2k
498c3c568a
remove unused imports
2022-09-23 13:32:24 +07:00
vis2k
63e3780ecd
Runtime folder renamed to Core. makes it more obvious that Components/, Transports/, Authenticators/ etc. are optional
2022-09-23 13:30:08 +07:00
vis2k
f1e53a09ae
remove old Runtime/Transports folder
2022-09-23 13:29:21 +07:00
vis2k
7a8a3c6e1e
KCP transport moved to root Transports folder; removed old auto upgrading which would require a circular dependency
2022-09-23 13:27:19 +07:00
vis2k
70d82f844d
kcp2k moved to root Transports folder
2022-09-23 13:25:57 +07:00
vis2k
8abf17acae
Middleware transport moved to root Transports folder
2022-09-23 13:24:55 +07:00
vis2k
3e4f4d7614
Multiplex transport moved to root Transports folder
2022-09-23 13:23:33 +07:00
vis2k
1507c764cc
Telepathy transport moved to root Transports folder
2022-09-23 13:21:56 +07:00
vis2k
1c9101b3d4
LatencySimulation transport moved to root Transports folder
2022-09-23 13:21:21 +07:00
vis2k
78e65c40ec
Transports folder next to Components; SimpleWebTransport moved from Runtime to Transports
2022-09-23 13:19:19 +07:00
vis2k
de830650a5
script icons
2022-09-23 13:12:47 +07:00
vis2k
a8c84fe9b8
perf: NetworkIdentity.assetId is now cached to avoid expensive "new GUID" construction
2022-09-17 17:13:56 +08:00
vis2k
a94fe67c23
Utils.IsSceneObject common function for NetworkServer/Client
2022-09-17 17:04:25 +08:00
vis2k
a99bc0ebf5
NetworkClient: ConsiderForSpawning renamed to IsSceneObject because that's what it checks
2022-09-17 16:58:52 +08:00
vis2k
4654a281f3
NetworkServer: ValidateSceneObject renamed to IsSceneObject - that's what it checks
2022-09-17 16:58:13 +08:00
vis2k
0fbf400697
fix: Tanks demo: remove light from projectile as well to fix visual glitches
2022-09-17 16:53:15 +08:00
vis2k
478e1d8c0e
perf: NetworkWriter.WriteString now writes directly into the buffer without the intermediate stringBuffer step
2022-09-17 16:51:03 +08:00
vis2k
ed8e5529ad
syntax
2022-09-17 16:42:49 +08:00
vis2k
ddb79ab0eb
NetworkLoop: remove old Unity 2018 code
2022-09-17 16:36:20 +08:00
vis2k
fc0a40f802
syntax
2022-09-17 16:35:19 +08:00
vis2k
5c04b84108
fix: Tanks demo: remove tank prefab spotlight causing visual glitches
2022-09-17 16:27:30 +08:00
vis2k
18abba3506
NetworkBehaviour.ComponentIndex changed to byte for consistency
2022-09-17 16:19:39 +08:00
vis2k
3e4b5b3660
perf: Grid2D initial capacity to avoid warmup allocations
2022-09-17 16:13:09 +08:00
vis2k
a6f450710c
perf: Grid2D as struct to avoid memory indirection
2022-09-17 16:11:38 +08:00
vis2k
34e6e8fbd3
readonly
2022-09-17 16:09:40 +08:00
vis2k
dac82ed1e2
NetworkStatistics: expose statistics to other components
2022-09-15 13:17:38 +08:00
vis2k
bb4f2b99ec
MIRROR_2022_9_OR_NEWER
2022-09-15 12:16:40 +08:00
vis2k
ac352c084d
NetworkManager.GetStartPosition can now be overwritten
2022-09-14 21:38:57 +08:00
vis2k
4b75d2b53d
ConsiderForSpawning & ValidateSceneObject explanations
2022-09-10 21:32:36 +08:00
vis2k
7b08d3afdd
NetworkScenePostProcess set inactive explanation
2022-09-07 13:21:09 +08:00
Robin Rolf
17446f3aa3
perf: Application.isPlaying in hot path is slow ( #3210 )
...
This showed up during a recent il2cpp profile and is accounting for 1% of total cpu usage while being completely unnecessary outside of the editor
https://share.dl.je/2022/08/2022-08-28_14-44-14_CfEcmlR1L6.png
2022-09-01 19:58:32 +08:00
Yu Long
aac75491ac
Add Check for NetworkServer.Spawn ( #3205 )
...
* Added a check for repeatedly calling NetworkServer.Spawn on the same gameObject
* Update NetworkServer.cs
Co-authored-by: mischa <16416509+vis2k@users.noreply.github.com>
2022-08-25 11:56:07 +08:00
vis2k
d9394b0dc8
fix: Telepathy Always enqueue Disconnected event (from imer)
2022-08-12 13:01:19 +08:00
Robin Rolf
1891d46b3c
fix: Telepathy ClientDisconnect calls DC event ( #3198 )
...
Kcp calls OnDisconnected for manual disconnections too so this is more consistent
2022-08-08 15:07:43 +08:00
hyouuu
8d1061089b
Make NetworkPingDisplay's width & height configurable ( #3196 )
2022-08-08 10:23:56 +08:00
vis2k
88825e45d5
fix: LatencySimulation error
2022-07-25 23:25:34 +08:00
vis2k
589e1f6258
Benchmark Example: backport FPS counter from Mirror II
2022-07-25 21:24:51 +08:00
eiei114
96b87ae260
fix comment typo ( #3194 )
2022-07-24 16:47:25 +08:00
vis2k
9846468dcc
fix test
2022-07-22 12:40:12 +08:00
vis2k
0b984caced
fix test
2022-07-22 12:39:43 +08:00
vis2k
77cac1b03d
fix test
2022-07-22 12:38:52 +08:00
vis2k
e8fae820d1
fix test
2022-07-22 12:28:31 +08:00
vis2k
7f680ec775
fix test
2022-07-22 12:26:06 +08:00
vis2k
1320472b10
perf: Read/WriteGuid without allocations
2022-07-22 12:26:06 +08:00
vis2k
5f4a03109d
fix: breaking: Spatial hashing interest management resolution formula fixed. this is why spatial hashing visibility range always seemed a bit lower than with distance interest management.
2022-07-11 23:40:37 +08:00
vis2k
97fe2764bc
Tests: Grid2D proper setup
2022-07-11 20:43:56 +08:00
vis2k
0cff9d6f5d
feature: Snapshot Interpolation V2 (make sure call base Awake() when inheriting!; note this removes the interpolatePosition/Rotation/Scale options) ( #3184 )
...
* yo
* fix bug exposed by tests
* tests and latest changes
* NT
2022-06-26 20:03:42 +08:00
vis2k
880a4eebd6
Snapshot Interpolation Demo: adjust namespaces so we can use 'SnapshotInterpolation.' to actual
2022-06-16 13:26:38 +07:00
vis2k
db50c39b91
fix: Snapshot Interpolation Demo: assign material color to instanced material, fixes material asset changing color permanently
2022-06-13 18:18:59 +07:00
vis2k
f92942bb5f
Snapshot Interpolation Demo: vsync notice
2022-06-13 18:17:50 +07:00
vis2k
1b0901e966
fix: Snapshot Interpolation Example: latency was accidentally applied to remoteTime instead of delivery time
2022-06-13 17:48:09 +07:00
vis2k
9915f4c0b3
Snapshot Interpolation Demo: simplify latency jitter for easier testing
2022-06-13 17:46:31 +07:00
vis2k
5063fdd08f
LatencySimulation: latencySpike renamed to jitter
2022-06-13 12:18:28 +07:00
vis2k
999cf0fe32
Snap Interp demo GUI width
2022-06-12 00:15:08 +07:00
Justin Nolan
19efa2dd86
Fix compile error ( #3179 )
2022-06-10 22:53:05 +09:00
Justin Nolan
4b40dea700
switch expressions are not supported in unity 2020 ( #3178 )
2022-06-10 22:25:38 +09:00
Robin Rolf
d48d59cc08
fix: SWT header lookup needs to be case insensitive ( #3176 )
...
* fix: SWT header lookup needs to be case insensitive
See https://github.com/vis2k/Mirror/issues/3175
Closes #3175
* fix: SWT skips headers just ending in the key name
See 3495845b8c
2022-06-09 10:54:23 +08:00
vis2k
7bfa0906b0
Snapshot Interpolation visual example ( #3171 )
2022-06-09 10:53:49 +08:00
vis2k
e04293f980
breaking: SnapshotInterpolation.Compute(): add 'out catchup' for debugging
2022-06-03 16:40:53 +07:00
MrGadget
6de039cf9d
Merge branch 'master' of https://github.com/vis2k/Mirror
2022-05-31 08:29:04 -04:00
MrGadget
77259e1c31
change label text
2022-05-31 08:28:52 -04:00
vis2k
f65b9cadbe
Write/ReadBlittable explanation why private
2022-05-27 22:45:12 +07:00
vis2k
bb8412d5e7
NetworkIdentity Serialization: explain write index
2022-05-26 23:32:08 +07:00
MrGadget
adb66b427c
NetworkBehaviour: Improved logging ( #3165 )
...
* NetworkBehaviour: Improved logging
* NetworkBehaviour: Improved logging
2022-05-25 14:33:23 -04:00
MrGadget
50e6bb1101
Online scene removed Safety plane
2022-05-14 12:20:30 -04:00
MrGadget
8139c28ff0
Online scene lighting
2022-05-14 12:19:55 -04:00
MrGadget
4c52c13160
Removed CanvasRenderer
2022-05-14 12:10:27 -04:00
MrGadget
e0e098531e
fixed NetworkManager Script Tempate
...
- broken by PR #3158
2022-05-13 10:32:44 -04:00
MrGadget
6ac03a02d6
Improved Chat example
2022-05-13 10:09:49 -04:00
MrGadget
876adb8f42
Improved Chat example
2022-05-13 09:54:12 -04:00
MrGadget
e27a1cd1e7
Improved Chat example
2022-05-13 09:39:22 -04:00
vis2k
096fe38080
breaking: OnError(Exception) changed to OnError(enum, reason) ( #3158 )
...
* TransportError
* adjust mirror
* obsoletes
* adjust transports
* Refused
2022-05-13 17:28:47 +08:00
vis2k
a2d35b82b6
Transport syntax: group fields together
2022-05-12 12:36:48 +08:00
vis2k
91e2a0f79b
feature: kcp2k V1.19: OnError ErrorCodes
2022-05-12 10:30:59 +08:00
MrGadget
d3fa0c67e5
fix: NetworkClient - Check for duplicate sceneId ( #3157 )
...
* fix: NetworkClient - Check for duplicate sceneid
* renamed local var
* Update NetworkClient.cs
Co-authored-by: vis2k <info@noobtuts.com>
2022-05-12 00:06:43 +08:00
MrGadget
a8202e5d0c
renamed local var
2022-05-11 10:59:10 -04:00
MrGadget
c35ddd20db
fix: NetworkClient - Check for duplicate sceneid
2022-05-11 10:41:10 -04:00
vis2k
1e40bb4f00
NetworkClient/NetworkServer OnTransportError now logs a warning instead of an exception, indicating that it's a transport error and that it's fine. otherwise all kcp info/warnings would now be logged as exceptions
2022-05-08 10:51:22 +08:00
vis2k
ed8911dfef
NetworkServer.OnError renamed to OnTransportError for consistency
2022-05-08 10:46:04 +08:00
vis2k
4c758c25dc
NetworkClient.OnError renamed to OnTransportError for consistency
2022-05-08 10:45:31 +08:00
vis2k
35f1f225f3
fix: kcp2k V1.18
...
- feature: OnError to allow higher level to show popups etc.
- feature: KcpServer.GetClientAddress is now GetClientEndPoint in order to
expose more details
- ResolveHostname: include exception in log for easier debugging
- fix: KcpClientConnection.RawReceive now logs the SocketException even if
it was expected. makes debugging easier.
- fix: KcpServer.TickIncoming now logs the SocketException even if it was
expected. makes debugging easier.
- fix: KcpClientConnection.RawReceive now calls Disconnect() if the other end
has closed the connection. better than just remaining in a state with unusable
sockets.
=> error handling based on #3155
=> fixes #3143
2022-05-08 10:42:32 +08:00
MrGadget
c65eed8ea8
Merge branch 'master' of https://github.com/vis2k/Mirror
2022-05-06 12:20:34 -04:00
MrGadget
efa2b3d4ca
Syntax
2022-05-06 12:20:23 -04:00
MrGadget
876d6d86dc
removed private
2022-05-06 12:19:50 -04:00
vis2k
818e0ca9fd
NetworkServer.SendToObservers: use explicit NetworkConnectionToClient type
2022-04-29 19:01:26 +08:00
vis2k
298435001a
fix : #3144 Reader/Writer Sprite null support & test to guarantee it never happens again
2022-04-29 10:08:33 +08:00
vis2k
f413c91cde
Test: Reader/Writer Sprite
2022-04-29 10:05:23 +08:00
vis2k
ae1c7c5fe4
fix : #3144 Reader/Writer Texture2D null support & test to guarantee it never happens again
2022-04-29 09:59:52 +08:00
vis2k
b709453057
fix: NetworkReader/Writer Texture2D now sends dimensions too. fixes "Texture2D.SetPixels32: size of data to be filled was larger than the size of data available in the source array. (Texture '')"
2022-04-29 09:55:19 +08:00
vis2k
d235037954
fix: NetworkReader.ReadTexture2D fixed 'reader not found for Color32[]' error when using it from tests
2022-04-29 09:44:58 +08:00
vis2k
3a742bb7da
Tests: NetworkReader/Writer Texture2D tests added
2022-04-29 09:44:54 +08:00
vis2k
728e6e2fdf
syntax
2022-04-28 18:53:37 +08:00
vis2k
6c1dc5255e
remove unused import
2022-04-20 10:33:53 +08:00
vis2k
1aaa4ce2a4
perf: Cmd/Rpc bandwidth hash size reduced from 4 => 2 bytes ( #3148 )
2022-04-20 11:33:14 +08:00
vis2k
98d7a9d7d1
NetworkReader/Extensions: inlining ReadBlittable is enough. Don't inline ReadInt etc. too, we don't want ReadBlittable to be copied in place everywhere.
2022-04-20 10:28:30 +08:00
vis2k
4ffb9dfafc
NetworkWriter/Extensions: inlining WriteBlittable is enough. Don't inline WriteInt etc. too, we don't want WriteBlittable to be copied in place everywhere.
2022-04-20 10:26:43 +08:00
vis2k
cebfab010f
fix: Benchmark movement destinations set around start, not around position. prevents them from stopping to move because of the wander off protection.
2022-04-19 13:29:38 +08:00
MrGadget
99d3a91f17
Fixed Authenticator Comments
...
- Fixes #3146
2022-04-18 22:58:16 -04:00
MrGadget
2db726df2e
fix: TeamInterestManagement OnDestroyed logic
2022-04-18 09:07:15 -04:00
MrGadget
0e9d86f563
breaking: Removed Obsoletes ( #3142 )
...
* Removed Experimental NetworkTransform
* NetworkRoomManager: Removed Obsoletes
* NetworkTransformBase: Removed Obsoletes
* NetworkBehaviour: Removed Obsoletes
* NetworkManager: Removed Obsoletes
* NetworkServer: Removed Obsoletes
* SyncObject: Removed Obsoletes
* fixed comment
* fixed XML comment
2022-04-18 08:05:53 +07:00
MrGadget
8d07be97ed
fixed XML comment
2022-04-17 12:40:17 -04:00
MrGadget
63fdd53903
fixed comment
2022-04-17 12:23:44 -04:00
vis2k
3839fafade
remove unused import
2022-04-17 14:16:36 +08:00
vis2k
bec8e01c69
MIRROR_66_0_OR_NEWER
2022-04-17 14:01:24 +08:00
MrGadget
9c47d87bce
XML Comments
2022-04-16 12:46:33 -04:00
MrGadget
c86deedbd9
Updated NetworkStatistics
...
- Reorganized to method call order
- Added component attributes
- XML comments for docs
2022-04-16 12:24:15 -04:00
vis2k
4d0cd1054a
fix : #3138 , 3135 revert Cmd/Rpc from 2 byte indices back to 4 byte function hashes for stability ( #3139 )
...
* Revert "fix: Weaved static constructors need to always run (#3135 )"
This reverts commit b0624b2f64
.
* Revert "perf: Rpcs/Cmds functionHash bandwidth reduced from 4 => 2 bytes (with the potential for 1 byte VarInt) (#3119 )"
This reverts commit a868368eca
.
* comment
2022-04-16 19:53:55 +07:00
MrGadget
3dba6a3833
NetworkRoomManager log update
2022-04-15 11:25:14 -04:00
Robin Rolf
b0624b2f64
fix: Weaved static constructors need to always run ( #3135 )
...
Static constructors are lazily called when the class is first "used"
https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/static-constructors
> It is called automatically before the first instance is created or any static members are referenced.
This means, in particular circumstances, client and server may diverge on which classes they have "loaded"
and thus the rpc index will be desynced
One such example would be on-demand-loading of prefabs via custom spawn handlers:
A game might not want to preload all its monster prefabs since there's quite many of them
and it is practically impossible to encounter them all (or even a majority of them) in a single play
session.
So a custom spawn handler is used to load the monster prefabs on demand.
All monsters would have the "Monster" NetworkBehaviour class, which would have a few RPCs on it.
Since the monster prefabs are loaded ONLY when needed via a custom spawn handler and the Monster class
itself isn't referenced or "loaded" by anything else other than the prefab, the monster classes static
constructor will not have been called when a client first joins a game, while it may have been called
on the server/host. This will in turn cause Rpc indexes to not match up between client/server
By just forcing the static constructors to run via the [RuntimeInitializeOnLoadMethod] attribute
this is not a problem anymore, since all static constructors are always run and all RPCs will
always be registered by the time they are used
2022-04-12 12:00:15 +08:00
MrGadget
3188472f74
Syntax: same method grouping as NetworkReaderExtenstions
2022-04-11 09:42:23 -04:00
MrGadget
2f76c73c41
fix: NetworkWriterExtensions:WriteTexture2D call WriteArray instead of Write
2022-04-11 09:12:35 -04:00
vis2k
92c5b54034
add comment
2022-04-04 20:36:42 +08:00
vis2k
eded0a2b15
fix : #2705 NetworkClient.SpawnPrefab looks for spawn handlers before looking for registered prefabs, instead of the other way around
2022-04-04 19:21:26 +08:00
vis2k
7d4a9c46e4
NetworkClient: RegisterPrefabIdentity double registration warning improved with explanation (related to #2705 )
2022-04-04 19:13:46 +08:00
vis2k
1a256b5060
Tanks Example: destroy projectile after 2 seconds instead of 5 seconds
2022-04-04 11:51:57 +08:00
vis2k
1a09f0dc58
Tanks Example: reuse DestroySelf()
2022-04-04 11:39:44 +08:00
vis2k
1a6c5de8ac
fix : #2060 serializing GameObjects / NetworkIdentities now throws an obvious exception for prefabs / unspawned objects ( #3132 )
...
* fix : #2060 serializing GameObjects / NetworkIdentities now throws an obvious exception for prefabs / unspawned objects
* NetworkWriter: WriteGameObject reuses WriteNetworkIdentity
* warning instead of exception
2022-04-04 01:24:35 +08:00
vis2k
3ec5ca758e
comment
2022-04-03 11:39:30 +08:00
vis2k
243821f5b1
fix : #2972 ReadNetworkBehaviour now reads the correct amount of data even if the NetworkIdentity has disappeared on the client.
...
added test to guarantee it never happens again.
2022-04-03 10:50:04 +08:00
vis2k
a92189b272
ReadNetworkIdentity: reuse Utils.GetSpawnedInServerOrClient
2022-04-03 10:47:54 +08:00
MrGadget
c81a4374b2
fixed comment
2022-04-01 17:29:23 -04:00
MrGadget
c79c6d1e70
fix: Correct version for Queue.TryDequeue
...
- fixes #3131
2022-04-01 17:19:37 -04:00
vis2k
3d471db938
fix: added Queue.TryDequeue extension for Unity 2019
2022-04-01 17:18:12 +08:00
vis2k
6c2559a73e
perf: Build batches directly instead of queuing serializations ( #3130 )
...
* rename
* so far
* better
* fixx
* old
* error
* typo
* comment
2022-04-01 13:46:38 +08:00
Robin Rolf
1631402bd7
fix: Byte format test uses current culture ( #3126 )
...
Since some may use , instead of . as their decimal place seperator
Error:
String lengths are both 7. Strings differ at index 1.
Expected: "1.00 KB"
But was: "1,00 KB"
2022-03-26 13:06:30 +08:00
vis2k
d8774ecd47
fix : #2954 calling StopClient in host mode does not destroy other client's objects anymore
2022-03-23 23:58:47 +08:00
vis2k
6f981224a9
fix : #2954 calling StopClient in host mode does not reset nextNetId anymore
2022-03-23 23:55:35 +08:00
vis2k
3d6c41a595
fix : #3122 DestroyAllClientObjects now also resets after unspawn handler was called ( #3124 )
2022-03-23 23:54:58 +08:00
MrGadget
cca7afdd08
MultipleMatches example fixed
2022-03-23 07:19:36 -04:00
MrGadget
3024427933
Fixed comments
2022-03-23 07:19:36 -04:00
vis2k
2c138c5d71
hasAuthority comment updated
2022-03-22 22:51:48 +08:00
vis2k
012d7a5d1e
Tests: runtime clientscene tests simplified and they don't rely on host mode anymore
2022-03-22 22:51:35 +08:00
vis2k
4b207d2994
fix: NetworkStatistics Unity 2019 support (part two)
2022-03-19 01:45:13 +08:00
vis2k
8f357d5961
fix: NetworkStatistics Unity 2019 support
2022-03-15 00:23:11 +08:00
vis2k
f4ceb067c9
perf: NetworkTime ExponentialMovingAverage .Value & .Var as fields instead of properties to avoid call overhead
2022-03-12 20:26:40 +08:00
vis2k
d979880c5f
perf: NetworkTime.time inlined
2022-03-12 20:26:20 +08:00
vis2k
18170d16b8
perf: NetworkTime.localTime inlined
2022-03-12 20:26:02 +08:00
vis2k
45e1afc812
perf: inline GetIndexFromFunctionHash because it's called for every RPC
2022-03-12 19:46:00 +08:00
vis2k
5fcbd1d550
perf: CompressVarInt uses WriteByte instead of Write<T> to avoid Action call overhead
2022-03-12 19:20:00 +08:00
vis2k
a868368eca
perf: Rpcs/Cmds functionHash bandwidth reduced from 4 => 2 bytes (with the potential for 1 byte VarInt) ( #3119 )
...
* perf: Rpcs/Cmds functionHash bandwidth reduced from 4 => 2 bytes (with the potential for 1 byte VarInt)
* tests
2022-03-12 18:26:00 +08:00
vis2k
5515eae4e8
perf: HandleRemoteCall passes componentIndex as byte to avoid extra < 0 check
2022-03-11 23:55:35 +08:00
vis2k
b6a9a95572
align NetworkStatistics exactly below NetworkManager HUD
2022-03-11 13:33:36 +08:00
vis2k
3d03146699
feature: NetworkStatistics ( #3118 )
...
* feature: NetworkStatistics
* better UI
2022-03-11 13:29:39 +08:00
vis2k
b100307929
feature: Transport.OnClient/ServerDataSent events += (prepares for NetworkStatistics) ( #3117 )
...
* feature: Transport.OnClient/ServerDataSent events += (prepares for NetworkStatistics)
* comments
2022-03-11 13:19:24 +08:00
vis2k
dc5162099e
feature: allow hooking into Transport events via += -= (prepares for NetworkStatistics) ( #3116 )
2022-03-11 13:10:12 +08:00
vis2k
0499dc0503
Tests: ShutdownCleanup test cleanup to prepare for Transport events += -= hooking
2022-03-10 22:19:21 +08:00
vis2k
e71f0e1cc4
script icons .meta
2022-03-10 20:29:41 +08:00