Develop

Passthrough Troubleshooting

Updated: Apr 15, 2026
Note: To solve many troubleshooting issues, use the Meta XR Project Setup Tool. Most issues result from a misconfigured project and can be resolved using the tool.

Deprecated: The UOculusXRPassthroughLayerComponent is deprecated as of v74 (UE 5.6). For new projects, use Persistent Passthrough instead. Additionally, UOculusXRStereoLayerShapeUserDefined is deprecated; use UOculusXRStereoLayerShapeReconstructed instead. The sections below about the layer component and User Defined Passthrough Layer still apply for legacy projects.

Passthrough does not show up

  • Ensure that Passthrough Enabled is checked in Edit > Project Settings > Meta XR Plugin. Without this setting, the passthrough subsystem is not created and passthrough cannot function. Refer to the Configure Unreal Project documentation.
  • Set the Anti-Aliasing method to MSAA in your project’s rendering settings. MSAA is recommended for rendering quality with passthrough but is not strictly required for passthrough to function. The Meta XR Project Setup Tool flags this as a performance recommendation under Rendering settings.
  • If you have configured your Passthrough Layer Shape as an underlay, the application (VR) may cover the Passthrough layer completely. Ensure that the alpha channel is greater than 0 in some framebuffer regions. Refer to the Compositing and Masking and UOculusXRPassthroughLayerBase documentation.

UserDefined Passthrough Layer does not show up

  • Ensure that you have assigned it a Surface Geometry. Refer to the Projected Passthrough Tutorial documentation. If you wish to render Passthrough on the whole screen use a Reconstructed Passthrough Layer Shape instead.
  • Ensure Allow CPUAccess is enabled on your mesh. Refer to the Projected Passthrough Tutorial documentation, steps 6 and 7 of Create a Solid Plane.
Ensure that alpha channel support in post processing is enabled in your project’s rendering settings:
  • UE versions before 5.5: Set Enable alpha channel support in post processing to Allow through tonemapper.
  • UE 5.5 and later: Enable the Alpha channel support in post processing boolean.
The Meta XR Project Setup Tool checks this setting automatically when passthrough is enabled.
  • Use Android Vulkan Mobile Preview mode in the editor. This preview platform is recommended for correct passthrough behavior over Link, not only for PokeAHole materials. The Meta XR Project Setup Tool flags this automatically when passthrough is enabled.
  • If you do not wish to use Vulkan preview mode, create a new material with its blend mode set to AlphaHoldout as a workaround. Note: This material will not work when rendered over opaque objects.

Passthrough subsystem is null at runtime

  • Verify that Passthrough Enabled is checked in Edit > Project Settings > Meta XR Plugin. Without this setting, UOculusXRPassthroughSubsystem returns null because ShouldCreateSubsystem returns false and the subsystem is never created.
  • Enable Passthrough Enabled and restart the editor. The Meta XR Project Setup Tool also checks this setting automatically.

Color LUT has no effect

  • The color map type must be set to Color LUT or Interpolated Color LUT before assigning a LUT source. If the color map type is set to a different value, SetColorLUTSource logs a warning and ignores the LUT assignment.
  • Set the correct color map type first, then apply the LUT. Refer to the Color LUT Tutorial and Color Mapping documentation.