com.unity.netcode.gameobjects icon indicating copy to clipboard operation
com.unity.netcode.gameobjects copied to clipboard

NetworkTransform UseUnreliableDeltas incompatible with certain owner-authoritative enhancements

Open zachstronaut opened this issue 4 months ago • 1 comments

Description

When you have owner authoritative NetworkTransforms and are using re-parenting when your avatar is stepping on and off platforms, I notice that certain bugs that had been fixed come back.

Netcode 1.x for a long time had issues with owner authoritative player NetworkTransforms and re-parenting with local space and interpolation where there would be hiccups in the player position as they changed parents stepping on/off platforms and the local space interpolation data was incoming.

The following settings seemed to eliminate this kind of problem in Netcode 2.x:

NetworkTransform.SwitchTransformSpaceWhenParented = true NetworkObject.SyncOwnerTransformWhenParented = false

However, if you enable UseUnreliableDeltas then the problem returns. I suspect this is because the out-of-order local space coordinate UDP packets are being applied immediately while the parent is not yet in sync between clients.

Environment

  • OS: Windows 11
  • Unity Version: 6000.1.3f1
  • Netcode Version: 2.4.2
  • Netcode Topology: Client-Server

zachstronaut avatar Jul 23 '25 16:07 zachstronaut

@zachstronaut I am just going to get this one into our system as it looks like the m_HalfPositionState might not be getting updated correctly. Until this is resolved, I would definitely recommend not using half floats when letting the NetworkTransform handle the world to local or vice versa conversion (which also updates the interpolators pending queue). Very likely the m_HalfPositionState just needs to be recalculated.

NoelStephensUnity avatar Jul 29 '25 20:07 NoelStephensUnity