By Cristiano Ferreira and Joseph Wells

Unity* is making native x86 app support easy with its latest 4.6 release. Square Enix quickly saw the benefits of supporting native x86 on Android, with their Hitman GO* release developers achieved a 31.2% faster game load time to gameplay simply by enabling Unity native x86 support 1.

Unity software’s native Android x86 support provides these potential benefits over previous non-native support:

Significant reduction in load times

Frame per second (FPS) performance increases

Lower power consumption

Baseline

Before the Unity 4.6 release, all Unity-based games ran in Android non-native x86 mode and were not reaching their full potential on x86 hardware. For example, Square Enix’s Hitman GO was underperforming on both FPS and power per frame as seen in the Non-Native column in Figure 1 below.

Francis Pétrin is a programmer on the Hitman GO team at Square Enix Montréal. As a programmer on a tight schedule, he wants the simplest path for supporting as many platforms as possible. When Square Enix heard about Intel’s partnership with Unity to bring x86 support to Android titles, the first question Francis asked was “how quickly can we make this work?”

Enabling Native x86 Support

Luckily, the answer was “very quickly!” Unity provided Square Enix with a limited release alpha build that included the x86 build feature. Francis reported that "the Hitman GO project was upgraded from Unity 4.3.4f1 to 4.5.4f1 and pushed out to devices. The upgrade process itself was seamless. No issues arose in either the codebase or with the plugins/middleware." Francis was excited to see everything worked out of the box and he achieved a significant performance gain on x86 devices.

As detailed in Figure 1, an immediate improvement was seen in frame rate. A direct result of an improved frame rate was lower power consumption as well as a better user experience and longer battery life.

Figure 1. Performance gains1 with x86 native support.