First of all you need to understand the basic different between them so that you can choose which one to use in your case. First of all, Unity3D is a gaming engine and Xamarin is a cross-platform application development framework. Although there purpose is same, but their functionality and features are different. They both do support C# as programming language and can build cross-platform executables. But there are major differences in both of them.
In Unity3D:
1. You can develop or edit 3D models (external resources can also be used, such as Autodesk Maya).
2. You can also use those models for your applications. Such as: games, presentations and other similar simulations where you would require 3D objects and a little programming.
3. Binaries can be created cross-platform.*
In Xamarin:
1. You can develop entire application, but not the graphics that will be presented. You have to provide the graphics by external resource.
2. Cross-platform support.*
3. You can import FBX or other 3D models (or your 2D graphics if that is a 2D game) but that would then again require more capabilities for Xamarin, thus asking you for a better license subscription. Have
a look[
^].
*Binaries for different OS would require the OS to be running, such as MacOS or iPhone require you to be on MacOS to build the project for Apple products.
Now, since you want to create a game. I would right away ignore Xamarin and recommend you to use Unity3D because it is a gaming engine. You will be able to import your resources add a little tinkering effects and compile them in binaries (
please see the * note above). Xamarin on the other hand, can develop games. But is not a gaming engine so most of the frameworks and assemblies you would have to write yourself or purchase another license and etc. Unity3D is free for indies and low-budget teams, Xamarin doesn't care about that, if you're a student you get offer, if not you get to pay a license. Even for building a cross-platform UI you have to get a commercial license. That is why, I would never recommend using Xamarin, even if C# is the language offered. :-)