You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: NetworkTransform fails to sync multiple state updates (#3614)
## Purpose of this PR
This PR resolves an issue where a client, under above average latency
and packet loss conditions, could receive multiple `NetworkTransform`
state updates in one frame and when processing the state updates only
the last state update would be applied to the transform.
fix: #3571
### Jira ticket
[MTTB-1530](https://jira.unity3d.com/browse/MTTB-1530)
### Changelog
[//]: # (updated with all public facing changes - API changes, UI/UX
changes, behaviour changes, bug fixes. Remove if not relevant.)
- Fixed: Issue where a client, under above average latency and packet
loss conditions, could receive multiple `NetworkTransform` state updates
in one frame and when processing the state updates only the last state
update would be applied to the transform if interpolation was disabled.
<!-- Uncomment and mark items off with a * if this PR deprecates any
API:
### Deprecated API
- [ ] An `[Obsolete]` attribute was added along with a `(RemovedAfter
yyyy-mm-dd)` entry.
- [ ] An [api
updater](https://confluence.unity3d.com/display/DEV/Obsolete+API+updaters)
was added.
- [ ] Deprecation of the API is explained in the CHANGELOG.
- [ ] The users can understand why this API was removed and what they
should use instead.
-->
## Documentation
[//]: # (
This section is REQUIRED and should mention what documentation changes
were following the changes in this PR.
We should always evaluate if the changes in this PR require any
documentation changes.
)
- No documentation changes or additions were necessary.
## Testing & QA
[//]: # (
This section is REQUIRED and should describe how the changes were tested
and how should they be tested when Playtesting for the release.
It can range from "edge case covered by unit tests" to "manual testing
required and new sample was added".
Expectation is that PR creator does some manual testing and provides a
summary of it here.)
### Functional Testing
[//]: # (If checked, List manual tests that have been performed.)
_Manual testing :_
- [X] `Manual testing done`
-
[PR-46](https://github.cds.internal.unity3d.com/unity/Asteroids-CMB-NGO-Sample/pull/46)
manual test.
_Automated tests:_
- [ ] `Covered by existing automated tests`
- [X] `Covered by new automated tests`
_Does the change require QA team to:_
- [ ] `Review automated tests`?
- [ ] `Execute manual tests`?
If any boxes above are checked, please add QA as a PR reviewer.
## Backport
This is an NGO v2.x only issue.
Copy file name to clipboardExpand all lines: com.unity.netcode.gameobjects/CHANGELOG.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -22,6 +22,8 @@ Additional documentation and release notes are available at [Multiplayer Documen
22
22
23
23
### Fixed
24
24
25
+
- Fixed issue where a client, under above average latency and packet loss conditions, could receive multiple NetworkTransform state updates in one frame and when processing the state updates only the last state update would be applied to the transform if interpolation was disabled. (#3614)
//Assure we have not received any state updates from the authority that could skew the test
85
+
Assert.IsTrue(localState.NetworkTick==lastStateTick,$"Previous Non-authority state tick was {lastStateTick} but is now {localState.NetworkTick}. Authority pushed a state update.");
86
+
87
+
// Simualate a 2nd state update on a different position axis
0 commit comments