P
P
Pantene7422017-01-05 17:43:12
Android
Pantene742, 2017-01-05 17:43:12

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

2 answer(s)
M
Maxim Moseychuk, 2017-01-05
@Pantene742

Unity doesn't translate anything to java or swift.

E
elmm, 2017-01-12
@elmm

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 question

Ask a Question

731 491 924 answers to any question