Skip to content

Commit f98e7a2

Browse files
NoelStephensUnityVadim TsvetkovSoprachevAKnetcode-ci-service
authored
fix: client authoritative NetworkAnimator skips sending to 2nd player when in server mode (#2127)
co-authored-by: Vadim Tsvetkov co-authored-by: Andrei Soprachev * fix: animator syncronization for >2 clients * fix: remove redundant rpc call when host * test This includes coverage for running in server mode only as well as validates the fix where a second client will receive updates. co-authored-by: Noel Stephens - Unity * fix Fixed some additional issues with trigger synchronization. Removed the bool from ProcessAnimationMessageQueue as it was no longer needed. * fix This is a new approach to synchronizing transitions with late joining players without having to actually set the associated conditional trigger. By building a small list of all states and then building a quick lookup table, we can just synchronize the "transition state" which for late joining clients is a cross fade between the start and destination state. We synchronize the normalized time (where it was in the transition on the server side when the client connected) of the transition this way as well. Now, we just synchronize states (which some can be transition states). * test increased number of clients Fixed issue where the late joining client was not being shutdown at the end of the LateJoinSynchronizationTest. * update NetworkAnimator uses ISerializationCallbackReceiver to build its transition to states table for late joining client synchronization when a transition is ocurring. Co-authored-by: Vadim Tsvetkov <[email protected]> Co-authored-by: Andrei Soprachev <[email protected]> Co-authored-by: Unity Netcode CI <[email protected]>
1 parent adc6432 commit f98e7a2

File tree

5 files changed

+582
-115
lines changed

5 files changed

+582
-115
lines changed

com.unity.netcode.gameobjects/CHANGELOG.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,10 @@ Additional documentation and release notes are available at [Multiplayer Documen
2929
- Fixed Connection Approval Timeout not working client side. (#2164)
3030
- Fixed ClientRpcs always reporting in the profiler view as going to all clients, even when limited to a subset of clients by `ClientRpcParams`. (#2144)
3131
- Fixed RPC codegen failing to choose the correct extension methods for `FastBufferReader` and `FastBufferWriter` when the parameters were a generic type (i.e., List<int>) and extensions for multiple instantiations of that type have been defined (i.e., List<int> and List<string>) (#2142)
32+
- Fixed the issue where running a server (i.e. not host) the second player would not receive updates (unless a third player joined). (#2127)
33+
- Fixed issue where late-joining client transition synchronization could fail when more than one transition was occurring.(#2127)
3234
- Fixed throwing an exception in `OnNetworkUpdate` causing other `OnNetworkUpdate` calls to not be executed. (#1739)
33-
- Fixed synchronisation when Time.timeScale is set to 0. This changes timing update to use unscaled deltatime. Now network updates rate are independant from the local time scale. (#2171)
35+
- Fixed synchronization when Time.timeScale is set to 0. This changes timing update to use unscaled deltatime. Now network updates rate are independent from the local time scale. (#2171)
3436
- Fixed not sending all NetworkVariables to all clients when a client connects to a server. (#1987)
3537

3638
## [1.0.2] - 2022-09-12

0 commit comments

Comments
 (0)