Publishing to iOS

Process

  1. Enroll in the Apple Developer Program at developer.apple.com

    Before you can release anything to the store, you need to become an approved Apple Developer.

    1. Sign in with your Apple ID
    2. Fill the enrollment form
      • You can decide to publish individually or as a company (note that a company will better protect your personal fincances).
      • If you are enrolling as an individual, enter your personal information.
      • If you are enrolling as a company, you'll also need:
        • A D‑U‑N‑S Number — These unique nine-digit numbers are assigned by Dun & Bradstreet and are widely used as standard business identifiers. They’re free in most jurisdictions.
        • Company Owner — Only founders or executive team members can sign up.
        • Website — Your organization’s website must be publicly available and the domain name must be associated with your organization
    3. Pay the $100 Developer Fee
      • This is annual fee. If you don't renew, your apps will be removed from the store.
  2. Wait for Developer Approval (1 - 2 days)

  3. Make Your Game

    Although most of mobile development is similar to PC development, there are a few things to consider:

    • Use Mobile Input
    • Anchor Your UI
      • Make sure that all of your UI is anchored properly and you are using the Canvas Scaler, explained in this video. Do not listen that custom script stuff. It'll change your gameplay.
    • Universal or Separate Apps?
      • When you release a game to the store, I'd recommend target iPhone or iPad first. After your initial release, consider expanding it as a Universal app supporting multiple devices. Prepare as best you can by writing modular code.
    • Get Creative With Your Testing/Development Process
      • Make a version of your game that can be tested within Unity (e.g., set up a boolean flag that will change your inputs from PC to mobile).
      • If your game can only be tested on mobile, consider using File Sharing or enable changing values on the device itself.
    • Use Unity Analytics
    • In-App Purchases
      • Use Unity Codeless IAP
        • Codeless IAP makes it easy to set up a store with little to no code. It works with iOS and Android stores. Here are the steps:
          • Add IAP Buttons to your game
          • Define your Products in the IAP Catalog
          • Export your IAP Catalog for the iOS store
          • Enable IAP when making a TestFlight or AppStore submission
    • Consider GameCenter Integtration
  4. Build Your Game for iOS

  5. Use TestFlight to Playtest Your Game on appstoreconnect.apple.com

    TestFlight is a service for distributing and testing iOS apps. It allows your testers to download and install your app.

    • Here is a good video explaining how. Note: This is a pretty long process.
    • Here's a quick summary:
      • Create an app in the Apple Developer website (use the bundle you specify in Unity).
      • Create a new app in AppStore Connect for TestFlight (same process for releasing to store).
      • Set a version number (small changes just change build number
      • Make sure you have millions of icons for your app. Use this photoshop template or find others online. Here are some for Illustrator.
      • Archive your project in XCode.
      • Upload your app to AppStore Connect. There are quite a few steps here. Here are a few important ones:
        • Automatic Manage Signing. Note: for many years this wasn't an option. The alternative is managing certificates and profiles yourself. You may see tutorials for how to do this. Don't waste your time. Just click this button. Save your certificate locally and keep track of it.
        • There is a scary legal question about encryption. Here's a good video addressing it.
      • Wait for Processing (can take a few hours).
      • Create testing group.
      • Set up the TestFlight build (let your users know what to look for).
      • Wait for approval (~1-2 days).
      • Create a link so users can install (or add manually for closed beta).
  6. Submit to the AppStore

    The build and submission process is very similar to the TestFlight process.

  7. Wait for App Approval (1 - 2 days)

  8. Release!