public Task <bool> SetPositionAsync(Vector3 position, Quaternion rotation) { async UniTask <bool> TeleportationTask() { await UniTask.SwitchToMainThread(); if (Player.transform.position == position.ToUnityVector() && Player.transform.rotation == rotation.ToUnityQuaternion()) { return(true); } if (!ValidationHelper.IsValid(position) || !ValidationHelper.IsValid(rotation)) { return(false); } return(Player.teleportToLocation(position.ToUnityVector(), rotation.ToEulerAngles().Y)); } return(TeleportationTask().AsTask()); }