Search public documentation:


Interested in the Unreal Engine?
Visit the Unreal Technology site.

Looking for jobs and company info?
Check out the Epic games site.

Questions about support via UDN?
Contact the UDN Staff

UE3 Home > Mobile Home > Getting Started: Developing Mobile Projects > Getting Started: iOS Development
UE3 Home > Getting Started: Unreal Engine 3 > Getting Started: Developing Mobile Projects > Getting Started: iOS Development

Getting Started: iOS Development


Developing games for iOS devices using Unreal Engine 3 comes with special requirements, workflow, and considerations that must be taken into account. This document explains how to set up your development environment for building games for iOS devices, as well as general workflows for testing, packaging, and deploying an Unreal project that runs on iOS devices.


You must be a registered iOS developer in order to develop games for iOS devices using Unreal Engine 3. If you are not already registered as an iOS developer, you can register at the iOS Developer Program site.

Note: Apple charges $99/year to register as a developer.

System Requirements

In addition to registering with Apple as a developer, there are also hardware and software requirements associated with developing and submitting iOS games.

Developing iOS Games

The hardware requirements for developing games for iOS devices are the same as the normal system requirements for building games with Unreal Engine 3. You need a PC capable of running the Unreal Editor.

Unreal Engine 3 currently supports the following iOS devices:

  • iPhone 4
  • iPhone 4s
  • iPhone 3GS
  • iPad
  • iPad2
  • iPod touch 4th generation
  • iPod touch 3rd generation (except for 8 GB 3rd generation devices.)

iOS devices must have at least iOS 3.2 or later installed in order for Unreal Engine 3 to run. If you have an older device, or a device with an unsupported version of iOS installed, then you will not be able to run your application. Also note that certain features are only available with some combinations of device and iOS versions. For example, iOS 4 or later is required for multisample antialiasing.

The minimum hardware requirements for developers are:

  • Windows XP SP2 with DirectX 9.0c
  • 2.0+ GHz CPU
  • 2+ GB RAM
  • A graphics card with Shader Model 3.0 support, such as nVidia GeForce 7800

In order to develop iOS games with Unreal Engine 3, you need the following programs installed on a PC:

  • iTunes

Submitting iOS games

In order to submit an iOS game to the App Store, you need access to a Mac. Apple requires that applications are uploaded using their Application Loader utility which is only available for MacOS X.

You will need the following applications installed on a Mac:

  • Application Loader


Provisioning refers to the generation of keys, certificates, and mobile profiles necessary to test and distribute games on iOS devices. Apple requires that any device that is to have an iOS application run on it, even for testing purposes, must be set up with a provisioning profile. The process of setting up the provisioning necessary to develop iOS applications with Unreal Engine 3 is simplified by the use of the Unreal iOS Configuration Wizard, though it still requires the use of the iOS Provisioning Portal on Apple's Developer website for certain aspects.

The iOS Provisioning Setup page covers the complete process of setting up provisioning.

New Users

For new iOS developers, the process of setting up provisioning and creating a certificate for use with UDK is a multi-part process:

  • Generate key pair and certificate request
  • Create certificate and mobile provision
  • Import provision and certificate into UDK

For a complete walkthrough of the new user provisioning process, see the Creating New Provisioning tutorial.

Existing Developers

If you are an existing iOS developer and you have already deployed to a iOS device from Mac or PC previously, you will need to transfer your signing identity over to UDK using the Already a registered iOS developer tab of the configuration wizard. This also involves retrieving your existing developer certificate from the Keychain application on your Mac.

For a complete walkthrough of the existing developer provisioning process, see the Transferring Existing Provisioning tutorial.


Testing out maps for iOS games can be done directly from within UnrealEd, either using the Mobile Previewer which simulates a mobile device or by deploying to a connected iOS device to test out the map natively.

Mobile Previewer

Mobile Previewer allows you to visualize your game on PC using an OpenGL ES2 renderer that behaves very similarly to the rendering on the mobile device. This gives you as close to a 1:1 preview of your game without having to deploy to the device to test it. Along with graphics, some other features are emulated such as simulated touch controls.


For more information on emulating mobile devices on PC, see the Mobile Previewer page.

Play on iOS Device

Maps can be tested out directly on a connected iOS device from within UnrealEd. Clicking the toolbar_playiOS.png button on the UnrealEd toolbar will package up and install the current map loaded in UnrealEd as an app on the connected iOS device.

The progress is displayed as the map is packaged and transferred:


Clicking the playiOS_progress_details_button.png button will display details of the process:


Once the packaging and transfer is complete, the game will be playable like any other app on the device:


Packaging and Deploying to iOS Devices

In order to play your game on an iOS device, it must first be packaged into an iOS app that can then be deployed, or transferred to and installed on an iOS device, or devices.

Unreal Frontened is the control center for building games with Unreal Engine 3. It handles many tasks, such as compiling scripts, cooking packages, packaging games, etc. When it comes time to package up and deploy a game to an iOS device, Unreal Frontend will handle the entire process.

For a reference to the Unreal Frontend application, see the Unreal Frontend page.

  1. Click the ipa_configuration_button.png button to open the configuration settings:


  2. Make sure the settings are as follows:


    Game Platform Game Config Script Config Cook/Make Config
    MobileGame IPhone Shipping_32 ReleaseScript Shipping_32

    Click the ipa_configuration_ok_button.png button to save the settings.

  3. The Mobile section should now be visible if it was not previously. Make sure the Packaging Mode is set to Default. Otherwise, the packaged game will not be able to be deployed to a connected device by Unreal Frontend.


  4. Next, you need to add all the maps that need to be packaged into the application. This can be done in the maps section:


    Click the ipa_maps_add_button.png button. A window will open listing all existing maps in the current game project.


    Select all the maps in the list you want to add:


    Click the ipa_maps_addselected_button.png button to add the maps and close the window. The maps should now be listed in the maps list:


  5. Make sure to set the map to be loaded by default:


  6. Make sure all the steps of the pipeline job are enabled by clicking each of the buttons shown below and toggling on the Step Enabled option in the menu for each step.


  7. Click the Start button to begin the pipeline job. The ipa_ufe_working.png graphic will display while the pipeline job is in progress. Once complete, the output window will show the results.


  8. The game is now playable like any other app on the device: