UnrealRetroShaders icon indicating copy to clipboard operation
UnrealRetroShaders copied to clipboard

Add UE5 Support

Open DaveFace opened this issue 3 years ago • 5 comments
trafficstars

Untested in UE5 at the moment.

The new fancy upscaling features of UE5 might not play well with the current commands to set screen scale, otherwise most of the effects should work fine.

DaveFace avatar May 09 '22 18:05 DaveFace

Any workarounds for this? Can confirm resolution settings seemingly don't have any effect in UE5

btn0s avatar Aug 26 '22 03:08 btn0s

I haven't had chance to look into it yet, but I will try and do it soon now that I'm using UE5 for my main project.

DaveFace avatar Sep 21 '22 02:09 DaveFace

+1

ZhymonNorman avatar Sep 29 '22 18:09 ZhymonNorman

Maybe Im doing something wrong, but it's not work for me

atik1n avatar Sep 30 '22 02:09 atik1n

Unfortunately, this is proving far more annoying than I expected.

In UE4, all you had to do was set the screen percentage using r.ScreenPercentage, and then r.Upscale.Quality = 0 switched to nearest-neighbour filtering. Temporal upscaling was disabled by default i.e. r.TemporalAA.Upsampling = 0.

The way Unreal Engine 5 deals with screen percentage and upsampling is quite complex compared to Unreal Engine 4, and of course absolutely none of it has been documented. To be fair it's not like the main rendering pass is an important feature of the engine or anything, so we can't expect a scrappy start-up like Epic to document these things.

There are a bunch of new editor-only screen percentage settings which may interfere with previewing the effect in-editor, the ones I've found are:

  • A global editor setting "Override game screen percentage settings with editor settings in PIE" which should be set to FALSE
  • r.ScreenPercentage.Mode 0 - Allow us to override r.ScreenPercentage
  • r.ScreenPercentage.MinResolution 32 - stop Unreal trying to limit the Y resolution
  • r.AntiAliasingMethod 0 - to make sure TAA is off, which will try and upsample no matter how many times you tell it not to

This seems to kind of work, though the end result is still being blurred by something.

DaveFace avatar Oct 11 '22 08:10 DaveFace

Hey @DaveFace , any update on this?

matthiasbruns avatar Jan 18 '23 13:01 matthiasbruns

Dang that's unfortunate, I appreciate you trying. I hope you one day find a way to pull it off, or that unreal makes this less of a pain to do so. I've noticed that sometimes it does seem to work in unreal 5 and i'm not quite sure why it sometimes work and sometimes it doesn't.

greenman4890 avatar Jan 20 '23 06:01 greenman4890

At this point I think the best (easiest) way to achieve the effect would be to simply ignore the renderscale stack entirely, and use a post process pixellation filter. You could independantly drop the renderscale to something low, but you would not rely on it for the end pixellated result.

This is how the pack used to work, but the difficulty is scaling the dithering effects by the same amount, since you can no longer rely on doing things by pixel. It's certainly doable by a competent technical artist but so far I haven't found a way to bodge it.

If anyone figures it out I'm happy to work with them to merge it into the pack, I do have the basic framework for a UE5 version of this, but honestly I'm likely to stop using Unreal Engine for future projects so haven't invested the time into it.

DaveFace avatar Apr 01 '23 15:04 DaveFace

Closing this for now since I am unlikely to do any more work on this or with Unreal Engine in general.

DaveFace avatar Jun 23 '23 16:06 DaveFace