tvalle
1
I know this is not a practical question, but i’m rather curious about it.
Does it generate some intermediary bytecode and then it’s compiled to the desired platform?
Is there any article/paper on it?
I’d be glad if someone could shed a light 
Yes, your games are compiled into an IL using Mono compilers. Mono is cross platform and takes care of some stuff. Our engines are built for each platform natively which boot up your managed code assemblies. For some platforms we need to translate code from one form to another in order to fit the target language before building the game to it. I don’t think we have any papers about it, but if you are interested in cross platform development in general then there is a lot of information to be found online.
liszto
2
He doesn’t generate intermediary bytecode.
You just have your initial project with their meta files if you activate them to version your project.
The currentplatform settings are in the “Library” folder and the content of this folder is linked with the current platform define in Unity parameters (Build Settings).
If you change your platform in the build settings, Unity re-update all the files in the library folder to make them compatible with the new target platform.
This might help for the people who are searching for papers about it…