Commit Graph

6420 Commits

Author SHA1 Message Date
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
MrGadget
fe93f4e870 fix(Extensions): GetPositionAndRotation now excluded for 2022.0 or newer
- Some patch versions of 2021.3 don't have it, some do...this is safer.
- Works as expected in 2021.3.39 and 2022.3.32
2024-06-12 14:00:58 -04:00
mischa
440b61429b fix(LatencySimulation): SimulateSend now supports all channels. Fixes a bug where projects with multiple channels could not simulate latency on non-default channels 2024-06-11 16:43:48 +02:00
mischa
ceab39284c syntax 2024-06-11 16:41:01 +02:00
mischa
993983036a LatencySimulation: one Queue for all channels to simplify code and support more channels later 2024-06-11 16:32:29 +02:00
mischa
9d0a72da9c LatencySimulation: QueuedMessage strongly typed constructor 2024-06-11 16:19:42 +02:00
MrGadget
7c9e8e917c
feat(NetworkServer): Improves RemovePlayerForConnectsion (#3833)
* feat(NetworkServer): Improves RemovePlayerForConnectsion
- Replaces `destroyServerObject` with `RemovePlayerOptions`
- Option to keep the player object on server and clients
- Obsoletes old method by calling new method with correct option
- Examples and Tests updated

* Fixed mistake

* Default to DoNothing

* Fixed comments

* Requested Changes

* Fixed gammar
2024-06-10 15:24:31 +02:00
MrGadget
3650a033e3 Added Empty AddComponent attribute to Example scripts 2024-06-06 19:50:24 -04:00
MrGadget
c54db0b7a1 Assigned Mirror icon to Common scripts 2024-06-06 19:49:00 -04:00
MrGadget
2999e1276a Deleted other PlayerCamera scripts in favor of Common 2024-06-06 19:47:41 -04:00
MrGadget
da3cb68459 Updated Example Player Prefabs to use Common PlayerCamera 2024-06-06 19:46:52 -04:00
MrGadget
5c84ab4830 Moved PlayerCamera to Common 2024-06-06 19:45:20 -04:00
miwarnec
76ff1cf008 PredictionUtils: Destroy Source is now optional 2024-05-30 15:04:33 +02:00
MrGadget
7f073c6b61 Renamed WeaverSyncVarTests.SyncVarsCanBeArray 2024-05-25 09:03:09 -04:00
mischa
9d7fccaac4
fix(LatencySimulation): implement PortTransport since almost all underlying Transports are PortTransports (#3830)
* fix(LatencySimulation): implement PortTransport since almost all underlying Transports are PortTransports

* Update Assets/Mirror/Transports/Latency/LatencySimulation.cs

Co-authored-by: MrGadget <9826063+MrGadget1024@users.noreply.github.com>

* Update Assets/Mirror/Transports/Latency/LatencySimulation.cs

Co-authored-by: MrGadget <9826063+MrGadget1024@users.noreply.github.com>

---------

Co-authored-by: mischa <16416509+vis2k@users.noreply.github.com>
Co-authored-by: MrGadget <9826063+MrGadget1024@users.noreply.github.com>
2024-05-24 16:57:34 +02:00
MrGadget
09efc1cbe8 fix(NetworkManager): OnGUI DEBUG only 2024-05-20 13:46:54 -04:00
MrGadget
f39521d109
fix(WeaverAssembler): Silence Obsolete Warning (#3826)
We have #3630 for this...silence warning until Unity tells us what to use instead.
2024-05-20 12:29:52 +02:00
MrGadget
c573936486 fix(NetworkRoomManager): Hashset instead of List 2024-05-19 07:53:33 -04:00
mischa
1721b5601b KcpTransport: reuse IPEndPoint.PrettyAddress extension 2024-05-19 11:12:03 +02:00
mischa
4482c7910b Extensions: IPEndPoint.PrettyAddress 2024-05-19 11:12:03 +02:00
mischa
6b2d0731a4 Telepathy: moved GetClientAddress exception handling from Transport into Telepathy itself 2024-05-19 11:12:03 +02:00
mischa
a9db03c46f KcpTransport: simplify double ternary for readability 2024-05-19 11:12:03 +02:00
JesusLuvsYooh
c62d7e5c07
Fancy camera for couch coop example, and player list. (#3821) 2024-05-14 18:10:28 +07:00
mischa
e35be5fbd1
fix(NetworkConnection): batches are now properly returned to NetworkWriterPool before destroying the connection (#3815) 2024-05-04 20:55:30 +08:00
mischa
0d36c30206 fix(NetworkTransform): Awake now also configures syncInterval and syncScale, in case OnValidate wasn't called 2024-04-29 12:22:37 +08:00
mischa
63e91919a4 fix(Kcp): V1.41 [2024-04-28]
- fix: KcpHeader is now parsed safely, handling attackers potentially sending values out of enum range
- fix: KcpClient RawSend may throw ConnectionRefused SocketException when OnDisconnected calls SendDisconnect(), which is fine
- fix: less scary cookie message and better explanation
2024-04-28 12:09:32 +08:00
MrGadget
e757dfaac7
fix(NetworkServer): Spawn for owner client even when Force Hidden (#3809)
Interest Management does this in Rebuild, but without IM involved, we need to handle this case in RebuildObserversDefault
2024-04-24 11:57:44 +08:00
MrGadget
2769c50895
fix(SyncObjectCollectionField): Pretty SyncCollection Name (#3808)
* fix(SyncObjectCollectionField): Pretty SyncCollection Name

* char typo

* backward compatibility

* Use RegEx.Replace
2024-04-24 11:57:16 +08:00
mischa
b07d583aff syntax 2024-04-24 11:53:25 +08:00
mischa
3d6233b929 NetworkReader/WriterPool: expose Count for testing 2024-04-24 11:46:34 +08:00
mischa
d7921ebc8d fix(Edgegap Hosting): ssl updates (b721722b51) 2024-04-23 13:25:06 +08:00
mischa
19496422d2 Revert "breaking(NetworkTransform): Use Flags enum for Sync and Interpolation (#3751)"
This reverts commit b89fd6b8ba.
2024-04-23 13:05:37 +08:00
mischa
7e1d3e9d4e Revert "fix(NetworkTransformBase) Debug Options Dropdown"
This reverts commit 7c3b0c12ca.
2024-04-23 13:04:30 +08:00
mischa
5fed995059 Revert "fix: Examples updated with new NT settings (#3810)"
This reverts commit 4be7d0ca3a.
2024-04-23 13:03:53 +08:00
mischa
46c7e18268
feature: SpatialHashing3D for XYZ to include vertical axis in checks (#3814)
* Grid3D

* comment

* feature: SpatialHashing3D for XYZ to include vertical axis in checks

---------

Co-authored-by: mischa <16416509+vis2k@users.noreply.github.com>
2024-04-23 11:55:34 +08:00
JesusLuvsYooh
4be7d0ca3a
fix: Examples updated with new NT settings (#3810)
* 2019 checkpoint of NT Example refresh

To-Do TankTheftAuto in 2022, as they're newer prefabs.
Then test everything.

* 2022 NT Prefabs updated for examples.
2024-04-18 04:56:09 -04:00
MrGadget
d63b3204b3 chore(NetworkTransform): Additional Settings Headers 2024-04-17 02:31:43 -04:00
MrGadget
aab40f46de chore(NetworkTransform): Additional Settings Headers 2024-04-17 02:29:49 -04:00
MrGadget
ae16498eab chore(SpatialHash): Debug Settings Header 2024-04-17 02:29:29 -04:00
mischa
83e381c694 fix(SyncVars): GetSyncVarNetworkBehaviour now validates componentIndex and logs detailed error instead of IndexOutofRangeException 2024-04-17 13:39:27 +08:00
mischa
553bb74144 fix(NetworkTransform): assign target to self if not assigned yet in Awake. Fixes NetworkTransformBase.Construct NRE if OnValidate was never called 2024-04-17 12:58:20 +08:00
MrGadget
ddf21341bf chore: Updated AddComponentMenu attributes 2024-04-17 00:55:59 -04:00
mischa
c047b484c8 fix(Pool): Return now checks for null entries to avoid nulls creeping into the pool 2024-04-17 12:33:03 +08:00
MrGadget
7c3b0c12ca fix(NetworkTransformBase) Debug Options Dropdown 2024-04-16 23:59:36 -04:00
MrGadget
17639c8139 chore(NetworkDiagnosticsDebugger): Mirror icon 2024-04-16 23:58:37 -04:00
MrGadget
97e360b7af chore(NetworkTransform): Fixed AddComponentMenu (Obsolete) 2024-04-16 14:04:51 -04:00
MrGadget
c807dae992 fix(NetworkRigidbody2D): Obsolete - Use NetworkRigidbodyReliable / NetworkRigidbodyUnreliable 2D instead 2024-04-16 13:41:16 -04:00
MrGadget
7bc7eb4e9d chore(NetworkRigidbody): Fixed AddComponentMenu (Obsolete) 2024-04-16 13:39:39 -04:00
MrGadget
8a52a97031 chore(NetworkTransformBase): Removed Header attributes 2024-04-16 13:38:02 -04:00
MrGadget
b89fd6b8ba
breaking(NetworkTransform): Use Flags enum for Sync and Interpolation (#3751)
* breaking(NetworkTransform): Use Flags enum for Sync and Interpolation
- retains public fields converted to readonly shortcuts to flag enum value
- breaking change because components would be reset to defaults.

This may not get merged to current NT, but could be applied to future versions.

* NetworkTransform2kTests: removed commented code

* Better Naming and Bandwidth Savings Flags

* Removed comment
2024-04-15 23:06:48 +08:00
MrGadget
3e1eb7998d
feat(Transport): Reimplement Transport Exception Actions (#3461)
* feat(Transport): Reimplement Transport Exception Actions

* Fixed Script Templates

* fix: Updated Network Transform Template

* fix(NetworkIdentity): Separate ResetState (#3742)

* fix(NetworkTransform): Separate ResetState
We should not have hijacked Unity's callback for runtime resets.

* Rename test too

* fix(InterestManagement): Separate ResetState (#3743)

* fix(InterestManagement): Separate ResetState
We should not have hijacked Unity's callback for runtime resets.

* Updated Template

* feat(NetworkTransform): Default Sync Direction = Client To Server (#3741)

* feat(NetworkTransform): Default Sync Direction = Client To Server
- This is done in Reset so Network Behaviour isn't effected.
- This will not change NT components already in place on objects / prefabs unless user manually chooses Reset in the inspector.

* Update Assets/Mirror/Components/NetworkTransform/NetworkTransformBase.cs

---------

Co-authored-by: mischa <16416509+miwarnec@users.noreply.github.com>

* Prediction: detect renderers in children

* Add missing replace handler override to NetworkServer (#3744)

* perf(BenchmarkIdle Example): Lowered spawn amount to 10k (#3745)

50k causes a long delay, and looks like Unity has initially frozen, even on beefy machines.
To prevent users from thinking this, and perhaps force closing, amount is lowered to something still crazy, but more reasonable. :)
- Nothing else has been touched

* fix(Room Example): Updated Reward Script
- Added Headers
- made `available` private with ReadOnly

* feat(NetworkClient): Add ReplaceHandler with channel param (#3747)

* breaking(NetworkClient): Remove NetworkConnection parameter from ReplaceHandler
There is only one connection on client.
Aligns with RegisterHandler that takes no NetworkConnection parameter.

* feat(NetworkClient): Add ReplaceHandler with channel param

* breaking(NetworkIdentity): Rename visible to visibility (#3748)

* breaking(NetworkIdentity): Rename visible to visibility

* Remove TODO comment

* Prediction: physics copy now has the correct layer assigned to fix predicted objects falling through the ground in games which use custom physics collision matrix

* Update Readme: prediction status

* fix(MirrorBenchmarkIdle): Spawn Amount Correction

* Prediction: disable log spam

* Prediction: fix wrong null check

* Prediction: catch errors

* Prediction: catch errors early

* chore(CI): RunUnityTests - updated unityVersions

* fix(Prediction): fix MoveColliders not copying isTrigger

* Prediction: make Move.* functions static for reuse later

* Prediction: MoveAllColliders helper for reuse

* fix(Prediction): now supports interest management by moving physics copy's components back onto self before destroying the physics copy

* Prediction: now supports colliders on children

* comments

* fix(Prediction): when copying child Colliders, copy their relative position/rotation/scale too

* fix(Prediction): child colliders now have the correct layer too

* oops

* Prediction: move GameObject/MonoBehaviour copying code into PredicitonUtils.cs

* Prediction: MovePhysicsComponents helper function

* Prediction: comments

* Prediction: collider materials are now copied too

* feat(SyncVar): Arrays are supported (#3750)

* feat(SyncVar): Arrays are supported

* Moved and revised SyncVarsCantBeArray test
- Now named SyncVarsCanBeArray
- thisShouldntWork renamed to thisShouldWork

* Prediction: support all Joints

* Prediction: add support for predicted objects which are children of parents with non-default scale

* 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

* PredictionUtils: Fixed pre-Unity 2022.3 errors

* PredictionUtils: Fixed pre-Unity 2020.3 errors

* chore(CI): RunUnityTests - updated unityVersion

* NetworkBehaviour: Improved comments

* Edgegap Hosting: updated to latest version for fixes and Websocket support

* PredictedRigidbody: improve logging

* Add network messages to lookup dict in network server replace handler (#3753)

* Add network mesages to lookup dict in network client replace handler (#3754)

* Prediction: rename DestroyCopies to DestroyGhosts for consistency

* syntax

* perf(Prediction): cache .transform getter because this is performance critical

* perf(Prediction): optimize LateUpdate because this shows in profiler! deep profiling: 93 objects, before=0.54ms, after=0.22ms => 2.5x faster!

* perf(Prediction): optimize ghosts. deep profiling: 93 objects before=0.08ms after =0.03ms!

* chore: RunUnityTest - upload-artifact@v4

* chore(CI): Semantic.yml - use v4 of github actions

* fix(MultiplexTransport): Better Startup Logging

* perf(PredictedRigidbody): next round of optimizations

* perf(Extensions): Add shim for transform.GetPositionAndRotation (#3755)

Doesn't exist in unity versions 2021.2 or earlier

* ThreadLog: more obvious prefix!

* fix(MultiplexTransport): Fixed log output

* KcpTransport: fixed ToString to match other transports

* fix typos

* fix(MultiplexTransport): Use TryGetValue for Lookups (#3758)

* NetworkManager: fixed comment

* Prediction: warn about not readable meshes

* NetworkTime: SendPing method added.

* 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>

* SyncDictionary: Fixed typo in comment

* 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>

* fix(NetworkManager): FinishStartHost-Don't force localhost (#3759)

* perf(PredictedRigidbody): only record state if changed(!)

* perf(PredictedRigidbody): reduce sends to 1 Hz while idle(!)

* Prediction: expose physics copy components to inheriting classes

* 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.

* fix(PredictedRigidbody): fix host mode [FakeByte]

* perf(PredictedRigidbody): OnSerialize faster

* 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

* 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.

* chore(CI): RunUnityTests - updated unityVersions

* chore(CI): RunUnityTests - updated unityVersion

* chore(CI): RunUnityTests - updated unityVersion

* fix(SWT): Improved logging in ClientHandshake
- Added hint to check Server Roles for handshake key mismatches

* 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.

* PredictedRigidbody: add OnBeforeApplyState callback

* doc(ReadMe): Fixed sponsor link

* CanvasNetworkManagerHUD: fixed indent

* perf(Prediction): ghosts-on-demand(!)

* Prediction: sync angularVelocity too

* Prediction: better motion smoothing time

* Prediction: only set velocity if not kinematic

* Prediction: sync delta rotations too [FakeByte]

* fix(PredictedRigidbody): reduce-send-rate considers angular velocity now too!

* fix(Prediction): ConfigurableJoints' range of motion is now moved correctly

* 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

* chore(CI): RunUnityTests - updated unityVersions

* fix(Prediction): disable setting scale for joints since it causes issues with parenting

* feat: LagCompensator as convenience component that wraps all the Lag Compensation logic

* Update README.md

* LagCompensator: rename collider field to be more obvious in Inspector

* LagCompensator: preview notice

* refactor: NetworkServer DestroyObject(DestroyMode) logic moved to Unspawn() + Destroy to remove the DestroyMode parameter

* fix: NetworkServer.Destroy never destroys scene objects anymore since unlike prefabs, once they are gone we can never instantiate them again (#3771)

* fix: NetworkServer.Spawn now activates inactive GameObjects (for example, in case they were previously Unspawned)

* chore(CI): RunUnityTests - updated unityVersion

* Upgrade to Unity 2021.3.35 LTS

* MIRROR_88_OR_NEWER

* 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

* 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

* breaking: Asset Store Release
BREAKING CHANGE: Asset Store Release

* Removed empty folder meta

* chore: EncryptionTransport help url (#3774)

* fix: NetworkServer.Destroy now warns instead of throwing for null objects again

* fix: NetworkServer.OnCommandMessage NullReferenceException due to log message accessing a guaranteed-to-be-null value

* feat(Transport): IsEncrypted, EncryptionCipher virtuals

* feat: EncryptionTransport overrides IsEncrypted & Cipher (#3776)

* feat: SWT overrides Transport.IsEncrypted & EncryptionCipher (#3777)

TLS isn't technically correct, but there's no good way to get that info

* SimpleWebTransport: moved overrides down

* fix: #2503 Weaver Custom Read Write functions for Serialization not working over multiple assembly definitions

* chore(CI): RunUnityTests - updated unityVersion

* fix: EdgegapKcp StopHost() null reference exception (#3779)

see https://github.com/MirrorNetworking/Mirror/issues/3708

* fix(ILPostProcessorAssemblyResolver): Ignore Bee.BeeDriver
- There is now BeeDriver2, so using StartsWith

* PredictedRigidbody: make .predictedRigidbody accessible to other components!

* Examples: Prediction Benchmark with readme & current results

* readme changed from .txt to .md for formatting

* Prediction: syntax

* chore(CI): RunUnityTests - updated unityVersions

* PredictedRigidbody: OnDeserialize parsing grouped together (syntax change)

* PredictedRigidbody: syntax

* perf: PredictedRigidbody doesn't log hard correction when ahead anymore

* perf: Prediction.Sample() removed SortedList foreach iteration allocations(!)

* perf: PredictedRigidbody doesn't log "Separating Physics" anymore

* PredictedSyncData struct first step: same reads & writes

* perf: PredictedRigidbody syncs a blittable struct once instead of doing 5 separate reads/writes

* perf: PredictedRigidbody caches IsMoving sqr computations

* inlining

* perf: PredictedRigidbody FixedUpdate caches sqr computations

* perf: PredictedRigidbody RecordState only calls NetworkTime.time getter once

* perf: PredictedRigidbody state properties inlined

* perf: PredictedRigidbody RecordState only grabs count once

* prediction benchmark updated

* perf: PredictedRigidbody UpdateGhosting: only every few frames

* perf: PredictedRigidbody caches physics transform to use GetPositionAndRotation

* ProjectSettings resaved with current Unity version

* PredictedRigidbody: update hard follow commented code

* perf: PredictedRigidbody smoothFollowThreshold squared caching

* perf: PredictedRigidbody MoveTowardsCustom

* perf: PredictedRigidbody MoveTowardsCustom: only calculate distance factor once

* Prediction: RingBuffer perf comments

* 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

* chore: old unity compat for PredictedRigidbody (#3781)

* fix(EdgegapLobbyKcpTransport): Fixed HelpURL

* EncryptionTransportInspector: Fixed button label

* fix: Edgegap Lobby Create UI Tweaks (#3782)

* chore: Edgegap Lobby Create UI Tweaks

* 3 loading dots

* help urls

---------

Co-authored-by: mischa <16416509+miwarnec@users.noreply.github.com>
Co-authored-by: mischa <info@noobtuts.com>
Co-authored-by: Justin Nolan <justin@nolan.de>
Co-authored-by: JesusLuvsYooh <57072365+JesusLuvsYooh@users.noreply.github.com>
Co-authored-by: Robin Rolf <imer@imer.cc>
Co-authored-by: James Frowen <jamesfrowendev@gmail.com>
Co-authored-by: ninjakickja <80569286+ninjakickja@users.noreply.github.com>
Co-authored-by: mischa <16416509+vis2k@users.noreply.github.com>
2024-04-15 22:57:03 +08:00
MrGadget
90fc00a446
feat(MoveToAssetsFolder): Editor Script Moves ScriptTemplates to Assets (#3805)
- Ensures ScriptTemplates folder is in Assets root
- Allows ScriptTemplates folder to be included in Asset Store package under Mirror folder
- Only runs once when Unity first loads project via SessionState flag
2024-04-15 10:52:58 -04:00
MrGadget
cf20ba2caa feat(SyncSet): Added OnChange Action 2024-04-14 17:08:14 -04:00
MrGadget
6e6227ad6b fix(SyncSet): AddOperation now properly handles oldItem 2024-04-14 17:04:49 -04:00
MrGadget
d5bb965712 feat(SyncList): Added OnChange Action 2024-04-14 17:01:00 -04:00
MrGadget
52e6ca36f0 feat(SyncDictionary): Added OnChange Action 2024-04-14 17:00:33 -04:00
MrGadget
5d167b9998 chore(NetworkServerRuntimeTest): Fixed typo 2024-04-14 12:14:25 -04:00
MrGadget
a96fe27037
fix(NetworkAnimator): Default animatorSpeed to 1 (#3801) 2024-04-11 00:19:12 +08:00
MrGadget
278324c1f1 NetworkTransformBase: Eliminate redundant code 2024-04-10 07:45:48 -04:00
ReMake
0726126aa7
fix(NetworkRigidbody Components): Added missing OnTeleport overrides (#3788)
* Updated NetworkRigidbody Components for fix teleportation issues

fix teleportation issue

* Optimizes Usage of Physic.SyncTransform.
2024-04-08 14:08:19 +08:00
mischa
ae28158e70 fix(LatencySimulation): unreliable now sends over the correct channel 2024-04-07 23:40:00 +08:00
MrGadget
09ba26f239 chore(SyncDictionary): Reorganized methods 2024-04-03 17:24:29 -04:00
mischa
629c560bce Stacked Prediction Example: show ping 2024-04-04 00:26:40 +08:00
mischa
83807e978d Predicted Billiards: remove unused code 2024-04-02 17:12:48 +08:00
mischa
779da04b7f Predicted Billiards Example: remove old 'inputs' code 2024-04-02 16:26:56 +08:00
mischa
83d652c7f4
fix(EdgegapHosting): only include enabled scenes in build (#3798)
* fix(EdgegapHosting): only include enabled scenes in build

* syntax
2024-04-02 16:23:51 +08:00
MrGadget
37db5037cd chore(NetworkInformationPreview): align values to labels better 2024-04-02 00:47:30 -04:00
MrGadget
65dcbe40e1
chore: Added LagCompensatorInspector (#3796) 2024-03-29 13:31:52 +08:00
MrGadget
f2291fc5a8 fix(LagCompensator): Updated Attributes
ServerCallback, DisallowMultipleComponent, and HelpURL
2024-03-28 13:36:08 -04:00
MrGadget
24883cfe02 chore(NetworkManager): Fixed SendRate Tooltip 2024-03-28 11:28:08 -04:00
MrGadget
c439bf80e8 chore(NetworkManager): Clarified SendRate Tooltip 2024-03-28 11:21:17 -04:00
mischa
0c2321aca6 perf(PredictedRigidbody): introduce FAST mode where physics & renderers aren't separated 2024-03-28 22:11:52 +08:00
mischa
b815c87a6d forgot to remove logs 2024-03-28 21:32:26 +08:00
mischa
5b24c886ba fix(PredictedRigidbody): increase default motion smoothing angular velocity threshold 2024-03-28 21:31:07 +08:00
mischa
8e2bcc02d3 perf(PredictedRigidbody): OnReceivedState compares sqr magnitude (part 2) 2024-03-27 23:07:36 +08:00
mischa
a6adc2599f syntax 2024-03-27 23:07:36 +08:00
mischa
4b632edc4c perf(PredictedRigidbody): OnReceivedState compares sqr magnitude 2024-03-27 23:07:36 +08:00
mischa
dba373b27d perf(PredictedRigidbody): revert syncing 'sleeping' because it cut benchmark performance in half (!) 2024-03-27 23:07:36 +08:00
MrGadget
fa64d7abc7 fix(RemoteStatistics): Changed default hotKey to backQuote
- Same as GUIConsole, and for the same reason (F11 is fullscreen in browser)
2024-03-26 08:17:05 -04:00
MrGadget
f15b9f3539 feat(SyncSet): Add individual Actions for operations
Deprecates Callback Action.
2024-03-24 12:01:17 -04:00
MrGadget
0fe29dcd9e style(SyncSetTest): code formatting 2024-03-24 10:18:58 -04:00
MrGadget
ee61745c4d fix(SyncSet): Clear after Callback
Allows users to iterate the set before it's wiped
2024-03-24 10:16:48 -04:00
MrGadget
527b754061 fix(SyncSet): Change Callback to Action 2024-03-24 10:10:29 -04:00
MrGadget
bed7e81555 style(SyncSetTest): code formatting 2024-03-24 10:07:49 -04:00
MrGadget
efae595453 chore(SyncSet): code formatting 2024-03-24 10:07:08 -04:00
mischa
717823f302 readme 2024-03-24 12:00:45 +08:00
mischa
d1f0f3098a Prediction Example: stacked predicted boxes 2024-03-24 11:59:32 +08:00
mischa
0fc617d2cb PredictedRigidbody: sync & show remote.sleeping to easier debug objects coming to rest 2024-03-24 11:58:33 +08:00
MrGadget
5e1c80255c
feat(SyncList): Add individual Actions for operations (#3794) 2024-03-23 14:54:38 -04:00
MrGadget
c69e13df2a style(SyncListTest): Formatting 2024-03-23 14:38:23 -04:00
MrGadget
f5c2336112 chore(:SyncListTest): Improved tests 2024-03-23 14:38:23 -04:00
MrGadget
7236447ef9 fix(SyncList): Clear after Callback
Allows users to iterate the list before it's wiped
2024-03-23 14:38:23 -04:00
MrGadget
f2b89867a0 fix(SyncList): Change Callback to Action 2024-03-23 14:38:23 -04:00
mischa
f2d43de036 fix: PredictedRigidbody now always teleports to corrections to avoid objects not being able to move to a corrected position if there's another object inbetween 2024-03-23 23:57:40 +08:00
MrGadget
a356ef7aa4 style(SyncList): formatting 2024-03-23 11:48:27 -04:00
mischa
48beaf597c PredictedRigidbody: virtual Awake 2024-03-23 23:43:19 +08:00
F_CIL
8420c3fc6c
Update comments for SyncVar (#3792)
The current comments for SyncVar is somewhat misleading. That is to say, it is mentioned in the comments that SyncVar can only be modified on the server side, and will be automatically synchronized to the client. But in fact, if syncDirection is set to ClientToServer, SyncVar should be modified on the client and automatically synchronized to the server and other clients. The same error exists in the comments of hook attribute
2024-03-23 18:58:42 +08:00
MrGadget
81238b69d1
feat(SyncDictionary): Add individual Actions for operations (#3791) 2024-03-23 10:44:52 +08:00
MrGadget
b59fa3511e
SyncDictionary: Add oldValue to AddOperation (#3790)
This is preparation for Actions coming in subsequent PR.
2024-03-22 12:49:01 +08:00
MrGadget
74a4f25a61
fix(SyncDictionary): Clear after Callback (#3789) 2024-03-22 11:02:54 +08:00
MrGadget
f7329f621c chore(SyncDictionaryTest): Improved tests 2024-03-21 10:53:42 -04:00
MrGadget
e83c127747 style(SyncDictionary): code formatting 2024-03-21 09:55:16 -04:00
mischa
d19f27a936 Billiards readme: link prediction article 2024-03-21 12:37:20 +08:00
mischa
6c6b3e49e0 Billiards (not predicted): add latency simulation and improve explanation 2024-03-21 12:14:03 +08:00
mischa
831e2c506c Predicted Billiards: fix pocket resets for latest prediction and update Readme to be ready for users! 2024-03-21 11:48:54 +08:00
mischa
3850756a5b Predicted Billiards: fix Rigidbody access for latest prediction 2024-03-20 21:31:07 +08:00
mischa
a39c557e13 Predicted Billiards: fix dragging with predicted Rigidbody 2024-03-20 21:26:29 +08:00
mischa
376ed53483 Predicted Billiards: fix ghost materials 2024-03-20 18:38:14 +08:00
mischa
ac87583df8 perf: Prediction.CorrectHistory removed O(N) insertion. adjusting successive values is enough. 2024-03-18 16:24:12 +08:00
mischa
a84b7863ac fix: Prediction.CorrectHistory now adjusts afterIndex after removals/insertions 2024-03-18 15:52:24 +08:00
mischa
af35e8678f Prediction: explain insertions complexity 2024-03-18 15:49:08 +08:00
MrGadget
dfa551239e fix(SimpleWeb.jslib): Locally Scope Runtime 2024-03-17 14:10:38 -04:00
MrGadget
36bac87b63 style(SimpleWeb.jslib): Code formatting 2024-03-17 14:09:51 -04:00
MrGadget
b062fe77ff fix(SimpleWeb): scope websocket locally instead of globally 2024-03-15 21:29:44 -04:00
Robin Rolf
80687d3b4c
fix(LobbyServiceCreateDialogue): Added warning about Edgegap Lobby Name bug (#3783) 2024-03-15 16:02:50 -04:00
Robin Rolf
9641842147
fix: Edgegap Lobby Create UI Tweaks (#3782)
* chore: Edgegap Lobby Create UI Tweaks

* 3 loading dots

* help urls
2024-03-15 13:19:50 -04:00
MrGadget
84cb7089bf EncryptionTransportInspector: Fixed button label 2024-03-15 11:44:36 -04:00
MrGadget
3ccf1c1ce5 fix(EdgegapLobbyKcpTransport): Fixed HelpURL 2024-03-15 11:16:52 -04:00
Robin Rolf
3a4f68dfcc
chore: old unity compat for PredictedRigidbody (#3781) 2024-03-15 22:12:20 +08:00
Robin Rolf
a23c5b75ad
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-03-15 14:09:04 +00:00
mischa
4d6ac92b62 Prediction: RingBuffer perf comments 2024-03-15 13:44:46 +08:00
mischa
52d00aa3e3 perf: PredictedRigidbody MoveTowardsCustom: only calculate distance factor once 2024-03-15 13:33:04 +08:00
mischa
e7e02c6662 perf: PredictedRigidbody MoveTowardsCustom 2024-03-15 13:21:11 +08:00
mischa
3daa3db8a4 perf: PredictedRigidbody smoothFollowThreshold squared caching 2024-03-15 12:55:09 +08:00
mischa
f532f0a283 PredictedRigidbody: update hard follow commented code 2024-03-15 12:32:42 +08:00
mischa
2a70862462 perf: PredictedRigidbody caches physics transform to use GetPositionAndRotation 2024-03-14 17:57:41 +08:00
mischa
0fc6688cea perf: PredictedRigidbody UpdateGhosting: only every few frames 2024-03-14 17:55:44 +08:00
mischa
be0efc9fb6 prediction benchmark updated 2024-03-14 15:37:59 +08:00
mischa
fde90897f3 perf: PredictedRigidbody RecordState only grabs count once 2024-03-14 15:30:28 +08:00
mischa
1c7cc41bbd perf: PredictedRigidbody state properties inlined 2024-03-14 15:30:25 +08:00
mischa
7f0a774968 perf: PredictedRigidbody RecordState only calls NetworkTime.time getter once 2024-03-14 15:30:22 +08:00
mischa
cbc67aecc0 perf: PredictedRigidbody FixedUpdate caches sqr computations 2024-03-14 15:29:52 +08:00
mischa
0781dd58c0 inlining 2024-03-14 15:29:33 +08:00
mischa
ce00db0943 perf: PredictedRigidbody caches IsMoving sqr computations 2024-03-14 15:29:30 +08:00
mischa
a4f42194cf perf: PredictedRigidbody syncs a blittable struct once instead of doing 5 separate reads/writes 2024-03-14 14:57:38 +08:00
mischa
fb1d2ee683 PredictedSyncData struct first step: same reads & writes 2024-03-14 14:57:38 +08:00
mischa
3e852d3cb3 perf: PredictedRigidbody doesn't log "Separating Physics" anymore 2024-03-14 14:57:38 +08:00
mischa
95881c02b5 perf: Prediction.Sample() removed SortedList foreach iteration allocations(!) 2024-03-14 14:57:38 +08:00
mischa
cd4715fc7c perf: PredictedRigidbody doesn't log hard correction when ahead anymore 2024-03-14 14:57:38 +08:00
mischa
59ef0e0cf3 PredictedRigidbody: syntax 2024-03-14 14:57:19 +08:00
mischa
949022e265 PredictedRigidbody: OnDeserialize parsing grouped together (syntax change) 2024-03-14 11:39:52 +08:00
mischa
f7a29718b9 Prediction: syntax 2024-03-13 19:33:43 +08:00
mischa
82737f58fa readme changed from .txt to .md for formatting 2024-03-13 17:19:48 +08:00
mischa
a88ec0e5c1 Examples: Prediction Benchmark with readme & current results 2024-03-13 17:18:21 +08:00
mischa
62bf067f0e PredictedRigidbody: make .predictedRigidbody accessible to other components! 2024-03-13 13:26:08 +08:00
MrGadget
a25b74565f fix(ILPostProcessorAssemblyResolver): Ignore Bee.BeeDriver
- There is now BeeDriver2, so using StartsWith
2024-03-12 12:22:14 -04:00
Robin Rolf
fafc10b639
fix: EdgegapKcp StopHost() null reference exception (#3779)
see https://github.com/MirrorNetworking/Mirror/issues/3708
2024-03-12 00:35:21 +08:00
mischa
65f33dee90 fix: #2503 Weaver Custom Read Write functions for Serialization not working over multiple assembly definitions 2024-03-08 15:20:23 +08:00
MrGadget
f10bc77195 SimpleWebTransport: moved overrides down 2024-03-07 07:57:22 -05:00
Robin Rolf
1a915ccde7
feat: SWT overrides Transport.IsEncrypted & EncryptionCipher (#3777)
TLS isn't technically correct, but there's no good way to get that info
2024-03-07 12:52:33 +08:00
Robin Rolf
bac0f77cd7
feat: EncryptionTransport overrides IsEncrypted & Cipher (#3776) 2024-03-07 12:51:42 +08:00
mischa
d558c17815 feat(Transport): IsEncrypted, EncryptionCipher virtuals 2024-03-07 12:10:36 +08:00
mischa
421804378b fix: NetworkServer.OnCommandMessage NullReferenceException due to log message accessing a guaranteed-to-be-null value 2024-03-07 11:47:51 +08:00
mischa
9e15f2423d fix: NetworkServer.Destroy now warns instead of throwing for null objects again 2024-03-06 11:20:56 +08:00
Robin Rolf
9b2a6a3023
chore: EncryptionTransport help url (#3774) 2024-03-05 17:20:15 -05:00
MrGadget
e59e370f4f Removed empty folder meta 2024-03-05 16:44:13 -05:00
MrGadget
9b103d5370 breaking: Asset Store Release
BREAKING CHANGE: Asset Store Release
2024-03-05 12:44:01 -05:00
Robin Rolf
dac1f6406f
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-03-05 12:13:09 -05:00
Robin Rolf
5482e60ff0
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-03-05 08:51:34 -05:00
mischa
a87e65c2c7 MIRROR_88_OR_NEWER 2024-03-05 20:26:49 +08:00
mischa
8344063563 fix: NetworkServer.Spawn now activates inactive GameObjects (for example, in case they were previously Unspawned) 2024-03-05 11:56:47 +01:00
mischa
dbc3887529
fix: NetworkServer.Destroy never destroys scene objects anymore since unlike prefabs, once they are gone we can never instantiate them again (#3771) 2024-03-03 17:56:39 +08:00
mischa
6b526d754f refactor: NetworkServer DestroyObject(DestroyMode) logic moved to Unspawn() + Destroy to remove the DestroyMode parameter 2024-03-02 18:11:39 +08:00
mischa
f7d47ef8b7 LagCompensator: preview notice 2024-02-26 08:56:43 +01:00
mischa
6b21de516d LagCompensator: rename collider field to be more obvious in Inspector 2024-02-25 12:49:34 +01:00
mischa
9081b2e3d2 feat: LagCompensator as convenience component that wraps all the Lag Compensation logic 2024-02-24 16:50:33 +01:00
mischa
8dc4b616c4 fix(Prediction): disable setting scale for joints since it causes issues with parenting 2024-02-22 08:47:25 +01:00
MrGadget
490dea82ab
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-02-16 17:22:59 +01:00
mischa
2ed1d7329c fix(Prediction): ConfigurableJoints' range of motion is now moved correctly 2024-02-16 11:22:06 +01:00
mischa
78cdaef9c4 fix(PredictedRigidbody): reduce-send-rate considers angular velocity now too! 2024-02-14 19:45:28 +01:00
mischa
41a6591f8a Prediction: sync delta rotations too [FakeByte] 2024-02-14 11:02:08 +01:00
mischa
beea27275f Prediction: only set velocity if not kinematic 2024-02-14 11:01:03 +01:00
mischa
3960d5beaa Prediction: better motion smoothing time 2024-02-14 11:00:40 +01:00
mischa
1532c46557 Prediction: sync angularVelocity too 2024-02-14 11:00:26 +01:00
mischa
2f9d60be48 perf(Prediction): ghosts-on-demand(!) 2024-02-11 17:07:54 +01:00