From 181f70ac98dc575b90de6d16f9a407f48e09be1b Mon Sep 17 00:00:00 2001 From: NoelStephensUnity Date: Tue, 12 Dec 2023 16:19:55 -0600 Subject: [PATCH 1/2] fix Fixing the issue with HalfFloat position not keeping the base position synchronized when using unreliable deltas. --- com.unity.netcode.gameobjects/Components/NetworkTransform.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/com.unity.netcode.gameobjects/Components/NetworkTransform.cs b/com.unity.netcode.gameobjects/Components/NetworkTransform.cs index 5b7b2ee415..e4c9296aa3 100644 --- a/com.unity.netcode.gameobjects/Components/NetworkTransform.cs +++ b/com.unity.netcode.gameobjects/Components/NetworkTransform.cs @@ -1857,7 +1857,7 @@ private bool ApplyTransformToNetworkStateWithInfo(ref NetworkTransformState netw networkState.NetworkDeltaPosition = m_HalfPositionState; - if (m_HalfFloatTargetTickOwnership > m_CachedNetworkManager.ServerTime.Tick && !networkState.IsTeleportingNextFrame) + if ((m_HalfFloatTargetTickOwnership > m_CachedNetworkManager.ServerTime.Tick || isAxisSync) && !networkState.IsTeleportingNextFrame) { networkState.SynchronizeBaseHalfFloat = true; } From 1e5bdc46103dc5b5768e13b5703cc555b83a8e8f Mon Sep 17 00:00:00 2001 From: NoelStephensUnity Date: Tue, 12 Dec 2023 16:21:24 -0600 Subject: [PATCH 2/2] style adding comment --- com.unity.netcode.gameobjects/Components/NetworkTransform.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/com.unity.netcode.gameobjects/Components/NetworkTransform.cs b/com.unity.netcode.gameobjects/Components/NetworkTransform.cs index e4c9296aa3..c463d3955a 100644 --- a/com.unity.netcode.gameobjects/Components/NetworkTransform.cs +++ b/com.unity.netcode.gameobjects/Components/NetworkTransform.cs @@ -1857,6 +1857,7 @@ private bool ApplyTransformToNetworkStateWithInfo(ref NetworkTransformState netw networkState.NetworkDeltaPosition = m_HalfPositionState; + // If ownership offset is greater or we are doing an axial synchronization then synchronize the base position if ((m_HalfFloatTargetTickOwnership > m_CachedNetworkManager.ServerTime.Tick || isAxisSync) && !networkState.IsTeleportingNextFrame) { networkState.SynchronizeBaseHalfFloat = true;