FSR Library
The FSRLibrary provides Blueprint nodes to directly configure AMD FidelityFX Super Resolution upscaling. All nodes are located under the AMD FidelityFX™ Super Resolution category.
These nodes support FSR 2, FSR 3, and FSR 4 upscaling features.
C++ Project Setup
To use these functions in C++, you must add the plugin's modules to your project's Build.cs file.
// YourProject.Build.cs
PublicDependencyModuleNames.AddRange(new string[]
{
"Core",
"CoreUObject",
"Engine",
"InputCore",
"FSRDesktop", // Required for FSR library functions
"FSRGlobal" // Required for FSR enums and data types
});Upscaling Control
Enable FSR
Enables or disables AMD FSR upscaling. Supported FSR Versions: FSR 2, FSR 3, FSR 4
| Pin | Type | Description |
|---|---|---|
bEnable | Boolean (Input) | Set to true to turn on FSR upscaling. |
#include "FSRLibrary.h"
// Example usage to enable FSR on begin play
void AMyPlayerController::BeginPlay()
{
Super::BeginPlay();
UFSRLibrary::EnableFSR(true);
}Is FSR Enabled
Checks if FSR upscaling is currently active. Supported FSR Versions: FSR 2, FSR 3, FSR 4
| Pin | Type | Description |
|---|---|---|
Return Value | Boolean (Output) | Returns true if FSR upscaling is currently enabled. |
#include "FSRLibrary.h"
void AMyPlayerController::CheckFSRStatus()
{
if (UFSRLibrary::IsFSREnabled())
{
UE_LOG(LogTemp, Log, TEXT("FSR is active."));
}
}Quality and Sharpness
Set FSR Quality Mode
Sets the FSR upscaling quality mode. Supported FSR Versions: FSR 2, FSR 3, FSR 4
| Pin | Type | Description |
|---|---|---|
Mode | EFSRQualityMode (Input) | The desired quality preset (e.g., Native AA, Quality, Balanced, Performance). |
#include "FSRLibrary.h"
#include "FSRDataTypes.h"
void AMyGameSettings::ApplyQualityPreset()
{
UFSRLibrary::SetFSRQualityMode(EFSRQualityMode::Quality);
}Get FSR Quality Mode
Retrieves the current FSR upscaling quality mode. Supported FSR Versions: FSR 2, FSR 3, FSR 4
| Pin | Type | Description |
|---|---|---|
Return Value | EFSRQualityMode (Output) | The currently active FSR quality mode. |
#include "FSRLibrary.h"
void AMyGameSettings::UpdateUI()
{
EFSRQualityMode CurrentMode = UFSRLibrary::GetFSRQualityMode();
}Set FSR Sharpness
Adjusts the Robust Contrast Adaptive Sharpening (RCAS) intensity. Supported FSR Versions: FSR 2, FSR 3, FSR 4
| Pin | Type | Description |
|---|---|---|
Sharpness | Float (Input) | Sharpness intensity from 0.0 (softest) to 1.0 (sharpest). |
#include "FSRLibrary.h"
void AMyGameSettings::UpdateSharpnessSlider(float SliderValue)
{
UFSRLibrary::SetFSRSharpness(FMath::Clamp(SliderValue, 0.0f, 1.0f));
}Get FSR Sharpness
Retrieves the current FSR sharpness value. Supported FSR Versions: FSR 2, FSR 3, FSR 4
| Pin | Type | Description |
|---|---|---|
Return Value | Float (Output) | The current sharpness value between 0.0 and 1.0. |
#include "FSRLibrary.h"
void AMyGameSettings::InitializeSlider()
{
float CurrentSharpness = UFSRLibrary::GetFSRSharpness();
}Advanced Configuration
Set FSR Dedither
Configures the dedithering mode for improved image stability. Supported FSR Versions: FSR 2, FSR 3, FSR 4
| Pin | Type | Description |
|---|---|---|
Mode | EFSRDeditherMode (Input) | The desired dedithering mode. |
#include "FSRLibrary.h"
#include "FSRDataTypes.h"
void AMyGameSettings::ApplyGraphicsSettings()
{
UFSRLibrary::SetFSRDedither(EFSRDeditherMode::Full);
}Get FSR Dedither
Retrieves the current FSR dedithering mode. Supported FSR Versions: FSR 2, FSR 3, FSR 4
| Pin | Type | Description |
|---|---|---|
Return Value | EFSRDeditherMode (Output) | The currently active dedithering mode. |
#include "FSRLibrary.h"
void AMyGameSettings::CheckDedither()
{
EFSRDeditherMode CurrentMode = UFSRLibrary::GetFSRDedither();
}Set FSR History Format
Sets the precision format for the history texture to optimize performance or quality. Supported FSR Versions: FSR 2, FSR 3, FSR 4
| Pin | Type | Description |
|---|---|---|
Format | EFSRHistoryFormat (Input) | Format to use for history buffers. |
#include "FSRLibrary.h"
#include "FSRDataTypes.h"
void AMyGameSettings::OptimizeForPerformance()
{
UFSRLibrary::SetFSRHistoryFormat(EFSRHistoryFormat::Float16);
}Get FSR History Format
Retrieves the current history texture format. Supported FSR Versions: FSR 2, FSR 3, FSR 4
| Pin | Type | Description |
|---|---|---|
Return Value | EFSRHistoryFormat (Output) | The active history texture format. |
#include "FSRLibrary.h"
void AMyGameSettings::LogHistoryFormat()
{
EFSRHistoryFormat Format = UFSRLibrary::GetFSRHistoryFormat();
}Set FSR Reactiveness Scale
Adjusts the reactive mask scale to reduce ghosting on moving objects. Supported FSR Versions: FSR 2, FSR 3, FSR 4
| Pin | Type | Description |
|---|---|---|
Scale | Float (Input) | Multiplier for the reactive mask. |
#include "FSRLibrary.h"
void AMyGameSettings::TweakReactiveness()
{
UFSRLibrary::SetFSRReactivenessScale(1.0f);
}Get FSR Reactiveness Scale
Retrieves the current FSR reactiveness scale. Supported FSR Versions: FSR 2, FSR 3, FSR 4
| Pin | Type | Description |
|---|---|---|
Return Value | Float (Output) | The current reactiveness scale. |
#include "FSRLibrary.h"
void AMyGameSettings::CheckReactiveness()
{
float CurrentScale = UFSRLibrary::GetFSRReactivenessScale();
}Enable Auto Exposure
Toggles FSR's internal auto-exposure computation. Supported FSR Versions: FSR 2, FSR 3, FSR 4
| Pin | Type | Description |
|---|---|---|
bEnable | Boolean (Input) | Set to true to use FSR's own auto-exposure. |
#include "FSRLibrary.h"
void AMyGameSettings::ConfigureExposure()
{
UFSRLibrary::EnableAutoExposure(true);
}Is Auto Exposure Enabled
Checks if FSR's internal auto-exposure is enabled. Supported FSR Versions: FSR 2, FSR 3, FSR 4
| Pin | Type | Description |
|---|---|---|
Return Value | Boolean (Output) | Returns true if FSR auto-exposure is enabled. |
#include "FSRLibrary.h"
void AMyGameSettings::CheckExposureSettings()
{
bool bUsingFSRExposure = UFSRLibrary::IsAutoExposureEnabled();
}Set FSR Landscape HISM Mobility
Forces mobility on Landscape HISM components to fix velocity rendering with World Position Offset materials. Supported FSR Versions: FSR 2, FSR 3, FSR 4
| Pin | Type | Description |
|---|---|---|
Mobility | EFSRLandscapeHISMMobility (Input) | Mobility setting to apply to HISM components. |
#include "FSRLibrary.h"
#include "FSRDataTypes.h"
void AMyWorldManager::FixLandscapeVelocity()
{
UFSRLibrary::SetFSRLandscapeHISMMobility(EFSRLandscapeHISMMobility::Movable);
}Get FSR Landscape HISM Mobility
Retrieves the current Landscape HISM mobility setting. Supported FSR Versions: FSR 2, FSR 3, FSR 4
| Pin | Type | Description |
|---|---|---|
Return Value | EFSRLandscapeHISMMobility (Output) | The currently applied HISM mobility setting. |
#include "FSRLibrary.h"
void AMyWorldManager::CheckLandscapeMobility()
{
EFSRLandscapeHISMMobility Mobility = UFSRLibrary::GetFSRLandscapeHISMMobility();
}Last updated on