Позвольте мне предвосхитить это, что ребята из Unity были очень хороши в том, чтобы услышать основные проблемы, с которыми сталкивается их сообщество, и в конечном итоге нашли обещание улучшить положение вещей. Есть также много проблем, которые возникают только на определенных платформах или являются вопросом личных предпочтений или конкретных проблем игры, над которой вы работаете.
Что, как говорится:
1) Плохая интеграция управления исходным кодом и инструменты большой команды. Как вы упомянули, много недифференцируемых двоичных файлов. Редактор игнорирует флаг только для чтения для файлов сцены. Фактические файлы, которые вы должны проверить, не сразу очевидны. Часть этого исправлена в 3.5 с интеграцией SVN и P4. Есть также обещания текстовых форматов сцены. ОБНОВЛЕНИЕ: текстовый формат сцены теперь доступен в Pro-версии Unity. Смотрите здесь .
2) Медленные, ориентированные на программиста инструменты пользовательского интерфейса. У каждого виджета есть свой собственный вызов отрисовки, который накладывает большие затраты на мобильные платформы. Не существует таких концепций, как панели с анимацией и все другие причудливые вещи, которые заставляют пользовательский интерфейс чувствовать себя хорошо, не катаясь самостоятельно. На дорожной карте обещана новая система пользовательского интерфейса (3.6?). Есть некоторые сторонние инструменты, но они не очень хороши.
3) Действительно элементарное редактирование частиц. Тем не менее, они обещают новую систему на основе кривой в 3.5. ОБНОВЛЕНИЕ: Эта система на основе кривой, называемая Shuriken, теперь доступна. Смотрите здесь .
4) Вы не можете вкладывать сборные конструкции. Небольшая проблема, но когда вы привыкли работать с готовой системой и всей мощью, которую она вам предоставляет, это может расстроить вас. Это было обещано, но без конкретной даты. ОБНОВЛЕНИЕ: Теперь вы можете вкладывать сборные.
5) Практически невозможно получить игру для iOS под предельным уровнем. Один двоичный файл походит на 8 мегабайт в лучшем случае. Это не легко исправить.
6) Нулевые ссылки исключают платформы, которые не допускают JIT-скомпилированный код. В автономных или веб-версиях NRE ловятся. Это все еще неперехваченное исключение, но, по крайней мере, приложение будет продолжать работать. На iOS вылетает устройство. Вы можете перевести его в режим отладки и перехватить некоторые типы исключений, но производительность страдает.
7) При работе над многоплатформенной игрой, когда вы меняете цели сборки, вы должны заново импортировать все, что занимает много времени. Я работал над этим, фактически просто имея несколько копий проекта на диске. По-видимому, в 3.5 будет импортирован сервер активов.