# Stereoscopic Rendering

\*For guidance on the latest version, refer to the GitHub page.

Stereoscopic rendering is the core functionality provided by HoloKit SDK. It can transform a screen AR project into a stereo one by using the stereoscopic camera prefab provided by the SDK.

This section is a tutorial on how to implement the sample stereoscopic rendering project. You can directly import this sample by clicking the import button as shown below.

<figure><img src="/files/SXV348KDi1ZUzkOViaJN" alt=""><figcaption><p>Click the import button to import the stereoscopic rendering sample</p></figcaption></figure>

After you import the sample, you can have a look at the prefabs and scripts used in the sample scene.

If you want to build everything from scratch, please follow the rest of the section.

## Initialize HoloKit SDK

There is a script called `HoloKitDriver` which initializes some fundamental functinalities at the beginning of the application life cycle. For any HoloKit project, we first need to drag the `HoloKitDriver` prefab into the scene. We can find the `HoloKitDriver` prefab in `Packages->HoloKit SDK->Assets->Prefabs`.

<figure><img src="/files/o24LqhMe8vEYaFXDSFS2" alt=""><figcaption><p>Drag HoloKitDriver prefab into the scene</p></figcaption></figure>

## Setup HoloKit Camera

We first add `ARSession` and `XROrigin` objects into the scene as a normal ARFoundation project.

<figure><img src="/files/3NE1SM4YQxbAGlQp1pTb" alt=""><figcaption><p>Add ARSession and XROrigin into the scene</p></figcaption></figure>

Then delete the `MainCamera` object under the `XROrigin`, and replace it with a `HoloKitCamera` prefab. You can find the `HoloKitCamera` prefab in `Packages->HoloKit SDK->Assets->Prefabs`.

<figure><img src="/files/MU4Y1mb7SXSYVNlTLD9D" alt=""><figcaption><p>Replace the default MainCamera with HoloKitCamera</p></figcaption></figure>

After replacing, please make sure the `Camera GameObject` field of the `XROrigin` is assigned with the new `HoloKitCamera`.

<figure><img src="/files/RVZoSefwmzsTPR7xTEGD" alt=""><figcaption></figcaption></figure>

## Add The Default HoloKit UI

For a HoloKit application, it can switch between two render modes, which are `Mono` mode and `Stereo` mode. Under `Mono` mode, the app should look exactly like a normal screen AR app. Under `Stereo` mode, two viewports are rendered on the screen and you can insert your iPhone into a HoloKit to experience stereoscopic AR.

<figure><img src="/files/d4B7o2U95Jqn8refgRYn" alt=""><figcaption><p>A screenshot of HoloKit App under Mono mode</p></figcaption></figure>

<figure><img src="/files/PzOwY1Rn07JCvy8Cgvz1" alt=""><figcaption><p>A screenshot of HoloKit App under Stereo mode</p></figcaption></figure>

We need some basic UI to control the switching between two render modes. There is already a default UI canvas in the package which does the job. Go to `Packages->HoloKit SDK->Assets->Prefabs->UI` and find the `HoloKitUICanvas` prefab. Drag the prefab into the scene. Also add an `EventSystem` object into the scene thus we can press the button on the canvas.

<figure><img src="/files/KKOZEd4n1c2vMDKI4OBP" alt=""><figcaption><p>Add HoloKitUICanvas and EventSystem into the scene</p></figcaption></figure>

If you are using Unity New Input System, don't forget to upgrade your `EventSystem` to fit it.

## Set Screen Orientation

Under `Stereo` mode, the screen orientation is locked to be `LandscapeLeft`. Under `Mono` mode, the screen orientation is really up to you. It is exactly like a normal screen AR app. But in this tutorial, let's make things easy and lock the screen orientation to be `LandscapeLeft`.

<figure><img src="/files/YJoPJj4WsS1B3nhY4Whl" alt=""><figcaption><p>Set Screen Orientation to LandscapeLeft in Project Settings</p></figcaption></figure>

## Add a Cube

Believe it or not, you've done everything to setup a basic HoloKit application. The only problem is that there is no object in the scene so you cannot see anything. Let's add a cube into the scene and set its position to (0, 0, 5).

<figure><img src="/files/KkV0rcrBjv0iFeY0NjiK" alt=""><figcaption><p>Add a cube into the scene</p></figcaption></figure>

## Build The Project

Now everything is ready. Build the project and you should see a cube in front of you. Press the upper-right button to switch to `Stereo` mode and insert your iPhone into a HoloKit. Put the HoloKit on and move around, you should see the cube fixed in that position.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.holokit.io/creators/unity-sdk/stereoscopic-rendering.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
