I've tried: Vector3 direction = player.transform.position - transform.position;
direction = new Vector3(0, 0, Mathf.Atan2(direction.y, direction.x) * Mathf.Rad2Deg);
transform.eulerAngles = Vector3.Lerp(transform.eulerAngles, direction, speed * Time.deltaTime);
But all that does it make it spin out uncontrollably.