Adding x86 Support to Android* Apps Using the Unity* Game Engine

Published:10/17/2014   Last Updated:10/17/2014

By Trapper McFerron

Overview

Enabling existing Unity* ARM*-based Android* SDK games with native x86 support is straightforward and easy.  This document walks through the steps to produce a fat APK that includes both x86 and ARM libraries from within the latest Unity 4 or Unity 5 versions.   

Intel and Unity are working together to bring x86 Android functionality to an upcoming public release of Unity 4.6 and Unity 5. We’ll update https://software.intel.com/content/www/us/en/develop/articles/unity.html when the release goes live. If you desire early access or version 4.5.4, please contact your Intel account manager.

Adding Android* Native x86 Support

In addition to ARM, Unity now provides developers with native x86 support. When you create an Android build using Unity 4 or Unity 5, it automatically creates a fat APK containing both x86 and ARM libraries.

Best practice: Follow Unity programming practices to ensure projects are kept up to date and your Unity software version is the latest. Android SDK and NDK must also be updated to ensure full compatibility.

Step 1

With your project open, click File > Build Settings to open Build Settings (Figure 1).

Figure 1. Build settings within the File drop-down menu

Step 2

Within Build Settings, ensure Android is selected, then click Build (Figure 2)

Figure 2. Build Settings: ensure Android* is selected, then click Build

 

Step 3

After clicking Build, specify the save location.

That’s it! Your APK now has native x86 support.

With the use of the both the newest Unity gaming engine and Android SDK/NDK, developers have support for both X86 and ARM concurrently in a fat APK. The resultant APK contains both x86 and ARM libraries, where upon download the device will select which library is applicable for its hardware type.  Please note that the fat APK size will have a very small size increase unless full debug information is included. You can make sure that full debug information is  NOT included by verifying that “Development Build” is not selected in the build settings section. 

A special Unity x86 developer page is available at www.intel.com/software/unity for additional support. 

Summary

As you just saw, it’s easy to create Android-based games for the x86 platform using the latest version of Unity 4 or Unity 5. Native x86 support will help your apps have better performance and faster load times.

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804