Unity uses a very old version of Mono as a basis. Mono Project is a separate effort from Xamarin. Mono is the open source .NET runtime. Xamarin.iOS and Xamarin.Android is a proprietary runtime environment for C # on iOS and Android devices, respectively. Xamarin Studio is an exclusively development environment and is not needed at all for development. Of course, this makes it much more convenient.
The Xamarin.Android compiler will create .apk for you, which will either enable or link a mono runtime environment for Android. You can set options on the command line or in your IDE. Unity is simply an βIDEβ (front end) and uses similar compilers and arguments like Xamarin Studio or Visual Studio.