Unreal on Android

The Unreal Engine developer documentation contains most of what you'll need to use Unreal Engine to target Android devices.

Getting started

The Android Quick Start guide covers most of what you'll need to begin Android development, including:

  • Creating a mobile project
  • Configuring the project to target Android
  • Setting up the editor for mobile renderer previews
  • Launching on an Android target device
  • Packaging your Android build into an APK for testing

If you're using Windows as your development platform, Unreal integrates with the Android Game Development Extension for Visual Studio.

Packaging your project

The Packaging Android Projects guide not only covers packaging your Android build into an APK file, it also covers getting your build ready for distribution using Android App Bundle.

Play Asset Delivery

The Google Play Asset Delivery reference covers how to enable Play Asset Delivery in your project, how to designate rules to create asset chunks that will become asset packs in the Android App Bundle, and how to take advantage of install-time, fast-follow, and on-demand assets.

Google Play Billing

The In-app Purchases guide covers how to configure your game for Google Play's billing system, how to read purchase information, and how to make purchases.

Vulkan API

Vulkan is a cross-platform, high-performance 3D graphics API that has low overhead compared with OpenGL ES.

To enable the Vulkan graphics API, navigate to Project Settings > Platforms > Android > Build and select Support Vulkan. When you select both Support Vulkan and Support OpenGL ES3.2, Unreal uses Vulkan by default. If the device doesn't support Vulkan, Unreal falls back to OpenGL ES 3.2.

Support Vulkan and Support OpenGL ES3.2 selected in Project Settings > Platforms > Android > Build
Figure 1. Enable Vulkan by default and OpenGL ES 3.2 as a fallback.

Frame pacing

Unreal 4.25 and higher integrates the Android Frame Pacing Library, which is part of the Android Game Development Kit. The Mobile Frame Pacing article explains how to enable the Android Frame Pacing Library, and how to control frame pacing from C++ code.

Rendering optimization

The Rendering Optimization for Mobile guide covers guidelines and best practices for optimizing mobile performance, including when to use normal maps vs high-vertex meshes. It covers the basics for reducing draw calls, mesh count and material id count, as well as material complexity, optimizing texture resolution, boot time, and package size.

Best practices

We also have best practice articles around art assets, identity, distribution, and more that will help you as you navigate the Android ecosystem with Unreal Engine.