I ran across an issue where spawned clients (not host, though) would immediately snap to Vector3.Zero after spawning in the designated spaces. I narrowed it down to the CharacterController conflicting with the ClientNetworkTransform and “resolved” it using the code below. It feels ugly though, and wondering if there are any tips/guidance in using a CharacterController with NGO. I eventually plan on making movement server authoritative, but simply in the prototyping phase for now.
public override void OnNetworkSpawn()
{
if (!IsOwner) return;
controller.enabled = false; // Temporarily disable to set initial position
transform.position = clientNetworkTransform.transform.position; // Set initial position
controller.enabled = true; // Re-enable after setting position
inputReader.MoveEvent += HandleMove;
}
Thank you in advance!