Using Fixed Foveated Rendering
Updated: Dec 18, 2024
This section covers how to implement Fixed Foveated Rendering (FFR) in your Unreal application. To learn how FFR works, and how to debug it, go [here](/documentation/unreal/os-fixed-foveated-rendering/).
The foveation level can also be configured to be automatically adjusted based on GPU utilization by turning on dynamic foveation. When dynamic foveation is enabled, the foveation level will be adjusted automatically with the specified foveation level as the maximum. The system goes up to the chosen foveation level, but never above, based on GPU utilization and the requirements of the application. You should use Dynamic FFR instead of Unreal’s Dynamic Resolution feature.
There are multiple ways to set the FFR level and turn on dynamic foveation.
You can set the FFR level in your Unreal project settings. To access these settings:
- In Unreal go to Edit > Project Settings
- Display the settings by clicking OculusVR under Plugins, and on the On the Plugins - OculusVR page, find Mobile
- Use the FFRLevel to set the desired foveation level
- Check FFRDynamic to turn on dynamic FFR (it will be unchecked by default)
The following image shows and example of the project settings:
You can set the FFR level using the following method:
void UOculusFunctionLibrary::SetFixedFoveatedRenderingLevel(EFixedFoveatedRenderingLevel level, bool isDynamic)
The parameters are:
- isDynamic is true to indicate dynamic FFR is on, or false to indicate dynamic FFR is off
level is one of the following values:
- EFixedFoveatedRenderingLevel_Off (index = 0): Default
- EFixedFoveatedRenderingLevel_LMSLow (index = 1)
- EFixedFoveatedRenderingLevel_LMSMedium (index = 2)
- EFixedFoveatedRenderingLevel_LMSHigh (index = 3)
- EFixedFoveatedRenderingLevel_LMSHighTop (index = 4): Treated like
High
when using OpenXR backend
Blueprints to Get and Set the FFR Level The Blueprints to get and set FFR are located under the Unreal Blueprints folder path Oculus Library.

Use the
Set Fixed Foveated Rendering Level Blueprint to set the FFR level to one of the five possible values, and to select whether FFR is dynamic. The following image shows an example:
