Answer the question
In order to leave comments, you need to log in
Does Unity create applications in java and swift languages depending on the choice of platform?
I read the instructions and was surprised. For iOS Unity asks to install Xcode and for Android it asks for Android SDK.
As I understand it, Unity is a bridge that interprets everything done in the program for various devices, their OS and development environment.
In automatic mode, it cannot be that the program will create a BUG in Java code (in the case of Android) and to fix it, you need to debug and manually configure the program?
Or the program writes the most reliable but not readable java code in the compilation process, say for Android
Answer the question
In order to leave comments, you need to log in
Previously, Unity directly compiled C# into a platform-specific binary for ios and android. Now they do it (can do it) through C++. This was done because C++ compilers are better at optimizing and generating more performant code. By default, this option is enabled for iOS and disabled for Android (at least it was still 2-3 releases ago, because the android version of IL2CPP had an experimental status).
The C++ code turns out to be very specific - C++ chips are not used much there, everything is done through static methods, and the generated code is replete with all sorts of utility macros, but it is quite possible to compare code pieces generated in C++ with the original C# script, so in case of a bug that manifests itself only on iOS, but not in the editor, you can quite effectively debug in XCode.
I don't know much about Android - in theory, it should now eat "native" projects, but I haven't tried it.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question