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!

Getting Started with the Mira SDK

This page will help you get started with the Mira Prism. You'll be up and running in a jiffy!

Getting Started - Setting up the scene

  1. Download the latest version of Unity. During the install, make sure that you have iOS Build Support selected

  2. Import the Mira SDK Package. You can download the latest version here, or clone the repository: https://github.com/miralabs/mira-unity-sdk.

  3. Configure Player Settings:
    In the Unity top toolbar, select Mira -> Settings -> and then apply each recommended setting

  4. If you're utilizing marker tracking, open the WikiMiraTemplate scene from Assets -> MiraSDK -> TemplateScenes. If you're not tracking, open the RotationalMiraTemplate scene instead.

  5. If you're converting an existing scene, and you are using marker tracking, drag the MiraWikiTracking prefab from the Prefabs folder. If you do not plan to use tracking in your application, drag the MiraRotationalOnly prefab into your scene.

  6. The Mira Prefabs include the following components, activated at runtime:

    • Wikitude Computer Vision
    • Mira Stereo Camera Rig
    • Gyroscope-based rotational tracking
    • Counter-distortion Rendering
    • 3-Degrees-of-freedom controller and event/raycast system

3-DOF Rotational Tracking vs 6-DOF Marker Tracking

To place the user in a virtual environment, the Prism utilizes 2 types of tracking:

Rotational Tracking ( 3-DOF Head Orientation Tracking)

Rotational tracking has 3 degrees-of-freedom, meaning the scene will respond to the headset's orientation, but does not respond to translation. When the user moves side-to-side, the planets will remain orbiting the headset.

In the example scenes (and in the images below) the planets use Head Orientation tracking. If the user looks around the scene, the planets will appear to stay in the same spot.

Marker Tracking (6-DOF Marker Tracking)

Marker tracking has 6 degrees-of-freedom, meaning that the user can move around the physical tracker, and the virtual content will appear stuck to the marker

Hierarchy - where do I parent stuff?

A quick overview of scene hierarchy:

In both 6-DOF and 3-DOF:

  • An object that is a child of the MiraARCamera will inherit the camera's position and rotation.

In 3-DOF:

  • An object with no parent will remain stationary.

In 6-DOF:

  • An object that is a child of the HeadOrientation will inherit the camera's position, but not the rotation.
  • An object with no parent will behave as though stuck to the tracker.

For more information on the scene hierarchy, see:

Bluetooth Controller

To recenter the controller and camera rig, enter play mode, and hit the Start button (the button with a circle, on the bottom of the remote)

Parent an object to the BTController to have it rotate with the controller. For details on controller interactions, see the Controller Interactions page: Controller Interactions

Scene Scale

To change the scene scale, set the ScaleMultiplier on the MiraArController. A value of 100 will set 1 Unit == 1 Meter. This will scale all aspects of the Mira system, to fit the size of a pre-existing application. If you are building an app from scratch, we strongly recommend sticking with the default value of 100 (meter scale)

For more information, see the Scale FAQ:
Frequently Asked Questions

What's Next

Building to iOS

Getting Started with the Mira SDK

This page will help you get started with the Mira Prism. You'll be up and running in a jiffy!