Unity-Technologies / com.unity.netcode.gameobjects

Netcode for GameObjects is a high-level netcode SDK that provides networking capabilities to GameObject/MonoBehaviour workflows within Unity and sits on top of underlying transport layer.
MIT License
2.1k stars 430 forks source link

Calling SetParent causes NetworkObject to have an incorrect position on clients. #2959

Open qjonathan opened 1 week ago

qjonathan commented 1 week ago

Description

With interpolation enabled when the server changes the parent of a NetworkObject the position on the clients is wrong for 1 frame.

Reproduce Steps

With interpolation enabled on the NetworkTransform

  1. Player A goes next to NetworkObject,
  2. The server attach the networkobject to Player A by calling SetParent,
  3. On the Client(Player B) the NetworkObject position is now wrong.

Expected Outcome

We did not have that issue when using 1.2.0, we just updated to 1.9.1 and one of the gameplay mechanics suddenly started acting weird. Disabling interpolation seems to fix the issue but will cause the visuals to be less smooth

Environment