Deploying my first Unreal Engine Game on an iPhone.
Before you start reading
- No, You do not have to pay $99 to use the developer account
- You need an Apple ID with your email ID instead of a phone number to create a developer account. (else you might see your account is not eligible error while logging in)
After reaching a milestone in C++ I started learning Game development on Unreal Engine, I created my first project with a First Person Shooter template. I just wanted to test it on my iPhone before making any changes to it and that's when I witnessed the real pain of deploying an app or project like this onto a real ios device!!
Step 1: You need an Apple Developer Account and set up your Xcode with it. This is where I saw my first issue, I am not able to log in to my Apple developer account as I am using my phone number as Apple ID, I had to create a new Apple ID with an email.
Error: Your Apple ID is not eligible for a Developer account yet
Fix: You need an Apple ID with email, not a phone number.
Step 2: Setup Xcode with your new developer account
Open Xcode settings and go to the accounts section (read the following image), you need to add (login) your developer account to Xcode by pressing the + icon (red highlight)
Once your account is added, you need to get your Developer team ID
Open KeyChainAccess and navigate to login then under certificates, identify the developer account that you used to log in in Xcode and double-click on it.
From the certificate note down the Organisational Unit, a 10-letter string with letters and numbers.
Step 3 Add Apple Dev Account Team ID in Unreal Engine Project settings
Open your unreal engine and create a project, once you're project loads with viewport and all, click on edit > project settings.
Search Xcode in project settings
Paste the Organisational Unit that you copied in step 2 end in Apple Dev Account Team ID and close the project settings.
Now you are ready to deploy your game onto your iPhone, connect your iPhone to your Mac, and if prompted on your phone press trust and trust the computer.
Now try to deploy :
from quick launch under platforms
if the app gets installed but says that the app can't be opened because it's from untrusted sources, in your phone go to settings > Device Management and trust the Developer app there
This is my first time deploying things to iPhone, and packaging in unreal engine, so there might be a different better way than this… feel free to comment it down as I would like to know whats the “correct” way to do things.
Thank you