Intel® XeSS Plugin for Unreal Engine integrates Intel® XeSS 3 technologies into Unreal Engine (UE). XeSS Super Resolution (XeSS-SR), XeSS Frame Generation (XeSS-FG) including Multi-Frame Generation and Xe Low Latency (XeLL) are parts of XeSS 3.
For more information, please visit: https://github.com/intel/xess
If you encounter any integration issues, feel free to use the Intel® XeSS Inspector. This tool is specifically designed to simplify the validation and debugging of XeSS integration within applications.
Please open the Releases page to download compiled plugin packages.
1. If you use the source code version of UE, you need to build the plugin locally, otherwise skip this step.
-
Open the terminal and go to
<ue_root_dir>\Engine\Build\BatchFiles -
Run the command line:
RunUAT.bat BuildPlugin -Plugin="<path_to_downloaded_plugin>\XeSS.uplugin" -Package="<path_to_destination_plugin>" -TargetPlatforms=Win64 -VS2019
The last parameter is the version of Visual Studio used to build, required by UE 4 only.
2. Copy (pre-)built files to:
-
For UE 4:
<ue_root_dir>\Engine\Plugins\Runtime\Intel\XeSS -
For UE 5:
<ue_root_dir>\Engine\Plugins\Marketplace\XeSSNotes: Please maintain this exact folder structure when installing the plugin. Deviating from this path may cause failures when packaging your game from the Editor. If folder
Marketplacedoesn't exist, please create it manually.
To enable the XeSS plugin for a project, go to the plugin selection.
Use the search box to find the XeSS plugin and make sure it is enabled.
Once this plugin is enabled, its default behavior can be modified in the Project Settings menu.
It is possible to disable/enable it in the Editor viewports.
No additional steps are needed for packaging.
Localized text is supported via string table "XeSSStringTable", which can be referenced in widgets, Blueprint and C++ code.
Currently these cultures are supported:
| Abbreviation | Name |
|---|---|
| ar-SA | Arabic (Saudi Arabia) |
| da-DK | Danish (Denmark) |
| de-DE | German (Germany) |
| en | English |
| es-ES | Spanish (Spain) |
| fr-FR | French (France) |
| it-IT | Italian (Italy) |
| ja-JP | Japanese (Japan) |
| ko-KR | Korean (South Korea) |
| nl-NL | Dutch (Netherlands) |
| pl-PL | Polish (Poland) |
| pt-PT | Portuguese (Portugal) |
| ru-RU | Russian (Russia) |
| uk-UA | Ukrainian (Ukraine) |
| zh-Hans | Chinese (Simplified) |
| zh-Hant | Chinese (Traditional) |
This plugin offers different ways for developers to access the underlying XeSS functionality.
It is more convenient to use for testing during development, not recommended for shipping.
To enable it:
r.XeSS.Enabled 1
To change the Quality Mode:
r.XeSS.Quality <quality_mode>
Where <quality_mode> represents the scale factor:
| Value | Quality Mode | Scale factor |
|---|---|---|
| 0 | Ultra Performance | 3 |
| 1 | Performance | 2.3 |
| 2 | Balanced (default) | 2 |
| 3 | Quality | 1.7 |
| 4 | Ultra Quality | 1.5 |
| 5 | Ultra Quality Plus | 1.3 |
| 6 | Anti-Aliasing | 1 |
Auto exposure, which is enabled by default.
r.XeSS.AutoExposure 1
For more details on exposure calculation, please check
Intel® XeSS Developer Guidein theDocumentsfolder.
To enable it:
r.XeFG.Enabled 1
To configure the maximum number of interpolated frames:
r.XeFG.MaxInterpolatedFrames <value>
Where <value> is the number of frames XeFG interpolates between consecutive original frames.
- Valid range:
[1, r.XeFG.MaxInterpolatedFramesSupported] - Default:
1
Examples:
1= 2x frame rate (1 original + 1 interpolated frame)2= 3x frame rate (1 original + 2 interpolated frames)
To query the maximum number of interpolated frames supported:
r.XeFG.MaxInterpolatedFramesSupported
This is a read-only console variable that shows the maximum interpolated frames supported by XeFG on the current platform.
To enable it:
r.XeLL.Enabled 1
Blueprint offers the highest level of compatibility and is the recommended way for shipping.
This plugin provides support for querying and settings XeSS-SR quality modes with Blueprint. It is recommended to use these functions when creating settings menus.
- Is Intel(R) XeSS-SR Supported
- Get Supported Intel(R) XeSS-SR Quality Modes
- Get Current Intel(R) XeSS-SR Quality Mode
- Get Default Intel(R) XeSS-SR Quality Mode
- Set Intel(R) XeSS-SR Quality Mode
Notes:
-
It is recommend to use the Get Default Intel(R) XeSS Quality Mode Blueprint function to set the out-of-the-box XeSS Quality Mode in the game's UI. Based on the passed Screen Resolution the recommended Quality Mode will be returned - for resolutions with pixel counts corresponding to 1920x1080 and lower it will be Balanced, for higher resolutions it will be Performance.
-
For XeSS-SR, Blueprint API is recommended to use in Blueprint or C++, for plugin loses control to upscaling screen percentage directly since UE 5.1 and
r.ScreenPercentageis set in Blueprint API to keep its backward compatibility.
- Is Intel(R) XeSS-FG Supported
- Get Supported Intel(R) XeSS-FG Modes
- Get Current Intel(R) XeSS-FG Mode
- Set Intel(R) XeSS-FG Mode
- If Relaunch is Required by XeSS-FG
- Get Current Intel(R) XeSS-FG UI Composition State
- Set Intel(R) XeSS-FG UI Composition State
- Is Intel(R) XeLL Supported
- Get Supported Intel(R) XeLL Modes
- Set Intel(R) XeLL Mode
- Get Current Intel(R) XeLL Mode
- Get Flash Indicator Enabled
- Get Game to Render Latency
- Get Game Latency
- Get Render Latency
- Get Simulation Latency
- Get Render Submit Latency
- Get Present Latency
- Get Input Latency
- Get Latency Mark Enabled
Similar to GAverageFPS, GXeFGAverageFPS is offered to display FPS counter in-game, sample code fragment as follows:
#include "XeFGRHI.h"
// Draw the FPS counter.
Canvas->DrawShadowedString(
X,
Y,
*FString::Printf(TEXT("%5.2f FPS"), GXeFGAverageFPS),
Font,
FPSColor
);The XeSS plugin creates a separate log file xess.log in the same directory as Unreal Engine log files (typically <project>/Saved/Logs/). This log file is available in all build configurations including Shipping, and contains:
- Plugin version information
- SDK version information for XeSS-SR, XeSS-FG, and XeLL
- Additional diagnostic information
The log file is rewritten each time the application starts.
| Feature | Console Command |
|---|---|
| XeSS-SR | r.XeSS.Version |
| XeSS-FG | r.XeFG.Version |
| XeLL | r.XeLL.Version |
| Feature | Console Command |
|---|---|
| XeSS-SR | r.XeSS.Supported |
| XeSS-FG | r.XeFG.Supported |
| XeLL | r.XeLL.Supported |
The support status depends on OS, RHI and Unreal Engine version. Please check FAQ for more detailed information.
The easiest way to confirm that XeSS-SR or XeSS-FG are enabled is via:
stat GPU
This will bring up real-time per-frame stats. XeSS or XeFG should be visible as one of the rendering passes.
For XeSS-SR, a dedicated stat console command is offered:
stat XeSS
You can use it to check:
- The number of XeSS contexts being used (especially useful in split screen mode)
- GPU memory usage for temporary buffer storage
- GPU memory usage for temporary texture storage
For XeSS-FG, a dedicated stat console command is offered:
stat XeFG
You can use it to check average FPS and frame count presented with XeSS-FG.
Frame dump console variables have been deprecated, please use Intel® XeSS Inspector instead.
UE provides a console command that allows to take high resolution screen captures:
HighResShot <screen_resolution>
When using this tool while XeSS-SR is engaged please make sure to set screen_resolution to the currently set output resolution (can be set with r.SetRes <screen_resolution>). Otherwise, the capture tool will change the target resolution, which will re-initialize the XeSS context and drop all temporally accumulated data. In result the captured image will not reflect the actual quality seen on the screen.
Currently, only Windows x64 is supported.
| Feature | RHIs Supported |
|---|---|
| XeSS-SR | DirectX 12 |
| XeSS-FG | DirectX 12 |
| XeLL | DirectX 12 |
| Feature | UE Versions Supported |
|---|---|
| XeSS-SR | 4.26 and above |
| XeSS-FG | 5.2 and above, 4.27-5.1* |
| XeLL | 4.27 and above |
*) For XeSS-FG with UE 4.27 and 5.0, 5.1, UE source code patch is required.
Contact your Intel representative to obtain the source code patch.
Apply the patch to the engine source code.
Modify
XeSSCommonMacros.hwith the following code if it is not defined in your source patch:#define XESS_ENGINE_WITH_XEFG_PATCH 1
XeSS-FG requires XeLL to function. Enabling XeSS-FG will also enable XeLL, but disabling XeSS-FG will not disable XeLL, which is intentional.
For XeSS-SR and XeLL, there should be no conflict.
For XeSS-FG, only one plugin could take effect due to swap chain override being required. Real-time switching between frame generation techniques is not supported. You can disable it via following options and restart the game to make another plugin work.
-
To set the console variable
r.XeFG.OverrideSwapChainto0via a ini file. e.g., add the following lines to theEngine.inifile:[SystemSettings] r.XeFG.OverrideSwapChain=0
-
Start the game with the command line option
-XeFGOverrideSwapChainDisabled.Note: Using this command line option will also set the console variable
r.XeFG.OverrideSwapChainto0.
It could be due to incorrect BIOS settings. Please ensure the following configurations are applied:
- Compatibility Support Module (CSM) or Legacy Mode: Disabled
- UEFI Boot Mode: Enabled
- The following settings must be Enabled (or set to Auto if the Enabled option is unavailable):
- Above 4G Decoding
- Resizable BAR Support
You can use the Intel® Driver and Support Assistant to verify if Resizable BAR Support is enabled.
Important Note:
Resizable BAR is not the only necessary BIOS setting; all of the above configurations are required. If any are improperly set, it may negatively impact GPU performance.
For more details, visit Intel's Support Article.
It may happen if you check FPS with stat FPS console command, because XeSS SDK calls additional Present API, which is not counted by stat FPS.
To check the real FPS number, you could use console command stat XeFG or use Windows Game Bar via pressing Windows logo key + G.
-
Pre-built UE 5.1 package doesn't work with 5.1.0, please upgrade to 5.1.1.
-
If following link error occurs with pre-built packages, please upgrade Visual Studio to the latest version.
error LNK2019: unresolved external symbol __std_find_trivial_4 referenced in function "int * __cdecl __std_find_trivial<int,char>(int *,int *,char)" (??$__std_find_trivial@HD@@YAPEAHPEAH0D@Z)
-
Pre-exposure is still not used in the exposure calculation process.
-
XeSS-SR in Vulkan may not function properly on non-Intel GPUs.
-
XeLL and XeSS-FG don't support Editor yet. Please use Standalone mode.
-
XeSS-FG doesn't support fullscreen exclusive mode and will be disabled in that mode.
-
XeSS-FG doesn't support split screen and Virtual Reality (VR) due to XeSS SDK API limitations.
-
XeSS-SR has a known resource leak issue with split screen and Virtual Reality (VR) support in Unreal Engine 4. A UE source patch is required to address this issue. Please contact your Intel representative to obtain the patch.




