Develop

Meta VR OS NSDK overview

Updated: Sep 11, 2026

What you can do with the NSDK

The NSDK gives you practical building blocks for native Horizon OS apps. Register a virtual camera to publish app-rendered frames as a camera device that Camera API clients, including the system Camera app, can open. Use shared types for 2D sizes, 3D bounds, vectors, and poses in NSDK APIs, and check the device SDK version to adapt your app across releases.
See the API reference documentation for information about specific APIs.

How NSDK fits alongside Android NDK and OpenXR

The Meta VR OS NSDK complements the Android NDK and OpenXR, and does not replace them. A typical immersive Quest app may use all three: Android NDK for standard platform features, OpenXR for core XR functionality such as rendering and input, and Meta VR OS NSDK for Horizon OS-specific capabilities.
SDKPurpose
Android NDK
Access to standard Android platform APIs (sensors, audio, logging, and so on) from native code
OpenXR
Cross-platform XR runtime APIs (rendering, tracking, input, and so on)
Meta VR OS NSDK
Horizon OS-specific platform APIs not available through Android or OpenXR (versioning, Virtual Camera Publisher, and so on)

Architecture

The Meta VR OS NSDK is distributed as an AAR package containing:
  • Header files — C API declarations included into your app at compile time (for example, <metavr/versioning.h>).
  • Stub shared library (libhzos.meta.so) — provides symbol definitions for the linker at build time. Contains no real implementation.
At runtime, the device supplies the real libhzos.meta.so with full implementations. The stub is never packaged into your APK.
Why a C API? A C interface provides maximum compatibility across compilers, build systems, and languages. It avoids C++ ABI fragility and makes the API accessible from any language that supports C foreign function interface (FFI).

Features

FeatureDescription
Follow this guide to setup the NSDK to query the Meta VR OS SDK version available on the device
Register a custom camera that appears as a standard Android Camera2 device
Graphics Types
Common 2D and 3D graphics data types