I created an empty C++ project, added the 5.7.0 plugin to its Plugins folder, opened its visual studio project and ran the build process, but that fails with errors. Is this just not compatible at all? Do we have to wait on AMD to release a new plugin?
Still having no luck. I’ve got my project working with Visual Studio 2026, but all attempts to compile the FSR plugin result in the following.
Plugin 'FSR' failed to load because module 'FFXFSRSettings' could not be found. Please ensure the plugin is properly installed, otherwise consider disabling the plugin for this project.
Does anyone have any suggestions here? I’ve already tried moving it to the Plugins/Markplace folder of the engine as well. It outputs the same error.
Ok, rebuilt the entire project from within Visual Studio 2026 and extracted the compile log. Looks like there’s a lot more to it. Plugin itself seams to need several code fixes to be compatible with 5.8. Below is the log.
6> [10/67] Compile Resource [x64] Default.rc2
6> [11/67] Compile [x64] SharedPCH.UnrealEd.Project.ValApi.ValExpApi.Cpp20.cpp
6> [12/67] Compile [x64] SharedPCH.UnrealEd.Cpp20.cpp
6> [13/67] Compile [x64] Module.FFXShared.cpp
6> [14/67] Compile [x64] FFXSharedModule.cpp
6> [15/67] Compile [x64] Module.FFXFrameInterpolationApi.cpp
6> [16/67] Compile [x64] FFXFrameInterpolationApiModule.cpp
6> [17/67] Compile [x64] Module.FFXFSRSettings.cpp
6> [18/67] Compile [x64] FFXFSRSettings.cpp
6> [19/67] Link [x64] UnrealEditor-FFXFSRSettings.lib
6> [20/67] Compile [x64] FFXFrameInterpolationApi.cpp
6> [21/67] Compile [x64] FFXSharedBackend.cpp
6> [22/67] Compile [x64] FFXShared.cpp
6> [23/67] Link [x64] UnrealEditor-FFXFrameInterpolationApi.lib
6> [24/67] Link [x64] UnrealEditor-FFXShared.lib
6> [25/67] Compile [x64] FFXFSRModule.cpp
6> [26/67] Compile [x64] Module.FFXFSRApi.cpp
6> [27/67] Compile [x64] FFXOpticalFlowApiModule.cpp
6> [28/67] Compile [x64] Module.FFXOpticalFlowApi.cpp
6> [29/67] Link [x64] UnrealEditor-FFXShared.dll
6> [30/67] Compile [x64] FFXFSR.cpp
6> [31/67] Link [x64] UnrealEditor-FFXFSRApi.lib
6> [32/67] Compile [x64] FFXOpticalFlowApi.cpp
6> [33/67] Link [x64] UnrealEditor-FFXOpticalFlowApi.lib
6> [34/67] Compile [x64] Module.FFXD3D12.cpp
6> [35/67] Compile [x64] FFXD3D12Module.cpp
6> [36/67] Link [x64] UnrealEditor-FFXFSRApi.dll
6> [37/67] Compile [x64] PerModuleInline.gen.cpp
6> [38/67] Compile [x64] PluginCompiler.cpp
6> [39/67] Link [x64] UnrealEditor-FFXOpticalFlowApi.dll
6> [40/67] Link [x64] UnrealEditor-PluginCompiler.lib
6> [41/67] Link [x64] UnrealEditor-FFXFSRSettings.dll
6> [42/67] Link [x64] UnrealEditor-FFXFrameInterpolationApi.dll
6> [43/67] Link [x64] UnrealEditor-PluginCompiler.dll
6> [44/67] Compile [x64] FFXD3D12Includes.cpp
6> [45/67] Link [x64] UnrealEditor-FFXD3D12.lib
6> [46/67] Link [x64] UnrealEditor-FFXD3D12.dll
6> [47/67] Compile [x64] FFXFrameInterpolation.cpp
6>PROJECT_PATH\Plugins\FSR\Source\FFXShared\Public\FFXSlateApplicationBase.h(27,1): fatal error C1083: Cannot open include file: 'FSlateApplicationVersions/FSlateApplication_5_8_0.h': No such file or directory
6> #include FFX_BUILD_VERSIONED_INCLUDE_PATH(SlateApplication)
6> ^
6> [48/67] Compile [x64] Module.FFXD3D12Backend.cpp
6> [49/67] Compile [x64] Module.FFXFSRTemporalUpscaling.cpp
6> [50/67] Compile [x64] FFXD3D12Backend.cpp
6>PROJECT_PATH\Plugins\FSR\Source\FFXD3D12Backend\Private\FFXD3D12Backend.cpp(190,113): warning C4996: 'FThreadSafeRefCountedObject': `FRefCountedObject` is now thread-safe so use that instead. - Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
6> class DECLSPEC_UUID("51A371DA-9961-438C-8121-E267F4307830") FFXD3D12SwapChain : public IDXGISwapChain4, private FThreadSafeRefCountedObject
6> ^
6>PROJECT_PATH\Plugins\FSR\Source\FFXD3D12Backend\Private\FFXD3D12Backend.cpp(197,2): warning C4996: 'FThreadSafeRefCountedObject::~FThreadSafeRefCountedObject': `FRefCountedObject` is now thread-safe so use that instead. - Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
6> {
6> ^
6>PROJECT_PATH\Plugins\FSR\Source\FFXD3D12Backend\Private\FFXD3D12Backend.cpp(200,2): warning C4996: 'FThreadSafeRefCountedObject::~FThreadSafeRefCountedObject': `FRefCountedObject` is now thread-safe so use that instead. - Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
6> {
6> ^
6>PROJECT_PATH\Plugins\FSR\Source\FFXD3D12Backend\Private\FFXD3D12Backend.cpp(254,21): warning C4996: 'FReturnedRefCountValue::operator uint32': Inspecting an object's refcount is deprecated. - Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
6> return GetRefCount();
6> ^
6>PROJECT_PATH\Plugins\FSR\Source\FFXD3D12Backend\Private\FFXD3D12Backend.cpp(262,46): warning C4996: 'FReturnedRefCountValue::operator uint32': Inspecting an object's refcount is deprecated. - Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
6> return FThreadSafeRefCountedObject::Release();
6> ^
6>PROJECT_PATH\Plugins\FSR\Source\FFXD3D12Backend\Private\FFXD3D12Backend.cpp(477,60): error C3861: 'message': identifier not found
6> const FString FFXSDKBinPath = FPaths::Combine(PluginDir, TEXT(PREPROCESSOR_TO_STRING(FSR_FFXSDK_BIN_PATH)));
6> ^
6>PROJECT_PATH\Plugins\FSR\Source\FFXD3D12Backend\Private\FFXD3D12Backend.cpp(477,60): error C3861: 'L__pragma': identifier not found
6>PROJECT_PATH\Plugins\FSR\Source\FFXD3D12Backend\Private\FFXD3D12Backend.cpp(477,60): error C2143: syntax error: missing ')' before 'string'
6>PROJECT_PATH\Plugins\FSR\Source\FFXD3D12Backend\Private\FFXD3D12Backend.cpp(477,60): error C2143: syntax error: missing ';' before 'string'
6>PROJECT_PATH\Plugins\FSR\Source\FFXD3D12Backend\Private\FFXD3D12Backend.cpp(477,109): error C2059: syntax error: ')'
6> const FString FFXSDKBinPath = FPaths::Combine(PluginDir, TEXT(PREPROCESSOR_TO_STRING(FSR_FFXSDK_BIN_PATH)));
6> ^
6>PROJECT_PATH\Plugins\FSR\Source\FFXD3D12Backend\Private\FFXD3D12Backend.cpp(841,10): warning C4996: 'FThreadSafeRefCountedObject': `FRefCountedObject` is now thread-safe so use that instead. - Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
6> private FThreadSafeRefCountedObject
6> ^
6>PROJECT_PATH\Plugins\FSR\Source\FFXD3D12Backend\Private\FFXD3D12Backend.cpp(853,2): warning C4996: 'FThreadSafeRefCountedObject::~FThreadSafeRefCountedObject': `FRefCountedObject` is now thread-safe so use that instead. - Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
6> {
6> ^
6>PROJECT_PATH\Plugins\FSR\Source\FFXD3D12Backend\Private\FFXD3D12Backend.cpp(868,2): warning C4996: 'FThreadSafeRefCountedObject::~FThreadSafeRefCountedObject': `FRefCountedObject` is now thread-safe so use that instead. - Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
6> {
6> ^
6>PROJECT_PATH\Plugins\FSR\Source\FFXD3D12Backend\Private\FFXD3D12Backend.cpp(1015,18): warning C4996: 'ERHIZBuffer': ERHIZBuffer is being removed as the assumption of using an Inverted Z buffer is so ingrained that it could not reasonably be changed. - Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
6> Flags |= bool(ERHIZBuffer::IsInverted) ? FFX_FRAMEINTERPOLATION_ENABLE_DEPTH_INVERTED : 0;
6> ^
6>PROJECT_PATH\Plugins\FSR\Source\FFXD3D12Backend\Private\FFXD3D12Backend.cpp(1015,31): warning C4996: 'ERHIZBuffer': ERHIZBuffer is being removed as the assumption of using an Inverted Z buffer is so ingrained that it could not reasonably be changed. - Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
6> Flags |= bool(ERHIZBuffer::IsInverted) ? FFX_FRAMEINTERPOLATION_ENABLE_DEPTH_INVERTED : 0;
6> ^
6> UNREAL_ENGINE_PATH\Engine\Source\Runtime\RHI\Public\RHIDefinitions.h(285,168): note: see declaration of 'ERHIZBuffer'
6> enum class UE_DEPRECATED(5.8, "ERHIZBuffer is being removed as the assumption of using an Inverted Z buffer is so ingrained that it could not reasonably be changed.") ERHIZBuffer
6> ^
6>PROJECT_PATH\Plugins\FSR\Source\FFXD3D12Backend\Private\FFXD3D12Backend.cpp(1240,18): warning C4996: 'ERHIZBuffer': ERHIZBuffer is being removed as the assumption of using an Inverted Z buffer is so ingrained that it could not reasonably be changed. - Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
6> Flags |= bool(ERHIZBuffer::IsInverted) ? FFX_FRAMEINTERPOLATION_ENABLE_DEPTH_INVERTED : 0;
6> ^
6>PROJECT_PATH\Plugins\FSR\Source\FFXD3D12Backend\Private\FFXD3D12Backend.cpp(1240,31): warning C4996: 'ERHIZBuffer': ERHIZBuffer is being removed as the assumption of using an Inverted Z buffer is so ingrained that it could not reasonably be changed. - Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
6> Flags |= bool(ERHIZBuffer::IsInverted) ? FFX_FRAMEINTERPOLATION_ENABLE_DEPTH_INVERTED : 0;
6> ^
6> UNREAL_ENGINE_PATH\Engine\Source\Runtime\RHI\Public\RHIDefinitions.h(285,168): note: see declaration of 'ERHIZBuffer'
6> enum class UE_DEPRECATED(5.8, "ERHIZBuffer is being removed as the assumption of using an Inverted Z buffer is so ingrained that it could not reasonably be changed.") ERHIZBuffer
6> ^
6>PROJECT_PATH\Plugins\FSR\Source\FFXD3D12Backend\Private\FFXD3D12Backend.cpp(1328,21): warning C4996: 'FReturnedRefCountValue::operator uint32': Inspecting an object's refcount is deprecated. - Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
6> return GetRefCount();
6> ^
6>PROJECT_PATH\Plugins\FSR\Source\FFXD3D12Backend\Private\FFXD3D12Backend.cpp(1336,46): warning C4996: 'FReturnedRefCountValue::operator uint32': Inspecting an object's refcount is deprecated. - Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
6> return FThreadSafeRefCountedObject::Release();
6> ^
6> [51/67] Compile [x64] FFXFrameInterpolationSlate.cpp
6>PROJECT_PATH\Plugins\FSR\Source\FFXShared\Public\FFXSlateApplicationBase.h(27,1): fatal error C1083: Cannot open include file: 'FSlateApplicationVersions/FSlateApplication_5_8_0.h': No such file or directory
6> #include FFX_BUILD_VERSIONED_INCLUDE_PATH(SlateApplication)
6> ^
6> [52/67] Compile [x64] FFXFrameInterpolationCustomPresent.cpp
6>PROJECT_PATH\Plugins\FSR\Source\FFXFrameInterpolation\Private\FFXFrameInterpolationCustomPresent.h(154,7): error C3668: 'FFXFrameInterpolationCustomPresent::Present': method with override specifier 'override' did not override any base class methods
6> bool Present(IRHICommandContext& RHICmdContext, int32& InOutSyncInterval) override final;
6> ^
6>PROJECT_PATH\Plugins\FSR\Source\FFXFrameInterpolation\Private\FFXFrameInterpolationCustomPresent.h(154,7): warning C4263: 'bool FFXFrameInterpolationCustomPresent::Present(IRHICommandContext &,int32 &)': member function does not override any base class virtual member function
6>PROJECT_PATH\Plugins\FSR\Source\FFXFrameInterpolation\Private\FFXFrameInterpolationCustomPresent.h(80,7): warning C4264: 'bool FRHICustomPresent::Present(FRHIViewport *,IRHICommandContext &,int32 &)': no override available for virtual member function from base 'FRHICustomPresent'; function is hidden
6> class FFXFrameInterpolationCustomPresent : public IFFXFrameInterpolationCustomPresent
6> ^
6> UNREAL_ENGINE_PATH\Engine\Source\Runtime\RHI\Public\RHIResources.h(4394,15): note: see declaration of 'FRHICustomPresent::Present'
6> virtual bool Present(FRHIViewport* Viewport, IRHICommandContext& RHICmdContext, int32& InOutSyncInterval) { check(false); return true; };
6> ^
6> UNREAL_ENGINE_PATH\Engine\Source\Runtime\RHI\Public\RHIResources.h(4365,7): note: see declaration of 'FRHICustomPresent'
6> class FRHICustomPresent : public FRHIResource
6> ^
6> [53/67] Compile [x64] FFXFSRTemporalUpscaling.cpp
6>PROJECT_PATH\Plugins\FSR\Source\FFXFSRTemporalUpscaling\Private\FFXFSRTemporalUpscalerHistory.h(112,75): warning C4996: 'FRefCountBase': `FRefCountedObject` is now thread-safe so use that instead. - Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
6> class FFXFSRTemporalUpscalerHistory final : public IFFXFSRHistory, public FRefCountBase
6> ^
6>PROJECT_PATH\Plugins\FSR\Source\FFXFSRTemporalUpscaling\Private\FFXFSRTemporalUpscalerHistory.h(137,25): error C2555: 'FFXFSRTemporalUpscalerHistory::AddRef': overriding virtual function return type differs and is not covariant from 'IRefCountedObject::AddRef'
6> FReturnedRefCountValue AddRef() const final
6> ^
6> UNREAL_ENGINE_PATH\Engine\Source\Runtime\Core\Public\Templates\RefCounting.h(108,15): note: see declaration of 'IRefCountedObject::AddRef'
6> virtual void AddRef() const = 0;
6> ^
6>PROJECT_PATH\Plugins\FSR\Source\FFXFSRTemporalUpscaling\Private\FFXFSRTemporalUpscalerHistory.h(142,9): error C2555: 'FFXFSRTemporalUpscalerHistory::Release': overriding virtual function return type differs and is not covariant from 'IRefCountedObject::Release'
6> uint32 Release() const final
6> ^
6> UNREAL_ENGINE_PATH\Engine\Source\Runtime\Core\Public\Templates\RefCounting.h(110,33): note: see declaration of 'IRefCountedObject::Release'
6> virtual FReturnedRefCountValue Release() const = 0;
6> ^
6>PROJECT_PATH\Plugins\FSR\Source\FFXFSRTemporalUpscaling\Private\FFXFSRTemporalUpscalerHistory.h(147,9): error C2555: 'FFXFSRTemporalUpscalerHistory::GetRefCount': overriding virtual function return type differs and is not covariant from 'IRefCountedObject::GetRefCount'
6> uint32 GetRefCount() const final
6> ^
6> UNREAL_ENGINE_PATH\Engine\Source\Runtime\Core\Public\Templates\RefCounting.h(112,33): note: see declaration of 'IRefCountedObject::GetRefCount'
6> virtual FReturnedRefCountValue GetRefCount() const = 0;
6> ^
6>PROJECT_PATH\Plugins\FSR\Source\FFXFSRTemporalUpscaling\Private\FFXFSRTemporalUpscalerHistory.h(139,3): error C2440: 'return': cannot convert from 'void' to 'FReturnedRefCountValue'
6> return FRefCountBase::AddRef();
6> ^
6> PROJECT_PATH\Plugins\FSR\Source\FFXFSRTemporalUpscaling\Private\FFXFSRTemporalUpscalerHistory.h(139,3): note: Expressions of type void cannot be converted to other types
6>PROJECT_PATH\Plugins\FSR\Source\FFXFSRTemporalUpscaling\Private\FFXFSRTemporalUpscalerHistory.h(144,32): warning C4996: 'FReturnedRefCountValue::operator uint32': Inspecting an object's refcount is deprecated. - Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
6> return FRefCountBase::Release();
6> ^
6>PROJECT_PATH\Plugins\FSR\Source\FFXFSRTemporalUpscaling\Private\FFXFSRTemporalUpscalerHistory.h(149,36): warning C4996: 'FReturnedRefCountValue::operator uint32': Inspecting an object's refcount is deprecated. - Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
6> return FRefCountBase::GetRefCount();
6> ^
6>PROJECT_PATH\Plugins\FSR\Source\FFXFSRTemporalUpscaling\Private\FFXFSRTemporalUpscaler.h(258,32): error C2079: 'FFXFSRTemporalUpscaler::PostInputs' uses undefined struct 'FPostProcessingInputs'
6> mutable FPostProcessingInputs PostInputs;
6> ^
6>PROJECT_PATH\Plugins\FSR\Source\FFXFSRTemporalUpscaling\Private\FFXFSRTemporalUpscaling.cpp(56,18): warning C4996: 'FCoreDelegates::OnPostEngineInit': OnPostEngineInit has been deprecated. Please use GetOnPostEngineInit() instead. - Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
6> FCoreDelegates::OnPostEngineInit.AddRaw(this, &FFXFSRTemporalUpscalingModule::OnPostEngineInit);
6> ^
6> [54/67] Compile [x64] FFXFSRTemporalUpscalerHistory.cpp
6>PROJECT_PATH\Plugins\FSR\Source\FFXFSRTemporalUpscaling\Private\FFXFSRTemporalUpscalerHistory.h(112,75): warning C4996: 'FRefCountBase': `FRefCountedObject` is now thread-safe so use that instead. - Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
6> class FFXFSRTemporalUpscalerHistory final : public IFFXFSRHistory, public FRefCountBase
6> ^
6>PROJECT_PATH\Plugins\FSR\Source\FFXFSRTemporalUpscaling\Private\FFXFSRTemporalUpscalerHistory.h(137,25): error C2555: 'FFXFSRTemporalUpscalerHistory::AddRef': overriding virtual function return type differs and is not covariant from 'IRefCountedObject::AddRef'
6> FReturnedRefCountValue AddRef() const final
6> ^
6> UNREAL_ENGINE_PATH\Engine\Source\Runtime\Core\Public\Templates\RefCounting.h(108,15): note: see declaration of 'IRefCountedObject::AddRef'
6> virtual void AddRef() const = 0;
6> ^
6>PROJECT_PATH\Plugins\FSR\Source\FFXFSRTemporalUpscaling\Private\FFXFSRTemporalUpscalerHistory.h(142,9): error C2555: 'FFXFSRTemporalUpscalerHistory::Release': overriding virtual function return type differs and is not covariant from 'IRefCountedObject::Release'
6> uint32 Release() const final
6> ^
6> UNREAL_ENGINE_PATH\Engine\Source\Runtime\Core\Public\Templates\RefCounting.h(110,33): note: see declaration of 'IRefCountedObject::Release'
6> virtual FReturnedRefCountValue Release() const = 0;
6> ^
6>PROJECT_PATH\Plugins\FSR\Source\FFXFSRTemporalUpscaling\Private\FFXFSRTemporalUpscalerHistory.h(147,9): error C2555: 'FFXFSRTemporalUpscalerHistory::GetRefCount': overriding virtual function return type differs and is not covariant from 'IRefCountedObject::GetRefCount'
6> uint32 GetRefCount() const final
6> ^
6> UNREAL_ENGINE_PATH\Engine\Source\Runtime\Core\Public\Templates\RefCounting.h(112,33): note: see declaration of 'IRefCountedObject::GetRefCount'
6> virtual FReturnedRefCountValue GetRefCount() const = 0;
6> ^
6>PROJECT_PATH\Plugins\FSR\Source\FFXFSRTemporalUpscaling\Private\FFXFSRTemporalUpscalerHistory.h(139,3): error C2440: 'return': cannot convert from 'void' to 'FReturnedRefCountValue'
6> return FRefCountBase::AddRef();
6> ^
6> PROJECT_PATH\Plugins\FSR\Source\FFXFSRTemporalUpscaling\Private\FFXFSRTemporalUpscalerHistory.h(139,3): note: Expressions of type void cannot be converted to other types
6>PROJECT_PATH\Plugins\FSR\Source\FFXFSRTemporalUpscaling\Private\FFXFSRTemporalUpscalerHistory.h(144,32): warning C4996: 'FReturnedRefCountValue::operator uint32': Inspecting an object's refcount is deprecated. - Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
6> return FRefCountBase::Release();
6> ^
6>PROJECT_PATH\Plugins\FSR\Source\FFXFSRTemporalUpscaling\Private\FFXFSRTemporalUpscalerHistory.h(149,36): warning C4996: 'FReturnedRefCountValue::operator uint32': Inspecting an object's refcount is deprecated. - Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
6> return FRefCountBase::GetRefCount();
6> ^
6>PROJECT_PATH\Plugins\FSR\Source\FFXFSRTemporalUpscaling\Private\FFXFSRTemporalUpscaler.h(258,32): error C2079: 'FFXFSRTemporalUpscaler::PostInputs' uses undefined struct 'FPostProcessingInputs'
6> mutable FPostProcessingInputs PostInputs;
6> ^
6>PROJECT_PATH\Plugins\FSR\Source\FFXFSRTemporalUpscaling\Private\FFXFSRTemporalUpscalerHistory.cpp(39,1): warning C4996: 'FRefCountBase::~FRefCountBase': `FRefCountedObject` is now thread-safe so use that instead. - Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
6> {
6> ^
6>PROJECT_PATH\Plugins\FSR\Source\FFXFSRTemporalUpscaling\Private\FFXFSRTemporalUpscalerHistory.cpp(47,1): warning C4996: 'FRefCountBase::~FRefCountBase': `FRefCountedObject` is now thread-safe so use that instead. - Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
6> {
6> ^
6> [55/67] Compile [x64] FFXFSRTemporalUpscalerProxy.cpp
6>PROJECT_PATH\Plugins\FSR\Source\FFXFSRTemporalUpscaling\Private\FFXFSRTemporalUpscalerHistory.h(112,75): warning C4996: 'FRefCountBase': `FRefCountedObject` is now thread-safe so use that instead. - Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
6> class FFXFSRTemporalUpscalerHistory final : public IFFXFSRHistory, public FRefCountBase
6> ^
6>PROJECT_PATH\Plugins\FSR\Source\FFXFSRTemporalUpscaling\Private\FFXFSRTemporalUpscalerHistory.h(137,25): error C2555: 'FFXFSRTemporalUpscalerHistory::AddRef': overriding virtual function return type differs and is not covariant from 'IRefCountedObject::AddRef'
6> FReturnedRefCountValue AddRef() const final
6> ^
6> UNREAL_ENGINE_PATH\Engine\Source\Runtime\Core\Public\Templates\RefCounting.h(108,15): note: see declaration of 'IRefCountedObject::AddRef'
6> virtual void AddRef() const = 0;
6> ^
6>PROJECT_PATH\Plugins\FSR\Source\FFXFSRTemporalUpscaling\Private\FFXFSRTemporalUpscalerHistory.h(142,9): error C2555: 'FFXFSRTemporalUpscalerHistory::Release': overriding virtual function return type differs and is not covariant from 'IRefCountedObject::Release'
6> uint32 Release() const final
6> ^
6> UNREAL_ENGINE_PATH\Engine\Source\Runtime\Core\Public\Templates\RefCounting.h(110,33): note: see declaration of 'IRefCountedObject::Release'
6> virtual FReturnedRefCountValue Release() const = 0;
6> ^
6>PROJECT_PATH\Plugins\FSR\Source\FFXFSRTemporalUpscaling\Private\FFXFSRTemporalUpscalerHistory.h(147,9): error C2555: 'FFXFSRTemporalUpscalerHistory::GetRefCount': overriding virtual function return type differs and is not covariant from 'IRefCountedObject::GetRefCount'
6> uint32 GetRefCount() const final
6> ^
6> UNREAL_ENGINE_PATH\Engine\Source\Runtime\Core\Public\Templates\RefCounting.h(112,33): note: see declaration of 'IRefCountedObject::GetRefCount'
6> virtual FReturnedRefCountValue GetRefCount() const = 0;
6> ^
6>PROJECT_PATH\Plugins\FSR\Source\FFXFSRTemporalUpscaling\Private\FFXFSRTemporalUpscalerHistory.h(139,3): error C2440: 'return': cannot convert from 'void' to 'FReturnedRefCountValue'
6> return FRefCountBase::AddRef();
6> ^
6> PROJECT_PATH\Plugins\FSR\Source\FFXFSRTemporalUpscaling\Private\FFXFSRTemporalUpscalerHistory.h(139,3): note: Expressions of type void cannot be converted to other types
6>PROJECT_PATH\Plugins\FSR\Source\FFXFSRTemporalUpscaling\Private\FFXFSRTemporalUpscalerHistory.h(144,32): warning C4996: 'FReturnedRefCountValue::operator uint32': Inspecting an object's refcount is deprecated. - Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
6> return FRefCountBase::Release();
6> ^
6>PROJECT_PATH\Plugins\FSR\Source\FFXFSRTemporalUpscaling\Private\FFXFSRTemporalUpscalerHistory.h(149,36): warning C4996: 'FReturnedRefCountValue::operator uint32': Inspecting an object's refcount is deprecated. - Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
6> return FRefCountBase::GetRefCount();
6> ^
6>PROJECT_PATH\Plugins\FSR\Source\FFXFSRTemporalUpscaling\Private\FFXFSRTemporalUpscaler.h(258,32): error C2079: 'FFXFSRTemporalUpscaler::PostInputs' uses undefined struct 'FPostProcessingInputs'
6> mutable FPostProcessingInputs PostInputs;
6> ^
6> [56/67] Compile [x64] FFXFSRTemporalUpscaler.cpp
6>PROJECT_PATH\Plugins\FSR\Source\FFXFSRTemporalUpscaling\Private\FFXFSRTemporalUpscalerHistory.h(112,75): warning C4996: 'FRefCountBase': `FRefCountedObject` is now thread-safe so use that instead. - Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
6> class FFXFSRTemporalUpscalerHistory final : public IFFXFSRHistory, public FRefCountBase
6> ^
6>PROJECT_PATH\Plugins\FSR\Source\FFXFSRTemporalUpscaling\Private\FFXFSRTemporalUpscalerHistory.h(137,25): error C2555: 'FFXFSRTemporalUpscalerHistory::AddRef': overriding virtual function return type differs and is not covariant from 'IRefCountedObject::AddRef'
6> FReturnedRefCountValue AddRef() const final
6> ^
6> UNREAL_ENGINE_PATH\Engine\Source\Runtime\Core\Public\Templates\RefCounting.h(108,15): note: see declaration of 'IRefCountedObject::AddRef'
6> virtual void AddRef() const = 0;
6> ^
6>PROJECT_PATH\Plugins\FSR\Source\FFXFSRTemporalUpscaling\Private\FFXFSRTemporalUpscalerHistory.h(142,9): error C2555: 'FFXFSRTemporalUpscalerHistory::Release': overriding virtual function return type differs and is not covariant from 'IRefCountedObject::Release'
6> uint32 Release() const final
6> ^
6> UNREAL_ENGINE_PATH\Engine\Source\Runtime\Core\Public\Templates\RefCounting.h(110,33): note: see declaration of 'IRefCountedObject::Release'
6> virtual FReturnedRefCountValue Release() const = 0;
6> ^
6>PROJECT_PATH\Plugins\FSR\Source\FFXFSRTemporalUpscaling\Private\FFXFSRTemporalUpscalerHistory.h(147,9): error C2555: 'FFXFSRTemporalUpscalerHistory::GetRefCount': overriding virtual function return type differs and is not covariant from 'IRefCountedObject::GetRefCount'
6> uint32 GetRefCount() const final
6> ^
6> UNREAL_ENGINE_PATH\Engine\Source\Runtime\Core\Public\Templates\RefCounting.h(112,33): note: see declaration of 'IRefCountedObject::GetRefCount'
6> virtual FReturnedRefCountValue GetRefCount() const = 0;
6> ^
6>PROJECT_PATH\Plugins\FSR\Source\FFXFSRTemporalUpscaling\Private\FFXFSRTemporalUpscalerHistory.h(139,3): error C2440: 'return': cannot convert from 'void' to 'FReturnedRefCountValue'
6> return FRefCountBase::AddRef();
6> ^
6> PROJECT_PATH\Plugins\FSR\Source\FFXFSRTemporalUpscaling\Private\FFXFSRTemporalUpscalerHistory.h(139,3): note: Expressions of type void cannot be converted to other types
6>PROJECT_PATH\Plugins\FSR\Source\FFXFSRTemporalUpscaling\Private\FFXFSRTemporalUpscalerHistory.h(144,32): warning C4996: 'FReturnedRefCountValue::operator uint32': Inspecting an object's refcount is deprecated. - Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
6> return FRefCountBase::Release();
6> ^
6>PROJECT_PATH\Plugins\FSR\Source\FFXFSRTemporalUpscaling\Private\FFXFSRTemporalUpscalerHistory.h(149,36): warning C4996: 'FReturnedRefCountValue::operator uint32': Inspecting an object's refcount is deprecated. - Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
6> return FRefCountBase::GetRefCount();
6> ^
6>PROJECT_PATH\Plugins\FSR\Source\FFXFSRTemporalUpscaling\Private\FFXFSRTemporalUpscaler.h(258,32): error C2079: 'FFXFSRTemporalUpscaler::PostInputs' uses undefined struct 'FPostProcessingInputs'
6> mutable FPostProcessingInputs PostInputs;
6> ^
6>PROJECT_PATH\Plugins\FSR\Source\FFXShared\Public\FFXRDGBuilderBase.h(31,1): fatal error C1083: Cannot open include file: 'FRDGBuilderVersions/FRDGBuilder_5_8_0.h': No such file or directory
6> #include FFX_BUILD_VERSIONED_INCLUDE_PATH(RDGBuilder)
6> ^
6> [57/67] Compile [x64] FFXFrameInterpolationModule.cpp
6> [58/67] Compile [x64] Module.FFXFrameInterpolation.cpp
6> [59/67] Compile [x64] FFXFSRViewExtension.cpp
6>PROJECT_PATH\Plugins\FSR\Source\FFXFSRTemporalUpscaling\Private\FFXFSRTemporalUpscalerHistory.h(112,75): warning C4996: 'FRefCountBase': `FRefCountedObject` is now thread-safe so use that instead. - Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
6> class FFXFSRTemporalUpscalerHistory final : public IFFXFSRHistory, public FRefCountBase
6> ^
6>PROJECT_PATH\Plugins\FSR\Source\FFXFSRTemporalUpscaling\Private\FFXFSRTemporalUpscalerHistory.h(137,25): error C2555: 'FFXFSRTemporalUpscalerHistory::AddRef': overriding virtual function return type differs and is not covariant from 'IRefCountedObject::AddRef'
6> FReturnedRefCountValue AddRef() const final
6> ^
6> UNREAL_ENGINE_PATH\Engine\Source\Runtime\Core\Public\Templates\RefCounting.h(108,15): note: see declaration of 'IRefCountedObject::AddRef'
6> virtual void AddRef() const = 0;
6> ^
6>PROJECT_PATH\Plugins\FSR\Source\FFXFSRTemporalUpscaling\Private\FFXFSRTemporalUpscalerHistory.h(142,9): error C2555: 'FFXFSRTemporalUpscalerHistory::Release': overriding virtual function return type differs and is not covariant from 'IRefCountedObject::Release'
6> uint32 Release() const final
6> ^
6> UNREAL_ENGINE_PATH\Engine\Source\Runtime\Core\Public\Templates\RefCounting.h(110,33): note: see declaration of 'IRefCountedObject::Release'
6> virtual FReturnedRefCountValue Release() const = 0;
6> ^
6>PROJECT_PATH\Plugins\FSR\Source\FFXFSRTemporalUpscaling\Private\FFXFSRTemporalUpscalerHistory.h(147,9): error C2555: 'FFXFSRTemporalUpscalerHistory::GetRefCount': overriding virtual function return type differs and is not covariant from 'IRefCountedObject::GetRefCount'
6> uint32 GetRefCount() const final
6> ^
6> UNREAL_ENGINE_PATH\Engine\Source\Runtime\Core\Public\Templates\RefCounting.h(112,33): note: see declaration of 'IRefCountedObject::GetRefCount'
6> virtual FReturnedRefCountValue GetRefCount() const = 0;
6> ^
6>PROJECT_PATH\Plugins\FSR\Source\FFXFSRTemporalUpscaling\Private\FFXFSRTemporalUpscalerHistory.h(139,3): error C2440: 'return': cannot convert from 'void' to 'FReturnedRefCountValue'
6> return FRefCountBase::AddRef();
6> ^
6> PROJECT_PATH\Plugins\FSR\Source\FFXFSRTemporalUpscaling\Private\FFXFSRTemporalUpscalerHistory.h(139,3): note: Expressions of type void cannot be converted to other types
6>PROJECT_PATH\Plugins\FSR\Source\FFXFSRTemporalUpscaling\Private\FFXFSRTemporalUpscalerHistory.h(144,32): warning C4996: 'FReturnedRefCountValue::operator uint32': Inspecting an object's refcount is deprecated. - Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
6> return FRefCountBase::Release();
6> ^
6>PROJECT_PATH\Plugins\FSR\Source\FFXFSRTemporalUpscaling\Private\FFXFSRTemporalUpscalerHistory.h(149,36): warning C4996: 'FReturnedRefCountValue::operator uint32': Inspecting an object's refcount is deprecated. - Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
6> return FRefCountBase::GetRefCount();
6> ^
6>PROJECT_PATH\Plugins\FSR\Source\FFXFSRTemporalUpscaling\Private\FFXFSRTemporalUpscaler.h(258,32): error C2079: 'FFXFSRTemporalUpscaler::PostInputs' uses undefined struct 'FPostProcessingInputs'
6> mutable FPostProcessingInputs PostInputs;
6> ^
6> [60/67] Compile [x64] FFXFrameInterpolationViewExtension.cpp
May give fixing some of this a try, but it at least explains why AMD is taking forever to update the plugin. DLSS and XeSS have already released UE5.8 plugins.
Hello there @Krileon!
Indeed, the FSR plugin won’t work with 5.8, at least for the moment, as AMD as yet to release an update for the component:
Manual fixing would be possible, but we are talking about a big chung of custom C++ code. I would suggest waiting for the official update instead, which can be checked on their site:
For the moment, the alternatives are to stay on 5.7, or work with 5.8 using UE’s own TSR:
Thanks ChatGPT.
I’m aware of all of that. That’s pretty obvious from my topic. I’m opening discussion here to try and fix this without having to wait months for AMD to do something about it.
