[FREE] AMD FSR 1.0 for Unreal Engine 5 - (AMD FidelityFX Super Resolution)

This plugin was built as a adapted version of the original AMD FSR 1.0 plugin for UE4 to properly work in Unreal Engine 5.

Supports:

  • DirectX 12.
  • DirectX 11.
  • Vulkan.

Links:


AMD has released the new FSR version which supports:

  • DirectX 12.
  • Vulkan.
  • Unreal Engine 4.26/4.27 and Unreal Engine 5 as a plugin from the Unreal Marketplace.

Check it out at GPU Open and/or Unreal Engine Marketplace!


Support me: Sponsor @lucoiso on GitHub Sponsors :heart:

3 Likes

I was looking for this!! I can’t compile the original plugin, it doesn’t work on UE5. But this one worked! :star_struck:

I tested it and it looks good! Thanks!! The resolution is sharper with this plugin and I didn’t see any fps drop.

Looking forward to FSR 2.0!

1 Like

Working with official UE5 released version! :partying_face::partying_face:

Thanks for this! Just got it working flawlessly on the new official release so can confirm. Much appreciated!

1 Like

I can’t run my project with this plugin

IDE err

Expecting to find a type to be declared in a module rules named 'FSR' in UE5Rules, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null.  This type must derive from the 'ModuleRules' type defined by Unreal Build Tool.

UE_5 Err
image

Edit (04/19/2022):

Hello @Chu_chun! : )
I’ve released a packaged ver. on GitHub with installation instructions.
Try install following these steps: Release AMD FidelityFX Super Resolution 1.0 - UE5 Adapted ver. · lucoiso/fsr-amd-ue (github.com)


When installing the plugin inside the “Runtime” folder as AMD says, you will get this error, so I recommend installing it inside the “Marketplace” folder.

1 Like

That just means he needs to compile it for the source build of the engine works fine here.

1 Like

Released a packaged ver. with installation instructions:
Release AMD FidelityFX Super Resolution 1.0 - UE5 Adapted ver. · lucoiso/fsr-amd-ue (github.com)

2 Likes

Update topic description:

This plugin was built as a adapted version of the original AMD FSR 1.0 plugin for UE4 to properly work in Unreal Engine 5.

This plugin will be deprecated when AMD launch a official version.


Links:
GitHub: lucoiso/fsr-amd-ue: FidelityFX Super Resolution for Unreal Engine 5 (github.com)
Release: Release AMD FidelityFX Super Resolution 1.0 - UE5 Adapted ver. · lucoiso/fsr-amd-ue (github.com)
AMD Documentation (Official version: UE4 Only): GPUOpen

AMD has released the new FSR version which supports:

  • DirectX 12.
  • Vulkan.
  • Unreal Engine 4.26/4.27 and Unreal Engine 5 as a plugin from the Unreal Marketplace.

Check it out at GPU Open and/or Unreal Engine Marketplace!

Not possible to package project with GTX 1660.

Hey! : )

Can you send me the log to check this?

:white_check_mark: Working with UE5.1

The current version is working with both UE4.27, UE5.0 and UE5.1

Release: Release AMD FidelityFX Super Resolution 1.0 - UE5 Adapted ver.
Branch: lucoiso/UEFSR (main)

3 Likes

Thanks Lucoiso, save me updating it for 5.1, would you have a update version of the FSR 2.0 plugin also?

1 Like

Hi @OverRated_AU! : )

I haven’t tried FSR 2.0/2.1 yet, but I’ll take a look! : )

And maybe AMD itself will update soon to add UE5.1 compatibility

1 Like

Maybe but seeing they don’t even update FSR 1.0 for UE5 we might be waiting awhile lol.

1 Like

Hi Lucoiso, I’ve tried to update FSR 2.0 and also the DLSS plugin but both are missing a class “CustomEditorStaticScreenPercentage.h” epic removed, I am unsure how to correct this issue as epic hasn’t give any information about the changes.

Any help would be much apprenticed thank again for the FSR 1.0 patch over.

1 Like

:hushed:


Found this commit: Deletes ICustomStaticScreenPercentage · EpicGames/UnrealEngine@3fd8dd2 (github.com)

With this description:

Deletes ICustomStaticScreenPercentage
Motivations:
1) Force compatibilty of third-party temporal upscalers with dyn-res
2) Allows multiple temporal upscaler plugins to live concurrently without collision on a single global
3) Reduce support overhead from licensee due to inconsistent internal rendering resolution across different temporal upscalers

Notes:
1) ITemporalUpscaler is now meant to be setup by the plugin's FSceneViewExtensionBase::BeginRenderViewFamily() that obeys the screen percentage driver;
2) The licensee's game user settings can just enable disable each plugin respectively based on their implementation specialization of ApplyNonResolutionSettings();
3) ITemporalUpscaler now has a lifetime tied to a FSceneViewFamily;
4) FSceneViewFamily offers a generic way to bind other data tied to its life time with FSceneViewFamily::GetOrCreateExtentionData() for instance for setting customise behavior of FSceneViewExtensionBase::BeginRenderViewFamily() before FRendererModule::BeginRenderingViewFamily().

#rb juan.canada
#jira UE-162184
#preflight 63337c4cd747fe52c81150a9

[CL 22221229 by guillaume abadie in ue5-release-engine-staging branch]

1 Like

Thanks must of missed this on my search, will have a another go :smile: .

1 Like

Great info to have however I’m not seeing anything about how to go about handling the ViewportMenuEntryArgs from the interface as pertaining to swapping to FSceneViewExtensionBase:: (SceneViewExtension.h) … any help here?

#pragma once

#include "PostProcess/PostProcessUpscale.h"
#include "PostProcess/TemporalAA.h"
#include "SceneViewExtension.h"


DECLARE_LOG_CATEGORY_EXTERN(LogFSR2Editor, Log, All);

class FFSR2TemporalUpscalerEditor final : public FSceneViewExtensionBase, public TSharedFromThis<FFSR2TemporalUpscalerEditor>
{
public:
	FFSR2TemporalUpscalerEditor(class IFSR2TemporalUpscalingModule* Module);
	virtual ~FFSR2TemporalUpscalerEditor() {}

	void SetupEditorViewFamily(FSceneViewFamily& ViewFamily, FEditorViewportClient* ViewportClient);
	bool GenerateEditorViewportOptionsMenuEntry(const ICustomEditorStaticScreenPercentage::FViewportMenuEntryArguments& Arguments);

private:
	class IFSR2TemporalUpscalingModule* TemporalUpscalingModule;
};