Mira Developer Portal

The Mira Labs Developer Hub

Welcome to the Mira Labs developer hub. You'll find comprehensive guides and documentation to help you start working with the Mira headset as quickly as possible, as well as support if you get stuck. Let's jump right in!

Download the SDK

Publishing from Unity to iOS


This Page is a Work in Progress

We want this info out as soon as possible, so we're releasing this document a little early.

Amazing Resources

Choosing a Bundle Identifier


Below is an excerpt from Cocoacasts

You may read the full article here for more information on Bundle IDs and App IDs. They have great resources!

A bundle ID or bundle identifier uniquely identifies an application in Apple's ecosystem. This means that no two applications can have the same bundle identifier. To avoid conflicts, Apple encourages developers to use reverse domain name notation for choosing an application's bundle identifier. Allowed characters are alphanumeric characters, periods and hyphens.

Let's take Cocoacasts as an example. Every application I build for Cocoacasts has a bundle identifier that starts with com.cocoacasts, that is, the reverse of the Cocoacasts website. For my company, Code Foundry, I use bundle identifiers that start with be.codefoundry.

You don't need to own the domain you use for your application's bundle identifier. The domain is only used to ensure the bundle identifier is unique. For example, I could also use blog.cocoacasts for the applications I build for Cocoacasts even though I don't own cocoacasts.blog.

To create a unique bundle identifier, you append the name of the application to the reversed domain, for example, com.cocoacasts.scribbles. Remember that you choose the bundle identifier. Reverse domain name notation is what Apple recommends and it's a pattern most developers use.

The only requirement is that the bundle identifier is unique. Xcode warns you if you choose a bundle identifier that's already in use by another application. I strongly recommended that you use a bundle identifier that makes sense and that's why most developers stick to reverse domain name notation.

If you're building a suite of applications, then you can use the same approach. Take a look at the following example. The first bundle ID is used for the iOS client of Scribbles whereas the second bundle ID is used for the macOS client of Scribbles.



It is important to note that at the time of writing, once you have registered a bundle identifier to a Personal Team in Xcode the same bundle identifier cannot be registered to another Apple Developer Program team in the future. This means that while you are testing your game using a free Apple ID and a Personal Team, you should choose a bundle identifier that is for testing only - you won’t be able to use the same bundle identifier to release the game. An easy way to do this is to add "Test" to the end of whatever bundle identifier you were going to use - for example, com.yourCompanyName.yourGameNameTest. For more information on bundle identifiers on iOS, see this Apple documentation. (Source Article)

Changing the Bundle ID in Unity

Within Unity:

  • Open the Player Settings in the Inspector panel (Edit > Project Settings > Player).
  • Expand the section at the bottom called Other Settings, and enter your chosen bundle identifier where it says Bundle identifier

Requesting a License Key


Coming Soon

Updated less than a minute ago

Publishing from Unity to iOS

Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.