Engine integration

Unity integration

Author and play OpenVolumetric content in Unity 6 on desktop and Meta Quest.

Runtime component

Add the OpenVolumetric.OpenVolumetric component to a GameObject with the required mesh renderer. Configure either a local StreamingAssets filename or an HTTP(S) URL, then enable play-on-start and looping as required.

For adaptive playback, point the source at manifest.json, enable Use Adaptive Manifest, and choose Auto, Low, or High. Remote Auto applies platform capability limits and a bounded throughput probe; manual choices explicitly override those limits.

Rendering

The Unity integration provides native upload paths for:

  • Metal on macOS.
  • D3D11 and D3D12 on Windows.
  • Vulkan on Android/Quest.

The material should remain unlit and two-sided so captured colour is not altered by scene lighting and reversed capture winding remains visible.

Audio

Decoded PCM is delivered through the native Unity DSP plug-in. Enable geometry-centroid spatial audio to move the sound with the mesh without changing the synchronized audio timeline.

Authoring

Open Tools > OpenVolumetric > Encoder. Select numbered images, matching OBJ files, optional audio, a preset, and the output. See Authoring for the shared pipeline.

Developer controls

The desktop and XR developer panels expose playback, seeking, looping, quality selection, and transport diagnostics. Keep the overlay enabled while validating a new asset, then disable development controls for release builds.

Quest requirements

  • Unity 6 Android Build Support and the Unity-supplied SDK, NDK, CMake, and OpenJDK.
  • ARM64 as the target architecture.
  • Game Activity as the application entry point.
  • Vulkan graphics API.
  • A single active input-handling system.
  • Internet permission for HTTP(S) playback.

OpenVolumetric has been functionally validated on Quest 2 and Quest 3S. Quest currently uses software video decoding, so streaming presets and representative device testing remain important.

Native plug-in metadata

Track Unity .meta files associated with native plug-ins. They preserve platform, CPU architecture, and load settings. Generated shared libraries themselves are normally ignored or supplied as release artifacts, depending on the packaging workflow.