@Pantene742

Unity создает приложения на языках java и swift в зависимости от выбора платформы?

Я почитал инструкцию и удивился. Для iOS Unity просит установить Xcode, а для Android - Android SDK.

Я так понимаю Unity являеться мостом который интерпритирует все сделанное в программе под различные устройства их ОС и среду разработки.

В автоматическом режиме не может быть такое что программа создаст БАГ в Java коде (в случае Android) и для его устранения надо отладку и ручную настройку программы ?

Или программа пишет максимально надежный но не читаемый java код в процесе компиляции скажем под Android
  • Вопрос задан
  • 591 просмотр
Решения вопроса 1
Unity не транслирует ничего в java или swift.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@elmm
Раньше Unity непосредственно компилировала C# в платформозависимый бинарный код для ios и android. Сейчас они это делают (могут делать) через C++. Это было сделанно, т.к. C++ компиляторы лучше оптимизируют и умеют генерить более производительны код. По умолчанию эта опция включена для iOS и выключенна для Android (по крайне мере так ещё было 2-3 релиза тому назад, т.к. у андроидной версии IL2CPP был эксперементальный статус).

C++ код получается весьма специфический - там не сильно используются фишки C++, всё делаетс через статичекие методы, и сгенерённый код пестрит всякими служебными макросами, но в сопоставить куски кода сгенерённые на C++ с исходным C# скриптом вполне возможно, так что в случае бага, который проявляется только на iOS, но нет в редакторе, можно вполне результативно подебажится в XCode.

C Android я не сильно в курсе - в теории он теперь должен кушать "нативные" проекты, но не пробовал.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы