Building for iOS on Windows

How to remotely compile on a Mac from a Windows machine to create an iOS build.

Windows
MacOS
Linux

While building for iOS requires a Mac, using remote compilation means that a whole team that primarily uses Windows machines can build for iOS using one Mac.

Mac Setup

  1. Enable Remote Compiling on the Mac using these steps from Apple.

  2. Install your iOS Developer Certificates to the System keychain. If your certificates are already installed to your login keychain, just drag them to the System keychain and they will be installed there as well.

    For more on creating iOS Developer Certificates, see Generating Signing Certificates.

  3. Lastly, make sure the private keys for your certificates are set up to be accessible from any program. This can be accessed by double-clicking on the key under the Developer Certificate. For more information, see this Apple Support article.

PC Setup

  1. Open your project in the editor, then open Project Settings.

    menu_project_settings.png

  2. Click on iOS under Platforms.

    iOSsettings.png

  3. Scroll to the Build heading, then expand Remote Build Options.

    BuildOptions.png

  4. In the Remote Server Name field, enter the name of the Mac you are using to build the project.

  5. In the Remote User Name field, enter the user name that would normally log in to the remote Mac.

  6. At this point, you will need to generate the SSH key which will be used to ensure a secure connection to the remote Mac. Press the Generate SSH Key button and follow the prompts.

SSH Setup

For the SSH setup, you will primarily follow along with the prompts that are presented in the window that pops up. However, here are some additional steps to help guide you through this process.

  1. If your host can't be authenticated, enter "yes" at the prompt.

  2. Enter the password which belongs to the user you specified in Remote User Name.

  3. The prompts will ask you to enter a passphrase. We recommend not specifying a passphrase so that it can be used without requiring user interaction.

  4. You will then be prompted to enter the password for the user name again to complete the process.

At this point, you should successfully have generated your SSH key and are ready to start building iOS games from editor on PC.

Optional Team Setup

If you wish to pass around this data so that it can be used for all projects in the future, then you will want to specify the Remote Server Name and Remote User Name in one or more of the *Engine.ini files on your computer.

  1. Select the multi-dot button next to the property to open the Configuration Editor.

    ConfigFiles.png

  2. Set the properties for each individual .ini file you want to pass around the SSH data in.

    inifileexample.png

Also, the SSH keys are stored in ../../../Engine/Build/SSHKeys. Make sure to check that directory into source control to share them with your team.

Enable Remote Shader Compile

You can also build the needed Shaders for your iOS project remotely by enabling the Remote Shader Compile option that can be found in Project Settings > iOS > Build > Enable Remote Shader Compile. To enable this functionality all you need to do is make sure the checkmark box next to Enable Remote Shader Compile is checked like in the following image.

iOSEnableRemoteShaderCompile.png

Enabling the Remote Shader Compile will make the remote compile take longer to finish as it has to copy each shader from your PC to the remote Mac, build it and then copy it back to your PC.

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback