GUIUtility.GUIToScreenPoint переводит координаты из оконных в глобальные т.е. просто pos -= window.pos. Вообщем не то что нужно.
Вот так работает.
Vector2 center = viewPort.center;
center.y = Screen.height - center.y;
viewPort.center = center;
Camera.mainCamera.pixelRect = viewPort;
Все бы хорошо, но отступы между боксами мешают.
И еще пару вопросов появилось.
1) Как сделать, чтобы текст не переносился на новую строку? На скрине видно, что gui пытается впихнуть весь текст в rect и в итоге совсем ничего не видно.
2) И как сделать поле ввода для числа?
Так пишу, но фигово получается.
string text = TextField(label, value.ToString());
int.TryParse(text, out value);
return value;
Удобно, когда ввести можно любую строку из чисел, например 0001.
А число 1 получится только при потери фокуса.