Пишу так
Rect viewPort = GUILayoutUtility.GetRect(0, 0, GUILayout.ExpandWidth(true), GUILayout.ExpandHeight(true));
if(Event.current.type == EventType.Repaint) {
viewPort.x /= Screen.width;
viewPort.y /= Screen.height;
viewPort.width /= Screen.width;
viewPort.height /= Screen.height;
Camera.mainCamera.rect = viewPort;
}
Но неправильно работает. Разные системы координат. Нужно как-то ось Y изменить.