# Build a Headset Calibration Scene from Scratch (Unity)

Build a working **AR 51 Headset Calibration** scene from an empty Unity project. These are the same steps the demo app is built from.

## 1. Create the project

Unity Hub ▸ **New project** ▸ **3D (Built-In Render Pipeline)**, Unity 2022.3 or newer.

## 2. Install the packages

Add the three git URLs from [Install](/docs/unity-sdk/headset-calibration/install/#package-manager-recommended), in order.

## 3. Install XR

Open **Edit ▸ Project Settings ▸ XR Plug-in Management** and press **Install**. Then:

- **Windows tab** (Quest Link): tick **OpenXR**. Under OpenXR, enable the **Meta XR** feature group and add the **Oculus Touch Controller Profile**.
- **Android tab** (Quest standalone): tick **OpenXR**, enable the **Meta XR** feature group and **Meta Quest Support**, and add the **Oculus Touch Controller Profile**.

## 4. Player settings

Open **Edit ▸ Project Settings ▸ Player**:

| Platform | Setting |
|---|---|
| Android | Scripting Backend **IL2CPP** · Target Architectures **ARM64** only · Minimum API Level **32 (Android 12L)** · Internet Access **Require** |
| Windows | Keep Scripting Backend **Mono** (the default) |
| Both | Color Space **Linear** |

:::warning[Keep Windows on Mono]
IL2CPP doesn't link on Windows with the SDK's networking library. Use Mono for Windows (Quest Link) builds.
:::

## 5. Keep the network code in IL2CPP builds

Copy **`link.xml`** from the **Calibration Demo** sample into your `Assets` folder (or keep the imported sample).

:::caution
Without `link.xml`, a standalone build connects and then stops on the first message.
:::

## 6. Build the scene

1. Delete the default **Main Camera**.
2. Add the Meta camera rig: Project window ▸ **Packages ▸ Meta XR Core SDK ▸ Prefabs ▸ OVRCameraRig**.
3. Add the AR 51 SDK: **Packages ▸ AR51 Unity SDK ▸ Prefabs ▸ AR51.Unity.SDK**.
4. Add the calibration: **Packages ▸ AR51 Unity SDK - Headset Calibration ▸ Prefabs ▸ Headset Calibrator**.
5. *Optional:* add a floor at height 0 so the alignment is easy to see.

## 7. Choose the platform

Select the **AR51.Unity.SDK** object and set **Service Manager ▸ Platform**:

- **OvrTethered** for Quest Link.
- **OculusQuest** for a standalone build.

## 8. Pass the SDK's project checks

With the **AR51.Unity.SDK** object selected, the **Service Manager** inspector lists anything the project still needs, each with a **Fix** button — for example adding the `AR51/UnlitInstanced` shader to *Always Included Shaders*. Press **Fix** on each one.

:::note
A build stops with the same list if any check is still open.
:::

## 9. Run

- **Quest Link:** connect the headset with Link and press **Play**.
- **Standalone:** **File ▸ Build Settings ▸ Android ▸ Switch Platform ▸ Build And Run**, with the headset connected by USB.

## 10. Try it

Put the headset on, stand in the capture area, and walk a few steps — see [Tips for the wearer](/docs/unity-sdk/headset-calibration/wearer-tips/).

## Next

[Developer guide](/docs/unity-sdk/headset-calibration/developer-guide/) — read the status and show hints in your own app.
