Color Space and Color Scaling
Updated: Apr 14, 2026
The Meta XR integration for Unreal Engine offers functions and Blueprints for affecting the displayed color of your apps. You can get the color space of the device your app runs on, set the color space for the client app, and apply color scaling.
Each Meta Quest device has its own color space, and colors display differently on monitors used during development compared to devices. You can set the color space in which you have mastered (color-graded) your app so the appropriate colors are shown when the app runs. P3 (DCI-P3) is the recommended and default color space for all Meta Quest headsets. For more information about color spaces and Meta Quest devices, see the
Color and Brightness Mastering Guide.
You can get the device color space and set the client app color space using project settings, Blueprints, or native code.
You can set the color space in the Meta XR plugin settings. To access the settings:
- Open your project in Unreal Engine.
- Go to Edit > Project Settings
- Go to Plugins and select Meta XR
The Plugins - Meta XR page displays.
- Find the General Settings section. The color settings are in this section.
The following image shows an example of this page:

Color Space - Sets the target color space for the app from the drop-down.
For more information, see
Plugin Settings.
You can get the device color space and set the color space for the client app using Blueprints:
You can get and set the color space using C++ by calling static functions on UOculusXRFunctionLibrary. Include the following header in your source file:
#include "OculusXRFunctionLibrary.h"
The following functions are available:
UOculusXRFunctionLibrary::GetHmdColorDesc() — Returns the native color space of the current device as an EOculusXRColorSpace value.UOculusXRFunctionLibrary::SetClientColorDesc(EOculusXRColorSpace ColorSpace) — Sets the target color space for the client app.
Color scaling can be used to inexpensively modify the brightness of all the pixels output by the compositor. It is commonly used for effects like fade-in or fade-to-black.
The
Set Color Scale and Offset Blueprint node performs the color scaling operation. Once a frame is rendered, warped, and ready to be displayed, the compositor multiplies each pixel by the Color Scale value and adds the Color Offset. The formula applied is:
newPixel = oldPixel * colorScale + colorOffset.
You can set the color scale and offset using C++ by calling a static function on UOculusXRFunctionLibrary. Include the following header in your source file:
#include "OculusXRFunctionLibrary.h"
The following function is available:
UOculusXRFunctionLibrary::SetColorScaleAndOffset(FLinearColor ColorScale, FLinearColor ColorOffset, bool bApplyToAllLayers = false) — Sets the color scale and offset values applied by the compositor.
Note: When bApplyToAllLayers is set to false (default), the color scale and offset apply only to the eye buffer layer. Set it to true to apply to all compositor layers.