UE OpenXR Passthrough
2PCVR 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
More in Unreal Engine
Blueprint Auto Layout
Pin-aware auto-layout for Unreal Blueprint graphs. Or as it should be called: ANTI-PASTA.
ue5-testflight
Fully autonomous UE5 → TestFlight pipeline for iOS, visionOS, and macOS. One command.
unreal-mac-getstats-fix
Runtime fix for the UE editor crash-on-launch on macOS 26 Tahoe. No source rebuild.
Want this level of depth on your own project?
The classes teach the same production techniques these repos are built with — scar tissue included.