Sponsored By

How Unity tackles Android support, straight from its lead developer

Gamasutra speaks to the Unity engine developer's Android lead Erik Hemming, who discusses fragmentation, features, and how Android is an "interesting platform" for him.

Christian Nutt, Contributor

January 5, 2012

4 Min Read
Game Developer logo in a gray background | Game Developer

While the Unity engine's bread and butter has proven to be Apple's iOS, the rise of Android has brought an increased focus to making sure that games work smoothly on the platform, says Erik Hemming, who leads Android development for Unity. "It's a lot more important now than it was a year ago, and I can see it becoming incrementally more important. Android development is really, really important to us." Gamasutra recently spoke to Hemming in Stockholm, Sweden, where he works in a small satellite office founded to attract local talent, away from the company's main development forces in Copenhagen, Denmark. The Unity Android team is approximately four developers, says Hemming. "You have to be on your toes" to work on the platform, he said, thanks to the fragmentation and the constant introduction of new devices -- in contrast to the approximately yearly updates to iOS hardware and software. "It's an ongoing battle with new devices and new versions of the OS," he says. "For the end user, there are so many different devices." His primary responsibility, he says, is to "make sure things work." The scope of that responsibility? "Everything that revolves around Android." "We take the hit for our developers, basically. When there's a problem, we should fix it. That's what they rely on," says Hemming. "Sometimes we make a mistake and we have to pay for it later." While iOS is still a more popular target platform for Unity developers, says Hemming, "There is growing interest" in Android. "Maybe not blowing up growing, but increasing, yes." "Android will play a role on other devices we will not necessarily see now, actually, so it's an interesting platform to be working on," he says. The OS will be used in more types of devices than just tablets and smartphones. But that also means that "some manufacturers choose to change something, and we didn't anticipate that," which can cause problems for the team. His job is also to decide "where should we be in terms of features, and how we can connect that to the rest of the Unity product," he says, for which he consults with both external developers creating games for Android using Unity tech and other developers within Unity. Part of the goal of that internal coordination is to make sure that the Unity engine has consistency across all platforms. "We strive as hard as we can to make sure our script API -- what we expose to the developer -- looks and feels and works the same across all platforms," he says. "For us, adding something that is purely Android-specific, we try not to." But there is an exception to that rule: "If it's something that makes sense to add on all platforms or most platforms, we do that, because it helps the developers in the end." To ensure that Unity's Android support stays up-to-date, "we have quite close relationships with independent hardware manufacturers, hardware OEMs, and Google," he says. This includes relationships with companies from HTC and Samsung to Qualcomm and Nvidia. "It just makes sense. Some problems aren't only on Google's level, why something isn't working," he says. Of course, fragmentation -- caused by a wide array of Android devices with varying specs -- is a problem. "We of course monitor what devices are popular, and obviously a problem on such a device is more critical than on a device nobody uses. So we monitor and we test more thoroughly on the popular devices," he says. Another Android headache is the user base being split across multiple versions of the OS. Many times, users cannot choose to upgrade their devices, but instead must wait for carriers to make new versions available. "We have discussions with Google about that, and they see the problem, of course, and I believe they have some plan, to maybe not fix it, but make it a little bit easier for the end user." "Ideally, for me, I would really like to have every device on the latest version -- it would make my life a lot easier," he says. But he just doesn't see that "in the short term," unfortunately. "We have to work with the assumption that there will be a lot of older devices, or fairly new devices running an older version," he says.

About the Author

Christian Nutt

Contributor

Christian Nutt is the former Blog Director of Gamasutra. Prior to joining the Gamasutra team in 2007, he contributed to numerous video game publications such as GamesRadar, Electronic Gaming Monthly, The Official Xbox Magazine, GameSpy and more.

Daily news, dev blogs, and stories from Game Developer straight to your inbox

You May Also Like