Если вдаваться "глубоко" - c# компилируется в MSIL (тем же Mono), дальше несколько вариантов.
1) MSIL исполняется некоей "виртуальной машиной" на конкретном устройстве, причем среда исполнения интегрирована в приложение в виде библиотеки
2) MSIL транслируется в какой нить c++, а тот в свою очередь - в машинный код целевой платформы.
Оба варианта работают в Unity, первый вроде в Xamarin.
Если вы новичок - то не лезьте сильно в дебри - берите двигло какое нибудь и используйте.