fix: ClientNetworkTransform ownership change with half precision synchronization issues [MTT-7271] by NoelStephensUnity · Pull Request #2712 · Unity-Technologies/com.unity.netcode.gameobjects

added 5 commits

September 25, 2023 10:24
Adding OnOwnershipChanged(ulong previous, ulong current)
This resolves the issue with client authoritative network transforms and the random "noise" that would occur when transitioning ownership from a remote client back to the host-server.
- Latent messages from the client would still be received and processed after ownership changed.
- Ownership changed messages would proceed the NetworkTransform initialization state update message. Now ownership changed messages precede the NetworkTransform initialization state update message.
- Clients could sometimes have the same network tick value even when the tick event had triggered, which for NetworkDeltaPosition would cause dropped state updates.
minor adjustment to a test that would fail from time to time due to precision.
This is another bug in the validation test suite where removing an override of a virtual method that can still be overridden will throw an API validation error.

This was referenced

Sep 25, 2023

@NoelStephensUnity

@NoelStephensUnity

ShadauxCat

NoelStephensUnity added a commit that referenced this pull request

Oct 5, 2023
…hronization issues [MTT-7271] (#2712)

* update

Adding OnOwnershipChanged(ulong previous, ulong current)

* fix

This resolves the issue with client authoritative network transforms and the random "noise" that would occur when transitioning ownership from a remote client back to the host-server.
- Latent messages from the client would still be received and processed after ownership changed.
- Ownership changed messages would proceed the NetworkTransform initialization state update message. Now ownership changed messages precede the NetworkTransform initialization state update message.
- Clients could sometimes have the same network tick value even when the tick event had triggered, which for NetworkDeltaPosition would cause dropped state updates.