Добрый день!
У меня такая проблема: один из врагов всегда должен поворачиваться в сторону игрока, но почему-то путает стороны.
Когда игрок справа сверху противник смотрит влево вверх, когда игрок слева сверху - вправо вверх, когда игрок внизу - аналогично. Однако когда игрок ровно над или под этим противником, то противник смотрит прямо на игрока.
Вот кусок кода с вращением:
void Hunter()
{
Vector2 difference = transform.position - player.transform.position;
float rot = Mathf.Atan2(difference.x, difference.y) * Mathf.Rad2Deg;
transform.rotation = Quaternion.Euler(0, 0, rot + offset_for_hunter);
}