Alex CoulombePresents
← all repos

UE OpenXR Passthrough

2

PCVR passthrough for Unreal via raw OpenXR — no 500MB Meta XR Plugin required.

The story

The official way to get Meta Quest passthrough working over Quest Link/Air Link in Unreal is the Meta XR Plugin — a ~500MB dependency that drags a lot of Meta-specific code into a project. This is the ~500-line alternative: it registers as an IOpenXRExtensionPlugin so UE's OpenXR runtime picks it up automatically, requests XR_FB_passthrough directly, and auto-detects PCVR vs. standalone by checking which blend modes the runtime actually supports — doing real work only on PCVR (flipping UE's alpha-inversion CVars so the compositor's underlay renders correctly) and quietly doing nothing on standalone Quest, where the engine-native path already handles it.

Highlights

  • No Meta XR Plugin dependency — ~500 lines vs. a ~500MB SDK
  • Registers as an IOpenXRExtensionPlugin — UE's OpenXR runtime picks it up automatically
  • Auto-detects PCVR vs. standalone by blend mode, only acts where it's needed
  • Flips UE's alpha-inversion CVars so passthrough composites correctly through Quest Link
  • Runtime toggle via SetPassthroughEnabled(bool); Win64-only, auto-skipped elsewhere
$ git clone https://github.com/agilelens/ue-openxr-passthrough.git