From 90a291eaec4ebbdd143980dcceec0811673ea095 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=93scar=20Fern=C3=A1ndez=20Romano?=
<47836840+OskarFreestyle@users.noreply.github.com>
Date: Fri, 5 Jun 2026 13:52:35 +0200
Subject: [PATCH 01/19] Update setup guide for HISPlayer Meta Quest SDK
Clarified steps for using HISPlayer Meta Quest SDK Sample and added details for scene navigation and specific scene setups.
---
setup-guide.md | 118 +++++++++++++++++++++++++++++++------------------
1 file changed, 75 insertions(+), 43 deletions(-)
diff --git a/setup-guide.md b/setup-guide.md
index 2a1f551..a728f7d 100644
--- a/setup-guide.md
+++ b/setup-guide.md
@@ -75,44 +75,34 @@ Alternatively, you may set the Target API level to 34 or higher in the Unity pro
Please, download the sample here: [**HISPlayer Meta Quest SDK Sample**](https://downloads.hisplayer.com/Unity/Quest/HISPlayer_MetaQuestSDK_Sample.unitypackage) (no need to download it if you have received it in the email).
-Before using the sample, please make sure you have followed the above steps to set-up your Unity project for Oculus and HISPlayer SDK. To use the sample, please follow these steps :
+Before using the sample, please make sure you have followed the above steps to set-up your Unity project for Oculus and HISPlayer SDK. To use the sample, please follow these steps:
- Set up the Meta XR All-in-One environment
- Import HISPlayer SDK
- Import HISPlayer Meta Quest SDK Sample
- - Open Assets/HISPlayerMetaQuestSample/Scenes/HISPlayerMetaQuestSDKSample.unity
- - Import TextMeshPro. Go to Unity Window > TextMeshPro > Import TMP Essential Resources
- - If you received a license key from HISPlayer, input the license key through the Inspector Unity window: **StreamController GameObject > HISPlayerSample component > License Key**
- - Open File > Build Settings > Add Open Scenes
+ - Import TextMeshPro. Go to Unity Window > TextMeshPro > Import TMP Essential Resources.
+ - If you received a license key from HISPlayer, input the license key through the Inspector Unity window: **StreamController GameObject > HISPlayerSample component > License Key**. This must be done for **each scene** while adding them to the Scene List. Open each scene located in `Assets/HISPlayerMetaQuestSample/Scenes/`, set the license key if needed, then go to **File > Build Settings > Add Open Scenes** to include it in the **Scene List** of the Build Profile.
- Build and Run
-To check how to set up the SDK and API usage, please refer to Assets/HISPlayerMetaQuestSDKSample/Scripts/Sample/**HISPlayerSample.cs** and **StreamController** GameObject in the Editor.
+To check how to set up the SDK and API usage, please refer to the sample scenes described below.
## Sample Explanation
-### Editor
+### Shared Elements
-Attach OVROverlay script to **RenderScreen** Quad GameObject. The video will be rendered on the Quad GameObject.
+All sample scenes share a common foundation that you need to understand before looking at the specific configurations:
-
-
-
-
-Set the following OVROverlay properties:
-- **Overlay Shape**: Quad or Equirect (for 360 degree video)
-- **Is External Surface**: True
-- **External Surface Width**: Input the desired width size. You may input the same value as the highest resolution (width) of your stream.
-- **External Surface Height**: Input the desired height size. You may input the same value as the highest resolution (height) of your stream.
-- **Is Protected Content**: True.
+- A **HISPlayerSample** script (or a variant) that inherits from `HISPlayerManager` and requires the `using HISPlayerAPI;` dependency.
+- An **OVROverlay** component attached to the video display GameObject (except for audio-only scenes). Its key properties are:
+ - **Overlay Shape**: `Quad` for flat video, `Equirect` for 360°.
+ - **Is External Surface**: `True`
+ - **External Surface Width / Height**: set to the maximum resolution of your streams.
+ - **Is Protected Content**: `True` when playing DRM-protected content.
+- The `SetUpMetaQuest()` method finds the `OVROverlay` component, assigns it to `MultiStreamProperties.externalSurface`, and calls `SetUpPlayer()` to initialize the player.
+- **MultiStreamProperties** must have **RenderMode** set to **External Surface** on the **StreamController** GameObject.
-In the HISPlayer multistream properties, set the **RenderMode** as **External Surface**. Please go to **StreamController** GameObject > **HISPlayerSample** script > **MultiStreamProperties** > **RenderMode** > **External Surface**.
-
-
-
-
+The typical video rendering GameObject is a Quad named **RenderScreen**. The 360 scene uses a Sphere (see details below). Every scene follows the same initialization flow.
-### Script
-
-Please check Assets/HISPlayerMetaQuestSDKSample/Scripts/Sample/**HISPlayerSample.cs** script. The script must inherit from **HISPlayerManager**. It is necessary to add the **'using HISPlayerAPI;'** dependency
+Example script structure:
```C#
using System.Collections;
@@ -122,35 +112,77 @@ using HISPlayerAPI;
public class HISPlayerSample : HISPlayerManager
{
- ...
+ // ...
+ void SetUpMetaQuest()
+ {
+ // Find OVROverlay and set external surface, then call SetUpPlayer()
+ }
}
```
-Next, please refer to the **SetUpMetaQuest()** function:
-- Find OVROverlay component from the GameObject (**RenderScreen**) that we have created.
-- When the external surface object has been created:
- - Set the external surface to HISPlayer multistream properties's **externalSurface** object.
- - Call **SetUpPlayer()** to initialize the player and load the stream.
-
-It is necessary to call SetUpPlayer() before calling other APIs. This function initializes everything else that will be needed during the usage of HISPlayer APIs.
+With this shared baseline, each scene adds small variations that are explained in the following sections.
-### Non-DRM Video Playback
-If you are not playing a DRM protected content, please modify the **MultiStreamProperties** by unchecking the **Enable DRM** checkbox to disable DRM and remove all element from **Key Server URI** list.
+### 360 Scene
+This scene renders a 360° video.
+Instead of a Quad, the Mesh Filter uses a **Sphere**, and the assigned material is **360_Mat**, which relies on the **HISPlayer360Shader**.
-
+
-### 360 Degree Video Playback
-To render 360 degree video, you can set the OVROverlay property **Overlay Shape** to **Equirect**.
-
+The `OVROverlay` **Overlay Shape** is set to `Equirect`.
-
+
+### Ambisonic Scene
+This scene plays **audio-only** content; there is no video rendering surface. The default stream used is:
+`https://downloads.hisplayer.com/Unity/test-contents/Ambisonic_AmbiX_16Ch.mkv`
+with **Ambisonic Audio** configured as **AMBIX_16 Channels**.
+
+You can also test with these alternative streams:
+- `https://downloads.hisplayer.com/Unity/test-contents/Ambisonic_AmbiX_9Ch.mkv` with **Ambisonic Audio** configured as **AMBIX_9 Channels**.
+- `https://downloads.hisplayer.com/Unity/test-contents/Ambisonic_TBE_8_2.mkv` with **Ambisonic Audio** configured as **TBE_8 Channels_2 Head Locked Channels**.
+
+For more information, please refer to the following [Ambisonic documentation](https://hisplayer.github.io/UnityMetaQuest-SDK/#/ambisonic).
+
+### HEVC_DRM Scene
+This scene is designed for **DRM-protected HEVC** content.
+
+For more information, please refer to the following [DRM documentation](https://hisplayer.github.io/UnityMetaQuest-SDK/#/drm).
+
+### MultiStream Scene
+Here the sample uses the **HISPlayerVRMultiController** script, a variant of `HISPlayerVRController` that is adapted to handle **two video streams** simultaneously. You can activate the **Synchronize Streams** option to keep both streams in sync.
+
+For more details, please refer to the following [Synchronize MultiStreams API documentation](https://hisplayer.github.io/UnityMetaQuest-SDK/#/hisplayer-api?id=void-synchronizemultistreamsint-primaryplayerindex-int-secondaryplayerindex-long-offsetms-0).
+
+### MV-HEVC Scene
+This scene is configured to play **MV-HEVC** (Multiview High Efficiency Video Coding) content, enabling native 3D or multiview video playback.
+
+### Spatial Audio Scene
+Two helper GameObjects are present in the scene: **FillAudioSourceGroup** and **GetAudioSourceGroup**. Activating or deactivating them switches between the corresponding audio retrieval APIs.
+
+For more information, please refer to the following [Audio Retrieval guide](https://hisplayer.github.io/UnityMetaQuest-SDK/#/audio-retrieval).
+
+### Stereoscopic Scene
+This scene is set up for **stereoscopic video** playback, rendering separate left/right eye views.
+
+For more information, please refer to the following [Stereoscopic guide](https://hisplayer.github.io/UnityMetaQuest-SDK/#/stereoscopic).
+
+### Scene Navigation Controls
+Use the **right controller** to navigate between the sample scenes:
+- Press **A** to move to the **next scene**.
+- Press **B** to go back to the **previous scene**.
-### Stereoscopic Video Playback
-Refer to [**Stereoscopic Video**](./stereoscopic.md).
+The order of the scenes is defined by the **Scene List** in the **Build Profile** (File > Build Settings).
## More Information, Features and APIs
For more information about the supported features and APIs, please refer to the following [**HISPlayer API**](/hisplayer-api.md).
From 5fe9f97765462392eb3fef15593398ba66a406f0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=93scar=20Fern=C3=A1ndez=20Romano?=
<47836840+OskarFreestyle@users.noreply.github.com>
Date: Fri, 5 Jun 2026 14:26:46 +0200
Subject: [PATCH 02/19] Revise setup-guide with new sections and clarifications
Updated the setup guide to include new sections and clarify existing content.
---
setup-guide.md | 64 ++++++++++++++++++++++++++++++++++++--------------
1 file changed, 46 insertions(+), 18 deletions(-)
diff --git a/setup-guide.md b/setup-guide.md
index a728f7d..b31bdbc 100644
--- a/setup-guide.md
+++ b/setup-guide.md
@@ -10,8 +10,10 @@ Getting started with HISPlayer consists of implementing the following steps:
1.3. Configure Unity for Android
2. HISPlayer Meta Quest SDK Sample
-
- 2.1 Import HISPlayer Meta Quest SDK Sample
+
+ 2.1 Import HISPlayer Meta Quest SDK Sample
+
+ 2.2 Sample Explanation
## 1.1 Integrate Meta XR All-in-One SDK
@@ -73,7 +75,7 @@ Alternatively, you may set the Target API level to 34 or higher in the Unity pro
## 2.1 Import HISPlayer Meta Quest SDK Sample
-Please, download the sample here: [**HISPlayer Meta Quest SDK Sample**](https://downloads.hisplayer.com/Unity/Quest/HISPlayer_MetaQuestSDK_Sample.unitypackage) (no need to download it if you have received it in the email).
+Please, download the sample here[DELETE THIS COMMENT, upload the sample after the review): [**HISPlayer Meta Quest SDK Sample**]() (no need to download it if you have received it in the email).
Before using the sample, please make sure you have followed the above steps to set-up your Unity project for Oculus and HISPlayer SDK. To use the sample, please follow these steps:
- Set up the Meta XR All-in-One environment
@@ -85,14 +87,14 @@ Before using the sample, please make sure you have followed the above steps to s
To check how to set up the SDK and API usage, please refer to the sample scenes described below.
-## Sample Explanation
+## 2.2 Sample Explanation
### Shared Elements
All sample scenes share a common foundation that you need to understand before looking at the specific configurations:
- A **HISPlayerSample** script (or a variant) that inherits from `HISPlayerManager` and requires the `using HISPlayerAPI;` dependency.
-- An **OVROverlay** component attached to the video display GameObject (except for audio-only scenes). Its key properties are:
+- An **OVROverlay** component attached to the `RenderScreen` GameObject. Its key properties are:
- **Overlay Shape**: `Quad` for flat video, `Equirect` for 360°.
- **Is External Surface**: `True`
- **External Surface Width / Height**: set to the maximum resolution of your streams.
@@ -112,17 +114,14 @@ using HISPlayerAPI;
public class HISPlayerSample : HISPlayerManager
{
- // ...
- void SetUpMetaQuest()
- {
- // Find OVROverlay and set external surface, then call SetUpPlayer()
- }
+ ...
}
```
With this shared baseline, each scene adds small variations that are explained in the following sections.
-### 360 Scene
+### Available Scenes
+#### 360 Scene
This scene renders a 360° video.
Instead of a Quad, the Mesh Filter uses a **Sphere**, and the assigned material is **360_Mat**, which relies on the **HISPlayer360Shader**.
@@ -143,7 +142,7 @@ The `OVROverlay` **Overlay Shape** is set to `Equirect`.
/>
-### Ambisonic Scene
+#### Ambisonic Scene
This scene plays **audio-only** content; there is no video rendering surface. The default stream used is:
`https://downloads.hisplayer.com/Unity/test-contents/Ambisonic_AmbiX_16Ch.mkv`
with **Ambisonic Audio** configured as **AMBIX_16 Channels**.
@@ -154,35 +153,64 @@ You can also test with these alternative streams:
For more information, please refer to the following [Ambisonic documentation](https://hisplayer.github.io/UnityMetaQuest-SDK/#/ambisonic).
-### HEVC_DRM Scene
+#### HEVC_DRM Scene
This scene is designed for **DRM-protected HEVC** content.
For more information, please refer to the following [DRM documentation](https://hisplayer.github.io/UnityMetaQuest-SDK/#/drm).
-### MultiStream Scene
+#### MultiStream Scene
Here the sample uses the **HISPlayerVRMultiController** script, a variant of `HISPlayerVRController` that is adapted to handle **two video streams** simultaneously. You can activate the **Synchronize Streams** option to keep both streams in sync.
For more details, please refer to the following [Synchronize MultiStreams API documentation](https://hisplayer.github.io/UnityMetaQuest-SDK/#/hisplayer-api?id=void-synchronizemultistreamsint-primaryplayerindex-int-secondaryplayerindex-long-offsetms-0).
-### MV-HEVC Scene
+#### MV-HEVC Scene
This scene is configured to play **MV-HEVC** (Multiview High Efficiency Video Coding) content, enabling native 3D or multiview video playback.
-### Spatial Audio Scene
+For more information, please refer to the following [MV-HEVC documentation](https://hisplayer.github.io/UnityMetaQuest-SDK/#/stereoscopic?id=hisplayer-meta-quest-mv-hevc-sample).
+
+#### Spatial Audio Scene
Two helper GameObjects are present in the scene: **FillAudioSourceGroup** and **GetAudioSourceGroup**. Activating or deactivating them switches between the corresponding audio retrieval APIs.
For more information, please refer to the following [Audio Retrieval guide](https://hisplayer.github.io/UnityMetaQuest-SDK/#/audio-retrieval).
-### Stereoscopic Scene
+#### Stereoscopic Scene
This scene is set up for **stereoscopic video** playback, rendering separate left/right eye views.
For more information, please refer to the following [Stereoscopic guide](https://hisplayer.github.io/UnityMetaQuest-SDK/#/stereoscopic).
-### Scene Navigation Controls
+### Controls
+#### Scene Navigation Controls
Use the **right controller** to navigate between the sample scenes:
- Press **A** to move to the **next scene**.
- Press **B** to go back to the **previous scene**.
The order of the scenes is defined by the **Scene List** in the **Build Profile** (File > Build Settings).
+#### Playback Controls
+Each scene provides a unified control bar with the following interactive elements:
+
+
+
+
+
+- **Video timeline**: a draggable seek bar that displays the current playback progress.
+- **Stop** button
+- **Mute** button
+- **Volume control** slider
+- **Previous Video** button
+- **Backward** button
+- **Play/Pause** button
+- **Forward** button
+- **Next Video** button
+- **Speed Rate** button: cycles through the available playback speeds.
+- **Subtitles** button: toggles subtitles when they are available.
+- **Settings** button: opens a settings panel.
+
+Inside the **Settings** panel, and depending on the video’s capabilities, you can change the **Quality**, **Language**, and **Captions**.
+
## More Information, Features and APIs
For more information about the supported features and APIs, please refer to the following [**HISPlayer API**](/hisplayer-api.md).
From 694818602c86c35487b83056f4d40d11085071fb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=93scar=20Fern=C3=A1ndez=20Romano?=
<47836840+OskarFreestyle@users.noreply.github.com>
Date: Mon, 8 Jun 2026 11:32:11 +0200
Subject: [PATCH 03/19] Add sample.md with a sample header
---
sample.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 sample.md
diff --git a/sample.md b/sample.md
new file mode 100644
index 0000000..7314a62
--- /dev/null
+++ b/sample.md
@@ -0,0 +1 @@
+### Sample
From a95a022598abc1970a99a8e7c19e7ac362ad857d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=93scar=20Fern=C3=A1ndez=20Romano?=
<47836840+OskarFreestyle@users.noreply.github.com>
Date: Mon, 8 Jun 2026 11:33:22 +0200
Subject: [PATCH 04/19] Add Sample Explanation link to sidebar
---
sidebar.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/sidebar.md b/sidebar.md
index 56566f1..0faec45 100644
--- a/sidebar.md
+++ b/sidebar.md
@@ -1,5 +1,6 @@
- [HISPlayer Unity Meta Quest SDK](/introduction.md)
- [Quickstart Guide](/setup-guide.md)
+- [Sample Explanation](/sample.md)
- [HISPlayer API](/hisplayer-api.md)
- [DRM](/drm.md)
- [Material / RawImage / RenderTexture Rendering](/rendermodes.md)
From 902f606dfa6c7a62e52babea3cf958c83bdded97 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=93scar=20Fern=C3=A1ndez=20Romano?=
<47836840+OskarFreestyle@users.noreply.github.com>
Date: Mon, 8 Jun 2026 11:36:15 +0200
Subject: [PATCH 05/19] Update setup-guide.md
---
setup-guide.md | 140 +------------------------------------------------
1 file changed, 2 insertions(+), 138 deletions(-)
diff --git a/setup-guide.md b/setup-guide.md
index b31bdbc..7c6938a 100644
--- a/setup-guide.md
+++ b/setup-guide.md
@@ -72,145 +72,9 @@ It is recommended to set Target API Level to 34 or higher. By selecting Android
Alternatively, you may set the Target API level to 34 or higher in the Unity project settings.
-
-## 2.1 Import HISPlayer Meta Quest SDK Sample
-
-Please, download the sample here[DELETE THIS COMMENT, upload the sample after the review): [**HISPlayer Meta Quest SDK Sample**]() (no need to download it if you have received it in the email).
-
-Before using the sample, please make sure you have followed the above steps to set-up your Unity project for Oculus and HISPlayer SDK. To use the sample, please follow these steps:
- - Set up the Meta XR All-in-One environment
- - Import HISPlayer SDK
- - Import HISPlayer Meta Quest SDK Sample
- - Import TextMeshPro. Go to Unity Window > TextMeshPro > Import TMP Essential Resources.
- - If you received a license key from HISPlayer, input the license key through the Inspector Unity window: **StreamController GameObject > HISPlayerSample component > License Key**. This must be done for **each scene** while adding them to the Scene List. Open each scene located in `Assets/HISPlayerMetaQuestSample/Scenes/`, set the license key if needed, then go to **File > Build Settings > Add Open Scenes** to include it in the **Scene List** of the Build Profile.
- - Build and Run
-
-To check how to set up the SDK and API usage, please refer to the sample scenes described below.
-
-## 2.2 Sample Explanation
-
-### Shared Elements
-
-All sample scenes share a common foundation that you need to understand before looking at the specific configurations:
-
-- A **HISPlayerSample** script (or a variant) that inherits from `HISPlayerManager` and requires the `using HISPlayerAPI;` dependency.
-- An **OVROverlay** component attached to the `RenderScreen` GameObject. Its key properties are:
- - **Overlay Shape**: `Quad` for flat video, `Equirect` for 360°.
- - **Is External Surface**: `True`
- - **External Surface Width / Height**: set to the maximum resolution of your streams.
- - **Is Protected Content**: `True` when playing DRM-protected content.
-- The `SetUpMetaQuest()` method finds the `OVROverlay` component, assigns it to `MultiStreamProperties.externalSurface`, and calls `SetUpPlayer()` to initialize the player.
-- **MultiStreamProperties** must have **RenderMode** set to **External Surface** on the **StreamController** GameObject.
-
-The typical video rendering GameObject is a Quad named **RenderScreen**. The 360 scene uses a Sphere (see details below). Every scene follows the same initialization flow.
-
-Example script structure:
-
-```C#
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-using HISPlayerAPI;
-
-public class HISPlayerSample : HISPlayerManager
-{
- ...
-}
-```
-
-With this shared baseline, each scene adds small variations that are explained in the following sections.
-
-### Available Scenes
-#### 360 Scene
-This scene renders a 360° video.
-
-Instead of a Quad, the Mesh Filter uses a **Sphere**, and the assigned material is **360_Mat**, which relies on the **HISPlayer360Shader**.
-
-
-
-
-The `OVROverlay` **Overlay Shape** is set to `Equirect`.
-
-
-
-
-#### Ambisonic Scene
-This scene plays **audio-only** content; there is no video rendering surface. The default stream used is:
-`https://downloads.hisplayer.com/Unity/test-contents/Ambisonic_AmbiX_16Ch.mkv`
-with **Ambisonic Audio** configured as **AMBIX_16 Channels**.
-
-You can also test with these alternative streams:
-- `https://downloads.hisplayer.com/Unity/test-contents/Ambisonic_AmbiX_9Ch.mkv` with **Ambisonic Audio** configured as **AMBIX_9 Channels**.
-- `https://downloads.hisplayer.com/Unity/test-contents/Ambisonic_TBE_8_2.mkv` with **Ambisonic Audio** configured as **TBE_8 Channels_2 Head Locked Channels**.
-
-For more information, please refer to the following [Ambisonic documentation](https://hisplayer.github.io/UnityMetaQuest-SDK/#/ambisonic).
-
-#### HEVC_DRM Scene
-This scene is designed for **DRM-protected HEVC** content.
-
-For more information, please refer to the following [DRM documentation](https://hisplayer.github.io/UnityMetaQuest-SDK/#/drm).
-
-#### MultiStream Scene
-Here the sample uses the **HISPlayerVRMultiController** script, a variant of `HISPlayerVRController` that is adapted to handle **two video streams** simultaneously. You can activate the **Synchronize Streams** option to keep both streams in sync.
-
-For more details, please refer to the following [Synchronize MultiStreams API documentation](https://hisplayer.github.io/UnityMetaQuest-SDK/#/hisplayer-api?id=void-synchronizemultistreamsint-primaryplayerindex-int-secondaryplayerindex-long-offsetms-0).
-
-#### MV-HEVC Scene
-This scene is configured to play **MV-HEVC** (Multiview High Efficiency Video Coding) content, enabling native 3D or multiview video playback.
-
-For more information, please refer to the following [MV-HEVC documentation](https://hisplayer.github.io/UnityMetaQuest-SDK/#/stereoscopic?id=hisplayer-meta-quest-mv-hevc-sample).
-
-#### Spatial Audio Scene
-Two helper GameObjects are present in the scene: **FillAudioSourceGroup** and **GetAudioSourceGroup**. Activating or deactivating them switches between the corresponding audio retrieval APIs.
-
-For more information, please refer to the following [Audio Retrieval guide](https://hisplayer.github.io/UnityMetaQuest-SDK/#/audio-retrieval).
-
-#### Stereoscopic Scene
-This scene is set up for **stereoscopic video** playback, rendering separate left/right eye views.
-
-For more information, please refer to the following [Stereoscopic guide](https://hisplayer.github.io/UnityMetaQuest-SDK/#/stereoscopic).
-
-### Controls
-#### Scene Navigation Controls
-Use the **right controller** to navigate between the sample scenes:
-- Press **A** to move to the **next scene**.
-- Press **B** to go back to the **previous scene**.
-
-The order of the scenes is defined by the **Scene List** in the **Build Profile** (File > Build Settings).
-
-#### Playback Controls
-Each scene provides a unified control bar with the following interactive elements:
-
-
-
-
-- **Video timeline**: a draggable seek bar that displays the current playback progress.
-- **Stop** button
-- **Mute** button
-- **Volume control** slider
-- **Previous Video** button
-- **Backward** button
-- **Play/Pause** button
-- **Forward** button
-- **Next Video** button
-- **Speed Rate** button: cycles through the available playback speeds.
-- **Subtitles** button: toggles subtitles when they are available.
-- **Settings** button: opens a settings panel.
-
-Inside the **Settings** panel, and depending on the video’s capabilities, you can change the **Quality**, **Language**, and **Captions**.
+## Official Sample
+To try the official sample, please refer to the following [**Official Sample**](/sample.md).
## More Information, Features and APIs
For more information about the supported features and APIs, please refer to the following [**HISPlayer API**](/hisplayer-api.md).
From 2378e07dacf9f0d1aeb0c9e85b6bc7dcbc7c5d13 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=93scar=20Fern=C3=A1ndez=20Romano?=
<47836840+OskarFreestyle@users.noreply.github.com>
Date: Mon, 8 Jun 2026 11:50:41 +0200
Subject: [PATCH 06/19] Update sample.md
---
sample.md | 141 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 140 insertions(+), 1 deletion(-)
diff --git a/sample.md b/sample.md
index 7314a62..82ec140 100644
--- a/sample.md
+++ b/sample.md
@@ -1 +1,140 @@
-### Sample
+# Official Sample
+
+Please, download the sample here[DELETE THIS COMMENT, upload the sample after the review): [**HISPlayer Meta Quest SDK Sample**]() (no need to download it if you have received it in the email).
+
+## 1. Set Up HISPlayer Meta Quest SDK Sample
+
+Before using the sample, please make sure you have followed the above steps to set-up your Unity project for Oculus and HISPlayer SDK. To use the sample, please follow these steps:
+ - Set up the Meta XR All-in-One environment
+ - Import HISPlayer SDK
+ - Import HISPlayer Meta Quest SDK Sample
+ - Import TextMeshPro. Go to Unity Window > TextMeshPro > Import TMP Essential Resources.
+ - If you received a license key from HISPlayer, input the license key through the Inspector Unity window: **StreamController GameObject > HISPlayerSample component > License Key**. This must be done for **each scene** while adding them to the Scene List. Open each scene located in `Assets/HISPlayerMetaQuestSample/Scenes/`, set the license key if needed, then go to **File > Build Settings > Add Open Scenes** to include it in the **Scene List** of the Build Profile.
+ - Build and Run
+
+To check how to set up the SDK and API usage, please refer to the sample scenes described below.
+
+## 2. Sample Explanation
+
+### 2.1. Shared Elements
+
+All sample scenes share a common foundation that you need to understand before looking at the specific configurations:
+
+- A **HISPlayerSample** script (or a variant) that inherits from `HISPlayerManager` and requires the `using HISPlayerAPI;` dependency.
+- An **OVROverlay** component attached to the `RenderScreen` GameObject. Its key properties are:
+ - **Overlay Shape**: `Quad` for flat video, `Equirect` for 360°.
+ - **Is External Surface**: `True`
+ - **External Surface Width / Height**: set to the maximum resolution of your streams.
+ - **Is Protected Content**: `True` when playing DRM-protected content.
+- The `SetUpMetaQuest()` method finds the `OVROverlay` component, assigns it to `MultiStreamProperties.externalSurface`, and calls `SetUpPlayer()` to initialize the player.
+- **MultiStreamProperties** must have **RenderMode** set to **External Surface** on the **StreamController** GameObject.
+
+The typical video rendering GameObject is a Quad named **RenderScreen**. The 360 scene uses a Sphere (see details below). Every scene follows the same initialization flow.
+
+Example script structure:
+
+```C#
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using HISPlayerAPI;
+
+public class HISPlayerSample : HISPlayerManager
+{
+ ...
+}
+```
+
+With this shared baseline, each scene adds small variations that are explained in the following sections.
+
+### 2.2. Available Scenes
+#### 360 Scene
+This scene renders a 360° video.
+
+Instead of a Quad, the Mesh Filter uses a **Sphere**, and the assigned material is **360_Mat**, which relies on the **HISPlayer360Shader**.
+
+
+
+
+The `OVROverlay` **Overlay Shape** is set to `Equirect`.
+
+
+
+
+#### Ambisonic Scene
+This scene plays **audio-only** content; there is no video rendering surface. The default stream used is:
+`https://downloads.hisplayer.com/Unity/test-contents/Ambisonic_AmbiX_16Ch.mkv`
+with **Ambisonic Audio** configured as **AMBIX_16 Channels**.
+
+You can also test with these alternative streams:
+- `https://downloads.hisplayer.com/Unity/test-contents/Ambisonic_AmbiX_9Ch.mkv` with **Ambisonic Audio** configured as **AMBIX_9 Channels**.
+- `https://downloads.hisplayer.com/Unity/test-contents/Ambisonic_TBE_8_2.mkv` with **Ambisonic Audio** configured as **TBE_8 Channels_2 Head Locked Channels**.
+
+For more information, please refer to the following [Ambisonic documentation](https://hisplayer.github.io/UnityMetaQuest-SDK/#/ambisonic).
+
+#### HEVC_DRM Scene
+This scene is designed for **DRM-protected HEVC** content.
+
+For more information, please refer to the following [DRM documentation](https://hisplayer.github.io/UnityMetaQuest-SDK/#/drm).
+
+#### MultiStream Scene
+Here the sample uses the **HISPlayerVRMultiController** script, a variant of `HISPlayerVRController` that is adapted to handle **two video streams** simultaneously. You can activate the **Synchronize Streams** option to keep both streams in sync.
+
+For more details, please refer to the following [Synchronize MultiStreams API documentation](https://hisplayer.github.io/UnityMetaQuest-SDK/#/hisplayer-api?id=void-synchronizemultistreamsint-primaryplayerindex-int-secondaryplayerindex-long-offsetms-0).
+
+#### MV-HEVC Scene
+This scene is configured to play **MV-HEVC** (Multiview High Efficiency Video Coding) content, enabling native 3D or multiview video playback.
+
+For more information, please refer to the following [MV-HEVC documentation](https://hisplayer.github.io/UnityMetaQuest-SDK/#/stereoscopic?id=hisplayer-meta-quest-mv-hevc-sample).
+
+#### Spatial Audio Scene
+Two helper GameObjects are present in the scene: **FillAudioSourceGroup** and **GetAudioSourceGroup**. Activating or deactivating them switches between the corresponding audio retrieval APIs.
+
+For more information, please refer to the following [Audio Retrieval guide](https://hisplayer.github.io/UnityMetaQuest-SDK/#/audio-retrieval).
+
+#### Stereoscopic Scene
+This scene is set up for **stereoscopic video** playback, rendering separate left/right eye views.
+
+For more information, please refer to the following [Stereoscopic guide](https://hisplayer.github.io/UnityMetaQuest-SDK/#/stereoscopic).
+
+### 2.3. Controls
+#### Scene Navigation Controls
+Use the **right controller** to navigate between the sample scenes:
+- Press **A** to move to the **next scene**.
+- Press **B** to go back to the **previous scene**.
+
+The order of the scenes is defined by the **Scene List** in the **Build Profile** (File > Build Settings).
+
+#### Playback Controls
+Each scene provides a unified control bar with the following interactive elements:
+
+
+
+
+
+- **Video timeline**: a draggable seek bar that displays the current playback progress.
+- **Stop** button
+- **Mute** button
+- **Volume control** slider
+- **Previous Video** button
+- **Backward** button
+- **Play/Pause** button
+- **Forward** button
+- **Next Video** button
+- **Speed Rate** button: cycles through the available playback speeds.
+- **Subtitles** button: toggles subtitles when they are available.
+- **Settings** button: opens a settings panel.
+
+Inside the **Settings** panel, and depending on the video’s capabilities, you can change the **Quality**, **Language**, and **Captions**.
From cfe5773e9c8a224c9bb2deaf07d6b2f6b0322c73 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=93scar=20Fern=C3=A1ndez=20Romano?=
<47836840+OskarFreestyle@users.noreply.github.com>
Date: Mon, 8 Jun 2026 11:51:06 +0200
Subject: [PATCH 07/19] Update sidebar.md
---
sidebar.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sidebar.md b/sidebar.md
index 0faec45..e7304f2 100644
--- a/sidebar.md
+++ b/sidebar.md
@@ -1,6 +1,6 @@
- [HISPlayer Unity Meta Quest SDK](/introduction.md)
- [Quickstart Guide](/setup-guide.md)
-- [Sample Explanation](/sample.md)
+- [Official Sample](/sample.md)
- [HISPlayer API](/hisplayer-api.md)
- [DRM](/drm.md)
- [Material / RawImage / RenderTexture Rendering](/rendermodes.md)
From c70b79b3090e4874c6a6164729ca684774ded6fa Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=93scar=20Fern=C3=A1ndez=20Romano?=
<47836840+OskarFreestyle@users.noreply.github.com>
Date: Mon, 8 Jun 2026 11:52:59 +0200
Subject: [PATCH 08/19] Update stereoscopic.md
---
stereoscopic.md | 38 --------------------------------------
1 file changed, 38 deletions(-)
diff --git a/stereoscopic.md b/stereoscopic.md
index 199f5ab..a9af23d 100644
--- a/stereoscopic.md
+++ b/stereoscopic.md
@@ -26,41 +26,3 @@ If you use **RawImage** Render Mode, please attach the Material with HISPlayerSt
-
-## HISPlayer Meta Quest Stereo Sample
-
-Before using the sample, make sure that you have imported HISPlayer SDK. If not, please follow the [**Quickstart Guide**](./setup-guide.md).
-
-Please download the sample here: [HISPlayer_MetaQuest_Stereo_Sample.unitypackage](https://downloads.hisplayer.com/Unity/Quest/HISPlayer_MetaQuest_Stereo_Sample.unitypackage) and import it to your Unity project.
-
-The sample includes 2 scenes:
-* **HISPlayerMetaQuestStereoExtSurface**: Render a local stereoscopic Side-By-Side video with **ExternalSurface** Render Mode. This render mode is recommended for better performance. **SetStereoscopicRendering** API is called in the script.
-* **HISPlayerMetaQuestStereoRT**: Render a local stereoscopic Side-By-Side video with **Render Texture** Render Mode. **HISPlayerStereoscopicShader.shader** is used.
-
-To use the sample, follow below steps:
-* Open **Assets\HISPlayerMetaQuestStereoSample\Scenes\ISPlayerMetaQuestStereoExtSurface.unity** or **Assets\HISPlayerMetaQuestStereoSample\Scenes\HISPlayerMetaQuestStereoRT.unity**.
-* Import TextMeshPro. Go to Unity Window > TextMeshPro > Import TMP Essential Resources.
-* If you received a license key from HISPlayer, input the license key through the Inspector Unity window: **StreamController** GameObject > HISPlayerSample component > **License Key**
-* Open File > Build Settings > Add Open Scenes
-* Build and Run
-
-To check how to set up the SDK and API usage, please refer to Assets/HISPlayerMetaQuestStereoSample/Scripts/Sample/HISPlayerSample.cs and StreamController GameObject in the Editor.
-
-## HISPlayer Meta Quest MV-HEVC Sample
-
-Before using the sample, make sure that you have imported HISPlayer SDK. If not, please follow the [**Quickstart Guide**](./setup-guide.md).
-
-Please download the sample here: [HISPlayer_MetaQuest_MV-HEVC_Sample.unitypackage](https://downloads.hisplayer.com/Unity/Quest/HISPlayer_MetaQuest_MV-HEVC_Sample.unitypackage) and import it to your Unity project.
-
-The sample includes 2 scenes:
-* **HISPlayerMetaQuestMvHevcExtSurface**: Render a local stereoscopic Side-By-Side MV-HEVC video with **ExternalSurface** Render Mode. This render mode is recommended for better performance. **SetStereoscopicRendering** API is called in the script.
-* **HISPlayerMetaQuestMvHevcRT**: Render a local stereoscopic Side-By-Side MV-HEVC video with **Render Texture** Render Mode. **HISPlayerStereoscopicShader.shader** is used.
-
-To use the sample, follow below steps:
-* Open **Assets\HISPlayerMetaQuestMVHEVCSample\Scenes\ISPlayerMetaQuestMvHevcExtSurface.unity** or **Assets\HISPlayerMetaQuestMVHEVCSample\Scenes\HISPlayerMetaQuestMvHevcRT.unity**.
-* Import TextMeshPro. Go to Unity Window > TextMeshPro > Import TMP Essential Resources.
-* If you received a license key from HISPlayer, input the license key through the Inspector Unity window: **StreamController** GameObject > HISPlayerSample component > **License Key**
-* Open File > Build Settings > Add Open Scenes
-* Build and Run
-
-To check how to set up the SDK and API usage, please refer to Assets/HISPlayerMetaQuestMVHEVCSample/Scripts/Sample/HISPlayerSample.cs and StreamController GameObject in the Editor.
From 299104e69f5f06f8656a72a4840536faf95627dd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=93scar=20Fern=C3=A1ndez=20Romano?=
<47836840+OskarFreestyle@users.noreply.github.com>
Date: Mon, 8 Jun 2026 11:53:53 +0200
Subject: [PATCH 09/19] Update audio-retrieval.md
---
audio-retrieval.md | 24 ------------------------
1 file changed, 24 deletions(-)
diff --git a/audio-retrieval.md b/audio-retrieval.md
index c8de8bd..5ac5326 100644
--- a/audio-retrieval.md
+++ b/audio-retrieval.md
@@ -65,27 +65,3 @@ The default speaker mode can be configured in Unity via: **Edit → Project Sett
-
-### Sample Application Implementation
-Our sample application includes the **GetAudioSource.cs** and **FillAudioSource.cs** scripts to demonstrate this functionality.
-The sample is configured to use **Stereo** Speaker Mode and utilizes five separate AudioSource components (Center, Left, Right, Left Surround, Right Surround).
-
-Because the speaker mode is Stereo:
-The **Center AudioSource** needs to play through both the left and right speakers simultaneously. Therefore, its Input Channel Index is 0 (Center), and its Speaker Channel Indexes list is set to 0 (Left) and 1 (Right).
-For the **Left AudioSource**, the Input Channel Index is 1 (Left), and its Speaker Channel Indexes list contains only 0 (Left).
-The remaining AudioSource components follow this same routing logic based on their respective positions.
-
-
-
-
-
-## HISPlayer Meta Quest Spatial Audio Sample
-
-Please download the sample here: [HISPlayer_MetaQuest_SpatialAudio_Sample.unitypackage](https://downloads.hisplayer.com/Unity/Quest/HISPlayer_MetaQuest_OVROverlay_SpatialAudio_SampleV2.unitypackage) and import it to your Unity project.
-
-Before using the sample, make sure that you have imported HISPlayer SDK. If not, please follow the [**Quickstart Guide**](./setup-guide.md).
-
-The sample plays local video with 5 audio channels that are connected to 5 AudioSources. You may modify the sample depending on your audio channel count.
-Please refer to the sample package which consists of the following Unity scenes in **HISPlayerSpatialAudioSample\Scenes**:
-- **HISPlayerFillAudioSample**: Sample utilizing **FillAudioData()** API by passing the float[] data from each Unity Audio Source **OnAudioFilterRead()** which the data buffer will be filled automatically. To check the APIs usage, please refer to all scripts in **HISPlayerSpatialAudioSample\Scripts\Sample\Audio\FillAudioSample**.
-- **HISPlayerGetAudioSample**: Sample utilizing **GetAudioData()** API in Unity Audio Source **OnAudioFilterRead()** for center channel, and the new audio data is shared to other channel classes. The new audio data will be copied to the float[] data of **OnAudioFilterRead()** for each channel. To check the APIs usage, please refer to all scripts in **HISPlayerSpatialAudioSample\Scripts\Sample\Audio\GetAudioSample**.
From 78a7535c5c6fb84e7e35c4e6df362b76c38c967d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=93scar=20Fern=C3=A1ndez=20Romano?=
<47836840+OskarFreestyle@users.noreply.github.com>
Date: Mon, 8 Jun 2026 11:54:40 +0200
Subject: [PATCH 10/19] Update ambisonic.md
---
ambisonic.md | 21 ---------------------
1 file changed, 21 deletions(-)
diff --git a/ambisonic.md b/ambisonic.md
index c9616c9..2de1164 100644
--- a/ambisonic.md
+++ b/ambisonic.md
@@ -38,24 +38,3 @@ For more details, please refer to below APIs section and HISPlayer Meta Quest Am
* **TBE_8Channels_2HeadLockedChannels**: 8 channels of hybrid TBE ambisonics and 2 channels of head-locked stereo audio
**public HISPlayerAmbisonicAudio AmbisonicAudio**: Ambisonics audio supporting ambiX format from first order to 3rd order, and TBE format. Enabling Ambisonic will disable Unity Audio. It's set to None or disabled by default. To modify this value, please use the Editor.
-
-## HISPlayer Meta Quest Ambisonic Sample
-
-Before using the sample, make sure that you have imported HISPlayer SDK. If not, please follow the [**Quickstart Guide**](./setup-guide.md).
-
-Please download the sample here: [HISPlayerMetaQuestAmbisonicSample.unitypackage](https://downloads.hisplayer.com/Unity/Quest/HISPlayerMetaQuestAmbisonicSample.unitypackage) and import it to your Unity project.
-
-* Open **Assets\HISPlayerMetaQuestAmbisonicSample\Scenes\HISPlayerMetaQuestAmbisonicSample.unity**.
-* Import TextMeshPro. Go to Unity Window > TextMeshPro > Import TMP Essential Resources.
-* If you received a license key from HISPlayer, input the license key through the Inspector Unity window: **StreamController** GameObject > HISPlayerSample component > **License Key**
-* Open File > Build Settings > Add Open Scenes
-* Build and Run
-
-To check how to set up the SDK and API usage, please refer to Assets/HISPlayerMetaQuestAmbisonicSample/Scripts/Sample/HISPlayerSample.cs and StreamController GameObject in the Editor.
-
-The sample includes 3 local videos in StreamingAssets:
-* 3rd order ambisonics (16 channels) ambiX format
-* 2nd order ambisonics (9 channels) ambiX format
-* 8 channels + 2 channels head-locked stereo TBE format
-
-By default the sample plays local video with 3rd order ambisonics (16 channels) ambiX format.
From e1cf48cfc45ebd8b82233758e5bdd81536c5c8dd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=93scar=20Fern=C3=A1ndez=20Romano?=
<47836840+OskarFreestyle@users.noreply.github.com>
Date: Mon, 8 Jun 2026 11:56:15 +0200
Subject: [PATCH 11/19] Update setup-guide.md
---
setup-guide.md | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/setup-guide.md b/setup-guide.md
index 7c6938a..4c37fb6 100644
--- a/setup-guide.md
+++ b/setup-guide.md
@@ -9,11 +9,9 @@ Getting started with HISPlayer consists of implementing the following steps:
1.3. Configure Unity for Android
-2. HISPlayer Meta Quest SDK Sample
+2. Official Sample
- 2.1 Import HISPlayer Meta Quest SDK Sample
-
- 2.2 Sample Explanation
+3. More Information, Features and APIs
## 1.1 Integrate Meta XR All-in-One SDK
@@ -73,8 +71,8 @@ It is recommended to set Target API Level to 34 or higher. By selecting Android
Alternatively, you may set the Target API level to 34 or higher in the Unity project settings.
-## Official Sample
+## 2. Official Sample
To try the official sample, please refer to the following [**Official Sample**](/sample.md).
-## More Information, Features and APIs
+## 3. More Information, Features and APIs
For more information about the supported features and APIs, please refer to the following [**HISPlayer API**](/hisplayer-api.md).
From 77d5267c0f0ec2a86455696a0f90006634139d2a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=93scar=20Fern=C3=A1ndez=20Romano?=
<47836840+OskarFreestyle@users.noreply.github.com>
Date: Mon, 8 Jun 2026 11:58:19 +0200
Subject: [PATCH 12/19] Update setup instructions for HISPlayer SDK sample
---
sample.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sample.md b/sample.md
index 82ec140..32066bb 100644
--- a/sample.md
+++ b/sample.md
@@ -5,7 +5,7 @@ Please, download the sample here[DELETE THIS COMMENT, upload the sample after th
## 1. Set Up HISPlayer Meta Quest SDK Sample
Before using the sample, please make sure you have followed the above steps to set-up your Unity project for Oculus and HISPlayer SDK. To use the sample, please follow these steps:
- - Set up the Meta XR All-in-One environment
+ - Set up the [Meta XR All-in-One environment](/setup-guide?id=_11-integrate-meta-xr-all-in-one-sdk).
- Import HISPlayer SDK
- Import HISPlayer Meta Quest SDK Sample
- Import TextMeshPro. Go to Unity Window > TextMeshPro > Import TMP Essential Resources.
From bea21a7fdbafa4d3039c147e47d222e7994b3647 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=93scar=20Fern=C3=A1ndez=20Romano?=
<47836840+OskarFreestyle@users.noreply.github.com>
Date: Mon, 8 Jun 2026 12:02:55 +0200
Subject: [PATCH 13/19] Fix link format in setup instructions
---
sample.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sample.md b/sample.md
index 32066bb..1e7a5be 100644
--- a/sample.md
+++ b/sample.md
@@ -5,7 +5,7 @@ Please, download the sample here[DELETE THIS COMMENT, upload the sample after th
## 1. Set Up HISPlayer Meta Quest SDK Sample
Before using the sample, please make sure you have followed the above steps to set-up your Unity project for Oculus and HISPlayer SDK. To use the sample, please follow these steps:
- - Set up the [Meta XR All-in-One environment](/setup-guide?id=_11-integrate-meta-xr-all-in-one-sdk).
+ - Set up the [Meta XR All-in-One environment](/#/setup-guide?id=_11-integrate-meta-xr-all-in-one-sdk).
- Import HISPlayer SDK
- Import HISPlayer Meta Quest SDK Sample
- Import TextMeshPro. Go to Unity Window > TextMeshPro > Import TMP Essential Resources.
From dd8e67054cf5488ef0bf5f8474c8e897d6fd159c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=93scar=20Fern=C3=A1ndez=20Romano?=
<47836840+OskarFreestyle@users.noreply.github.com>
Date: Mon, 8 Jun 2026 12:03:19 +0200
Subject: [PATCH 14/19] Fix link to Meta XR All-in-One setup guide
---
sample.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sample.md b/sample.md
index 1e7a5be..5514b40 100644
--- a/sample.md
+++ b/sample.md
@@ -5,7 +5,7 @@ Please, download the sample here[DELETE THIS COMMENT, upload the sample after th
## 1. Set Up HISPlayer Meta Quest SDK Sample
Before using the sample, please make sure you have followed the above steps to set-up your Unity project for Oculus and HISPlayer SDK. To use the sample, please follow these steps:
- - Set up the [Meta XR All-in-One environment](/#/setup-guide?id=_11-integrate-meta-xr-all-in-one-sdk).
+ - Set up the [Meta XR All-in-One environment](/setup-guide.md?id=_11-integrate-meta-xr-all-in-one-sdk).
- Import HISPlayer SDK
- Import HISPlayer Meta Quest SDK Sample
- Import TextMeshPro. Go to Unity Window > TextMeshPro > Import TMP Essential Resources.
From 93716c8e50f5bbec95fb0358dcc6b4eb01080a4e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=93scar=20Fern=C3=A1ndez=20Romano?=
<47836840+OskarFreestyle@users.noreply.github.com>
Date: Mon, 8 Jun 2026 12:04:38 +0200
Subject: [PATCH 15/19] Update links to local documentation files
---
sample.md | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/sample.md b/sample.md
index 5514b40..65bc57a 100644
--- a/sample.md
+++ b/sample.md
@@ -78,32 +78,32 @@ You can also test with these alternative streams:
- `https://downloads.hisplayer.com/Unity/test-contents/Ambisonic_AmbiX_9Ch.mkv` with **Ambisonic Audio** configured as **AMBIX_9 Channels**.
- `https://downloads.hisplayer.com/Unity/test-contents/Ambisonic_TBE_8_2.mkv` with **Ambisonic Audio** configured as **TBE_8 Channels_2 Head Locked Channels**.
-For more information, please refer to the following [Ambisonic documentation](https://hisplayer.github.io/UnityMetaQuest-SDK/#/ambisonic).
+For more information, please refer to the following [Ambisonic documentation](/ambisonic.md).
#### HEVC_DRM Scene
This scene is designed for **DRM-protected HEVC** content.
-For more information, please refer to the following [DRM documentation](https://hisplayer.github.io/UnityMetaQuest-SDK/#/drm).
+For more information, please refer to the following [DRM documentation](drm.md).
#### MultiStream Scene
Here the sample uses the **HISPlayerVRMultiController** script, a variant of `HISPlayerVRController` that is adapted to handle **two video streams** simultaneously. You can activate the **Synchronize Streams** option to keep both streams in sync.
-For more details, please refer to the following [Synchronize MultiStreams API documentation](https://hisplayer.github.io/UnityMetaQuest-SDK/#/hisplayer-api?id=void-synchronizemultistreamsint-primaryplayerindex-int-secondaryplayerindex-long-offsetms-0).
+For more details, please refer to the following [Synchronize MultiStreams API documentation](/hisplayer-api.md?id=void-synchronizemultistreamsint-primaryplayerindex-int-secondaryplayerindex-long-offsetms-0).
#### MV-HEVC Scene
This scene is configured to play **MV-HEVC** (Multiview High Efficiency Video Coding) content, enabling native 3D or multiview video playback.
-For more information, please refer to the following [MV-HEVC documentation](https://hisplayer.github.io/UnityMetaQuest-SDK/#/stereoscopic?id=hisplayer-meta-quest-mv-hevc-sample).
+For more information, please refer to the following [MV-HEVC documentation](/stereoscopic.md?id=hisplayer-meta-quest-mv-hevc-sample).
#### Spatial Audio Scene
Two helper GameObjects are present in the scene: **FillAudioSourceGroup** and **GetAudioSourceGroup**. Activating or deactivating them switches between the corresponding audio retrieval APIs.
-For more information, please refer to the following [Audio Retrieval guide](https://hisplayer.github.io/UnityMetaQuest-SDK/#/audio-retrieval).
+For more information, please refer to the following [Audio Retrieval guide](/audio-retrieval.md).
#### Stereoscopic Scene
This scene is set up for **stereoscopic video** playback, rendering separate left/right eye views.
-For more information, please refer to the following [Stereoscopic guide](https://hisplayer.github.io/UnityMetaQuest-SDK/#/stereoscopic).
+For more information, please refer to the following [Stereoscopic guide](/stereoscopic.md).
### 2.3. Controls
#### Scene Navigation Controls
From 9c0584a6a11467e79359a96fb06197d6615d9e2c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=93scar=20Fern=C3=A1ndez=20Romano?=
<47836840+OskarFreestyle@users.noreply.github.com>
Date: Mon, 8 Jun 2026 12:46:39 +0200
Subject: [PATCH 16/19] Update image tags in setup-guide.md
---
setup-guide.md | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/setup-guide.md b/setup-guide.md
index 4c37fb6..86ea7b9 100644
--- a/setup-guide.md
+++ b/setup-guide.md
@@ -20,7 +20,7 @@ Integrate HISPlayer SDK with the **[Meta XR All-in-One SDK](https://developer.oc
First, please configure the Unity project for Oculus by following this [Tutorial](https://developer.oculus.com/documentation/unity/unity-tutorial-hello-vr/) and open **Window > Package Manager > Packages: In Project** to check Meta XR All-in-One SDK is installed properly.
-
+
#### Meta XR Setup Tool
@@ -28,7 +28,7 @@ First, please configure the Unity project for Oculus by following this [Tutorial
Open **Edit > Player Settings > MetaXR**, select the Android platform and clik "**Select All**" and "**Apply All**" in order to set up all the Meta XR settings.
-
+
In XR Plug-in Management, please make sure that you have the **OpenXR** option checked (or Oculus for older Meta XR SDK version). Otherwise, when you run the application, it will show a 2D window without XR environment.
@@ -36,7 +36,7 @@ In XR Plug-in Management, please make sure that you have the **OpenXR** option c
- **Edit > Project Settings > XR Plug-in Management**
-
+
## 1.2 Import HISPlayer SDK
@@ -49,7 +49,7 @@ Select the package of _HISPlayer SDK_ and import it.
Select the package of _HISPlayer SDK_ and import it.
-
+
## 1.3 Configure Unity for Android
@@ -57,7 +57,7 @@ Select the package of _HISPlayer SDK_ and import it.
Open the window **Tools > HISPlayer** located in the upper side of the screen > Click on Player Settings Configuration > Select **Build Target to Android** > Set all the required settings.
-
+
Setting **"Plugins folder"** will create **mainTemplate.gradle** and **gradleTemplate.properties** in your ProjectRoot\Assets\Plugins\Android. Please make sure you use the correct **mainTemplate.gradle** that is generated from our SDK. If you need to modify it, please make sure the dependencies and configurations from HISPlayer SDK's mainTemplate.gradle exist in your modified gradle file.
@@ -66,7 +66,7 @@ Setting **"Plugins folder"** will create **mainTemplate.gradle** and **gradleTem
It is recommended to set Target API Level to 34 or higher. By selecting Android target 34, Unity is going to ask you to update (in the case you don't have the SDK installed). Please, press "Update Android SDK" button.
-
+
Alternatively, you may set the Target API level to 34 or higher in the Unity project settings.
From c25d49c7c6d84610d5434dadf239726e25ae1818 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=93scar=20Fern=C3=A1ndez=20Romano?=
<47836840+OskarFreestyle@users.noreply.github.com>
Date: Thu, 11 Jun 2026 17:07:31 +0200
Subject: [PATCH 17/19] Clarify license key input instructions for scenes
---
sample.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sample.md b/sample.md
index 65bc57a..958fc08 100644
--- a/sample.md
+++ b/sample.md
@@ -9,7 +9,7 @@ Before using the sample, please make sure you have followed the above steps to s
- Import HISPlayer SDK
- Import HISPlayer Meta Quest SDK Sample
- Import TextMeshPro. Go to Unity Window > TextMeshPro > Import TMP Essential Resources.
- - If you received a license key from HISPlayer, input the license key through the Inspector Unity window: **StreamController GameObject > HISPlayerSample component > License Key**. This must be done for **each scene** while adding them to the Scene List. Open each scene located in `Assets/HISPlayerMetaQuestSample/Scenes/`, set the license key if needed, then go to **File > Build Settings > Add Open Scenes** to include it in the **Scene List** of the Build Profile.
+ - If you received a license key from HISPlayer, input the license key through the Inspector Unity window: **StreamController GameObject > HISPlayerSample component > License Key**. This must be done for **each scene** you want to test while adding them to the Scene List. Open each scene located in `Assets/HISPlayerMetaQuestSample/Scenes/`, set the license key if needed, then go to **File > Build Settings > Add Open Scenes** to include it in the **Scene List** of the Build Profile.
- Build and Run
To check how to set up the SDK and API usage, please refer to the sample scenes described below.
From ece7d9640d1dee47874c59ab3f90d2026e7f0d54 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=93scar=20Fern=C3=A1ndez=20Romano?=
<47836840+OskarFreestyle@users.noreply.github.com>
Date: Thu, 11 Jun 2026 17:09:26 +0200
Subject: [PATCH 18/19] Enhance setup guide with HISPlayer sample instructions
Added detailed instructions for using the HISPlayer Meta Quest SDK Sample and setup requirements.
---
setup-guide.md | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/setup-guide.md b/setup-guide.md
index 86ea7b9..ba1bd85 100644
--- a/setup-guide.md
+++ b/setup-guide.md
@@ -72,7 +72,18 @@ It is recommended to set Target API Level to 34 or higher. By selecting Android
Alternatively, you may set the Target API level to 34 or higher in the Unity project settings.
## 2. Official Sample
-To try the official sample, please refer to the following [**Official Sample**](/sample.md).
+
+Please, download the sample here[DELETE THIS COMMENT, upload the sample after the review): [**HISPlayer Meta Quest SDK Sample**]() (no need to download it if you have received it in the email).
+
+Before using the sample, please make sure you have followed the above steps to set-up your Unity project for Oculus and HISPlayer SDK. To use the sample, please follow these steps:
+ - Set up the [Meta XR All-in-One environment](/setup-guide.md?id=_11-integrate-meta-xr-all-in-one-sdk).
+ - Import HISPlayer SDK
+ - Import HISPlayer Meta Quest SDK Sample
+ - Import TextMeshPro. Go to Unity Window > TextMeshPro > Import TMP Essential Resources.
+ - If you received a license key from HISPlayer, input the license key through the Inspector Unity window: **StreamController GameObject > HISPlayerSample component > License Key**. This must be done for **each scene** you want to test while adding them to the Scene List. Open each scene located in `Assets/HISPlayerMetaQuestSample/Scenes/`, set the license key if needed, then go to **File > Build Settings > Add Open Scenes** to include it in the **Scene List** of the Build Profile.
+ - Build and Run
+
+For more information about the official sample, please refer to the following [**Official Sample**](/sample.md).
## 3. More Information, Features and APIs
For more information about the supported features and APIs, please refer to the following [**HISPlayer API**](/hisplayer-api.md).
From b6b026c9260b1190724def62562f01d9034aa58b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=93scar=20Fern=C3=A1ndez=20Romano?=
<47836840+OskarFreestyle@users.noreply.github.com>
Date: Thu, 11 Jun 2026 17:38:29 +0200
Subject: [PATCH 19/19] Update sample.md
---
sample.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sample.md b/sample.md
index 958fc08..ac5bb85 100644
--- a/sample.md
+++ b/sample.md
@@ -80,7 +80,7 @@ You can also test with these alternative streams:
For more information, please refer to the following [Ambisonic documentation](/ambisonic.md).
-#### HEVC_DRM Scene
+#### DRM Scene
This scene is designed for **DRM-protected HEVC** content.
For more information, please refer to the following [DRM documentation](drm.md).