Meta XR Plugin settings
Updated: Dec 17, 2024
With the Unreal Engine 5 Integration, you can easily set up your app with features like Focus Aware support, color space settings, head tracking support, foveated rendering settings, and more. These are done using the settings of the Meta XR Plugin to Unreal Engine.
This topic discusses those options, and provides links to topics that contain more information.
Once you have created a project and enabled the Meta XR plugin, you can access the plugin-specific settings.
On this page, you can set options in the following areas:
With the General Meta XR project settings, you can launch the Meta XR Project Setup Tool and Meta XR Platform Window.
- Meta XR Project Setup Tool: Configures performance-specific properties of your UE project.
- Meta XR Platform Window: Uploads your Unreal Engine apps for Quest devices to the Meta Horizon platform. See Upload Apps to Meta Quest from the Unreal Editor for more information.
System Splash Screen settings
The System Splash Screen sets the System Splash Screen Background for your app. Two options are available:
- Black
- Passthrough (Contextual)
Engine Splash Screen settings
The Engine Splash Screen section provides the following options:
- Auto Enabled: Enables splash screen auto-loading. Disabled is the default setting.
- Splash Descs: Lets you add an array of components for the splash screen to display when levels are loading in your app. You can configure options like texture path, transforms, scale, and offset for the splash screen. See Splash Screen for more information about configuring these.
The General section contains settings applicable to all apps. You can set The following options:
- XR API: Specifies the XR API that you’re using. We recommend the Oculus OVRPlugin + OpenXR backend setting.
Color Space: Sets the color space so the appropriate colors are shown when your app runs on a specific device.
P3 (also known as DCI-P3) is the default color space for all Meta Quest headsets. See
Color Management in Meta Quest Headsets for more information about color spaces for different devices. The following options are available for selecting a color space:
- Unknown: Color correction is unknown. If selected, this setting will be undefined for PC VR but will default to the P3 (DCI-P3) colorspace on a Meta Quest device.
- Unmanaged: No color correction. We recommend that you do not use this option for production use.
- Rec 2020: Uses D65 (daylight) for its white point.
- Rec 709: used for Oculus Go. It shares the same primary color coordinates as sRGB.
- Rift CV1: The original unique color space for Oculus Rift.
- RiftS: The unique color space for the Oculus Rift S.
- Meta Quest: The Meta Quest native color space. Similar to the Rift CV1 color space. Not currently used as the default setting for Quest 1.
- P3 (Recommended): The default color space for all Meta Quest headsets. This color space is similar to DCI-P3.
- Adobe RGB: Similar to sRGB, but with deeper greens using D65 (daylight) for its white point.
- Controller Pose Alignment: Specifies the basic controller pose alignment used for your app. The following options are available:
- Default: The default controller pose alignment. This alignment is neither grip nor aim, and is the default alignment used in all versions of the Meta XR plugin. We recommend this pose for compatibility with previous assets designed for the Meta XR plugin.
- Grip: The grip pose as defined by OpenXR. Use this for cross-plugin compatibility with assets designed for the native OpenXR grip pose.
- Aim: The aim pose as defined by OpenXR. Use this for cross-plugin compatibility for the native OpenXR aim pose.
This section contains settings specific to apps for development with PC VR. It contains the following options that can be set:
- Supports Dash: Indicates support for focus-awareness in your app. This is the default option and it displays the Universal Menu as an overlay to your app. See Overlays and Input Focus for more information.
- Composites Depth: Shares the app depth buffer with the VR compositor for layer compositing and similar uses. This is the default option. See Compositor Layers for more information.
- HQDistortion: Computes mipmaps for the eye buffers for every frame. This results in higher-quality distortion, but can have a performance impact if selected. This option is off by default.
- Meta XR Simulator JSON File: Tells the system to use an existing JSON file for Meta XR simulation and enables you to select the file you want to use. Enter the file pathway directly in the box or navigate to it by clicking ....
This section contains settings that affect apps for Meta Quest headsets. It contains the following options:
- Supported Meta Quest Devices: Click the + to select supported Meta Quest Devices from the list. No devices are selected by default. When selecting devices, you can also Insert, Delete, or Duplicate any pre-configured device.
Suggested Cpu Perf Level: Select the CPU performance level when your app starts on Meta Quest headsets. See
Power Management for more information. Four options are available:
- PowerSavings: Used in non-XR section (head-locked/static screen), during which the system prioritizes power savings.
- SustainedLow: This is the default setting. Used when the app enters a low and stable complexity section during which reducing power is more important than the occasional late rendering frames.
- SustainedHigh: Let XR Runtime perform consistent XR compositing and frame rendering within a thermally sustainable range for improved performance.
- Boost(+): Boosts all XR Runtime to step up beyond the thermally sustainable range for a short period. (This is currently equivalent to SustainedHigh and we recommend that you not use it in Meta Quest apps.)
Suggested Gpu Perf Level: Select the GPU performance level when your app starts on Meta Quest headsets. See
Power Management for more information. Four options are available:
- PowerSavings: Used in non-XR section (head-locked/static screen), during which the system prioritizes power savings.
- SustainedLow: This is the default setting. Used when the app enters a low and stable complexity section during which reducing power is more important than the occasional late rendering frames.
- SustainedHigh: Let XR Runtime perform consistent XR compositing and frame rendering within a thermally sustainable range for improved performance.
- Boost(+): Boosts all XR Runtime to step up beyond the thermally sustainable range for a short period. (This is currently equivalent to SustainedHigh and we recommend that you not use it in Meta Quest apps.)
- Composite Depth: Whether the app’s depth buffer is shared with the compositor to enable depth testing against other layers. Mobile depth composition has performance overhead both on the engine (for resolving depth) and on the compositor (for depth testing against other layers).
Focus Aware: Whether the app will be focus-aware and keep the app in the foreground when the user presses the Meta Quest button. If selected, the app displays the Universal Menu as an overlay to your app. This option requires the app to handle input focus loss. This option is selected by default. See
Overlays and input focus for more information.
Note: When Focus Aware is selected, the following entry is added to the app manifest under the activity
node when you package it for Android: meta-data android:name="com.oculus.vr.focusaware" android:value="true"
.
- Late latching: Enables late latching for reducing HMD and controller latency and improving the quality of tracking predictions. You must enable both Multiview and Vulkan to use Late Latching.
- Requires system keyboard: Whether the app will use the Meta Quest system keyboard for input fields. This requires that the app be focus-aware.
Hand tracking support: Whether controllers or hands can be used with the app. See
Hand tracking for more information. Three options are available:
- Controllers only
- Controllers and hands
- Hands only
- Hand tracking frequency: Indicates the hand tracking frequency for the app. Two options are available:
- LOW
HIGH
Note: If HIGH is selected, it will reserve some performance headroom from the app’s budget.
- Hand tracking version: Indicates the version of hand tracking algorithm used. Three options are available:
- Passthrough enabled: Whether passthrough functionality can be used with the app.
- Anchor support: Whether Spatial Anchors can be used with the app.
- Anchor sharing: Whether Spatial Anchor sharing can be used with the app.
- Scene support: Whether Scene can be used with the app.
- Body Tracking enabled: Whether Body Tracking functionality can be used with the app.
- Eye Tracking enabled: Whether Eye Tracking functionality can be used with the app.
- Face Tracking enabled: Whether Face Tracking functionality can be used with the app.
Face Tracking source: Click the + to select the preferred Face Tracking data source. No source is selected by default. Three options are available:
- Visual
- Audio
- Favor Equally.
- Deploy compiled .so directly to device: Copies the compiled .so directly to supported Meta Horizon platforms. This option allows you to update compiled code without rebuilding and installing an APK.
Process Favor: Indicates the degree your app uses one processor at the expense of the other on supported devices. Three options are available:
- Favor Equally
- Favor CPU
- Favor GPU
- Tile Turn Off: Whether Tile Turn Off is enabled in the app. This option is selected by default.
- Enable dynamic resolution: Enables support of foveated rendering in the app. This option is off by default.
- Pixel density min: Specifies the minimum allowed pixel density. This option is set at 0.8 by default.
- Pixel density max: Specifies the maximum allowed pixel density. This option is set at 1.2 by default.
This section enables you to specify the degree of foveated rendering used with the app. Foveated rendering uses eye trackers integrated with the Meta Quest headset to reduce the rendering workload by reducing the image quality in the user’s peripheral vision (outside of the region directly looked at by the eye’s fovea).
- Foveated rendering method: Indicates the type of foveated rendering method used with the app. The default setting is Fixed Foveated Rendering.
Foveated rendering level: Specifies the level at which the foveated rendering is performed. Five settings are available:
- Off: This option is the default setting.
- Low
- Medium
- High
- High Top
Dynamic foveated rendering: Whether the foveation level is adjusted dynamically based on GPU load. This option is selected by default. See
Fixed Foveated Rendering for more information.
Note: In most cases, dynamic foveation is a better option than using a static FFR level, and we recommend that you use this setting instead of Unreal Engine’s Dynamic Resolution feature.
- Suport eye tracked foveated rendering: Whether eye-tracked foveated rendering can be used with the app. This option is off by default.
This section specifies whether your app can use selected experimental Meta Quest features. Consent for use is opt-in.
Support experimental features: Whether you can use the listed experimental features in your app. This option is off by default. If no features are listed, this option is not available.