Pozwolę sobie powiedzieć, że faceci Unity byli całkiem dobrzy, słysząc główne wyrzuty sumienia, z którymi mierzy się ich społeczność, i ostatecznie obiecują ulepszenie. Istnieje również wiele problemów, które pojawiają się tylko na niektórych platformach lub są kwestią osobistych preferencji lub konkretnych problemów z grą, nad którą pracujesz.
Biorąc to pod uwagę:
1) Słaba integracja kontroli źródła i narzędzi dużego zespołu. Jak już wspomniałeś, wiele niezróżnicowanych plików binarnych. Edytor ignoruje flagę „tylko do odczytu” dla plików scen. Rzeczywiste pliki, które musisz sprawdzić, nie są od razu oczywiste. Niektóre z nich są korygowane w wersji 3.5 dzięki integracji SVN i P4. Istnieją również obietnice formatów scen opartych na tekście. AKTUALIZACJA: Tekstowy format sceny jest teraz dostępny w wersji Pro Unity. Zobacz tutaj .
2) Powolne, programistyczne narzędzia interfejsu użytkownika. Każdy widżet ma swoje własne wezwanie do losowania, które ma wiele kosztów ogólnych na platformach mobilnych. Nie ma koncepcji rzeczy takich jak panele z animacjami i wszystkie inne fantazyjne rzeczy, które sprawiają, że interfejs użytkownika czuje się dobrze bez samodzielnego rozwijania go. Na mapie drogowej jest obietnica nowego systemu interfejsu użytkownika (3.6?). Istnieją narzędzia innych firm, ale nie są świetne.
3) Naprawdę podstawowa edycja cząstek. Obiecują jednak nowy system oparty na krzywych w wersji 3.5. AKTUALIZACJA: Ten system oparty na krzywych, zwany Shuriken, jest już dostępny. Zobacz tutaj .
4) Nie możesz zagnieżdżać prefabrykatów. Mały problem, ale gdy jesteś przyzwyczajony do pracy z systemem prefabrykatów i całą dostępną mocą, może to być frustrujące. Zostało to obiecane, ale nie ma konkretnej daty. AKTUALIZACJA: Możesz teraz zagnieżdżać prefabrykaty.
5) Niemal niemożliwe, aby uzyskać grę na iOS poniżej przekroczenia limitu. Sam plik binarny ma w najlepszym wypadku 8 megabajtów. To nie jest coś, co łatwo naprawić.
6) Wyjątki odniesienia zerowego powodują awarie platform, które nie pozwalają na skompilowany kod JIT. W wersjach autonomicznych lub internetowych wychwytywane są NRE. Nadal jest to niewyłapany wyjątek, ale przynajmniej aplikacja będzie próbowała kontynuować działanie. W systemie iOS powoduje awarię urządzenia. Możesz przełączyć go w tryb debugowania i wyłapać niektóre rodzaje wyjątków, ale wydajność spada.
7) Kiedy pracujesz nad grą wieloplatformową, za każdym razem, gdy zmieniasz cele budowania, musisz ponownie zaimportować wszystko, co zajmuje dużo czasu. Obejrzałem to, po prostu mając wiele kopii projektu na dysku. Najwyraźniej jest serwer importowanych zasobów w wersji 3.5.