FSR Blueprint Library

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

PinTypeDescription
bEnableBoolean (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

PinTypeDescription
Return ValueBoolean (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

PinTypeDescription
ModeEFSRQualityMode (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

PinTypeDescription
Return ValueEFSRQualityMode (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

PinTypeDescription
SharpnessFloat (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

PinTypeDescription
Return ValueFloat (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

PinTypeDescription
ModeEFSRDeditherMode (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

PinTypeDescription
Return ValueEFSRDeditherMode (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

PinTypeDescription
FormatEFSRHistoryFormat (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

PinTypeDescription
Return ValueEFSRHistoryFormat (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

PinTypeDescription
ScaleFloat (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

PinTypeDescription
Return ValueFloat (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

PinTypeDescription
bEnableBoolean (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

PinTypeDescription
Return ValueBoolean (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

PinTypeDescription
MobilityEFSRLandscapeHISMMobility (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

PinTypeDescription
Return ValueEFSRLandscapeHISMMobility (Output)The currently applied HISM mobility setting.
#include "FSRLibrary.h"

void AMyWorldManager::CheckLandscapeMobility()
{
    EFSRLandscapeHISMMobility Mobility = UFSRLibrary::GetFSRLandscapeHISMMobility();
}

Last updated on

On this page