Develop

Set Target Device and Get Device at Runtime in Unreal Engine

Updated: Apr 17, 2026
When you create apps that target a Meta Quest device, you can set one or more target devices when you create the app and check the device that app is running on. You can then enable extra features to improve the user experience for apps running on the Meta Quest 2, Meta Quest 3, Meta Quest 3S, or Meta Quest Pro. For example, you can add more objects to a scene to take advantage of the faster GPU on higher-end devices.
An app is assumed to target primarily the Quest device (and not any specific newer device) unless you include an Android manifest entry that tells it to do otherwise. As a result, the Meta Quest runtime defaults to reporting the current device is a Quest and maximizes compatibility by modifying internal behavior as needed to best run on that device.
This topic covers how to set the target device in Unreal Engine and get the device type at runtime.

Add Meta Quest devices to the Android Manifest

When creating an app for a Meta Quest device, package the app for the Meta Quest devices by adding it to the Android Manifest using the Project Settings in Unreal.
To add Meta Quest devices to the manifest:
  1. In Unreal Engine, go to Edit > Project Settings.
  2. Under Platforms, select Android.
  3. Scroll down and expand Advanced APK Packaging.
  4. Select the option for Package for Meta Quest Devices.
This adds the Quest/Quest 2/Quest 3 entry to the manifest:
<meta-data android:name="com.oculus.supportedDevices" android:value="quest2|questpro|quest3|quest3s"/>
If this manifest entry isn’t present, the runtime will respond with Meta Quest (and not any specific newer device type) as the current device type, regardless of SDK headers or other factors.

Check device with the Get Device Type Blueprint

You can get the device type at runtime with the Meta Quest Get Device Type Blueprint. This is the correct way to perform device type checking on Quest devices within Blueprints.
Note: The blueprint previously used for this, the Get Device Name Blueprint, has been deprecated.
The Get Device Type node looks like the image below and is enum-based. You can use it to check for your Meta Quest device.
Screenshot of Get Device Type Blueprint

Check Headset Type in Code

You can also check the headset type in code using UOculusXRFunctionLibrary::GetDeviceType() from the Meta XR Plugin. This returns an EOculusXRDeviceType enum value that you can compare against specific device types.
#include "OculusXRFunctionLibrary.h"

const EOculusXRDeviceType Type = UOculusXRFunctionLibrary::GetDeviceType();
if (Type == EOculusXRDeviceType::MetaQuest3)
{
    // Quest 3-specific logic
}
Note: ovrp_GetSystemHeadsetType2 is the underlying OVRPlugin function that UOculusXRFunctionLibrary::GetDeviceType() wraps internally. Use it only if you require lower-level OVRPlugin access.

Avoid Android APIs

You should not use the Android Java API android.os.Build.MODEL for checking the device type. This is not supported, and typically returns Meta Quest.