Hi Yukio,
C# is another option for cross platform development, and in some ways the closest to Unity3D since they both use mono to work on operating systems other than windows.
I have made C# apps that run on Windows and Linux because those are the operating systems I have easy access to, but Mac also supports mono.
If you want C# to run on iOS or Android you have to purchase a special Xamarin license to do that.
Unity3D also charges you to deploy to iOS or Android.
If you use native dlls then you'll have to ensure you only use those that can compile on all your target platforms.
There is a free framework called MonoGame that gives you a bunch of cross platform game related libraries.
http://www.monogame.net/
I'm pretty sure Xamarin Studio is not accessible, but Visual Studio is reasonably accessible and you could probably use the command line Xamarin tools to compile for the smart phone platforms.
Visual Studio is free, and it is free to compile for windows, linux, and mac.
It looks like compiling for iOS requires a Mac.
Unity3D is basically C# and mono, but they've added a bunch of helpful game libraries and tools, and gone to the effort of making sure they all run cross platform.
MonoGame is similar, but not a commercial product so doesn't have the quality or broad set of tools that Unity3D has.
And as mentioned, you purchase the ability to compile for iOS and Android directly through Xamarin, instead of through Unity3D who must have their own deal with Xamarin.
All that said, this is just one option.
I haven't compiled for the smart phones myself, but I have used C# and Visual Studio for a very long time, so can help with those if you went this route.
And you would still want to verify that Xamarin has command line compilers.
Good luck with whatever technology you choose.
~ Ian Reed
Visit
BlindGamers.com to rate blind accessible games and see how others have rated them.
Try my free JGT addon, the easy way to play Japanese games in English.
Or try the free games I've created.