Figuring out what you need to actually build and run a Unity game on a mobile device can be pretty confusing. If you are running on a tight project, building games on weekends, it can seem especially expensive to get up and running. I’m going to cover what you need for Android development, and what you need for iOS development.
To develop for a mobile device with Unity, you will need these things: A mobile device, a development computer, and maybe a development license.
The first thing to understand about development is the licensing costs. Android is straightforward: you can begin developing and testing apps on actual hardware without paying a dime. With Android, the development account setup and fees come when you want to release an app, and are paid for with each Android app store. Apple will let you run the iOS simulator for free, but to push an app to your device, you will need to register with Apple’s $100 a year developer program.
The next piece of the puzzle is development hardware. You can only develop for iOS on OS X. The Android development environment runs on Windows, OS X, and Linux. Unity’s editor does not run on Linux, so you’re really looking at OS X versus Linux. If you are picking up a new machine for development, then getting a Mac will let you develop for both platforms. If you already have a capable Windows box, then maybe iOS development should wait until you build and release an Android app. If your personal devices are iOS, It is much cheaper to pick up a new / used Android tablet than it will cost to buy a Mac Mini or Macbook.
The final required hardware cost is a development device. Yes, you can do a lot of iteration in the Unity editor, but you will want to actually run on hardware every once in a while. You might be tempted to try things out with just the Android emulators and iOS simulators, but these are both very poor on performance, especially for Unity apps, and will only frustrate you. Chances are you already have a smartphone, and might even have a tablet. A fantastic thing about modern game development is personal hardware can absolutely work fine as development hardware. It also means you will have your latest build on you at all times, so you can show off your game to friends and family. The challenge in selecting your development device is going to be balancing the other costs against getting a new tablet or phone. Even if you already have an OS X machine, and an iPhone or iPad, you might still want to start by developing on Android, you might be able to get ahold of a used Android phone or tablet for around the price of the iOS developers license, or cheaper. If you have an iOS device, but no OS X machine, you will almost definitely want to start with Android, a new or used Android tablet is going to cost you far less than even the cheapest Apple hardware, a Mac Mini.
If you haven’t ever bought or used an Android device, it’s worth learning something about the Android ecosystem compared to iOS. Android devices are often far less expensive than iOS. The flagship development device for Android, the Nexus 7, is just about the same price as an iPod Touch. Something else that I learned when I started looking at Android tech versus iOS: Apple hardware maintains its value much better than Android and Windows. When we ordered the previous model Nexus 7, the 2012 model, we were able to get them for a little over $100 each. The iPad 2, originally released in 2011, is still difficult to find for less than $200. This obviously makes these devices great for purchasing as a consumer, as a developer it makes Android super attractive. Even trying to get ahold of a Mac to develop on OS X, the entire Apple Mac line does a great job of keeping a high value, and used Mac Minis are often still pretty pricy.
What about device performance? What about dealing with the large amount of Android devices? Supporting a variety of devices is a daunting task. There are thousands of unique Android devices. If you have a low budget, you might want to just start out supporting devices similar to the one you develop on, and expand your reach as your sales go up. Most of my development now is for fun with no intention of releasing anything, so I’m not too familiar with how the Android store operates.
If you plan to develop and release a game on a mobile platform, I highly recommend getting your build running on a device as quickly as possible. It’s easy to think you can work in the Unity editor for a while, and then get a device when you are nearly done, but I don’t think you should do this. Having a build running on physical hardware is a huge motivating factor in development. It’s much easier to share builds with friends and family. It also means you will catch all of those development edge cases much faster, the mouse on your computer is far more accurate and operates very differently than an actual touch interface. Actually running your game on a device frequently will really help you push the overall polish of your game up.