informa
News

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.
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.

Latest Jobs

Infinity Ward

Woodland Hills, California
11.3.21
Sr. Multiplayer Design Scripter/Programmer

Disbelief

Cambridge, Massachusetts
11.3.21
Jr. Programmer

XSEED

Torrance, California
11.3.21
Head of Marketing
More Jobs   

CONNECT WITH US

Register for a
Subscribe to
Follow us

Game Developer Account

Game Developer Newsletter

@gamedevdotcom

Register for a

Game Developer Account

Gain full access to resources (events, white paper, webinars, reports, etc)
Single sign-on to all Informa products

Register
Subscribe to

Game Developer Newsletter

Get daily Game Developer top stories every morning straight into your inbox

Subscribe
Follow us

@gamedevdotcom

Follow us @gamedevdotcom to stay up-to-date with the latest news & insider information about events & more