Possible to achieve pixel recyling in UE5.3?

Hello!
Just to preface this, I’m fairly new to Unreal Engine and shaders in general but am learning it now after switching from Unity.
I’m trying to make a datamoshing post process shader for a game I’m making but I’ve been running into some issues regarding the pixel recycling needed to achieve this effect. I’m following an old guide for it made for Unity since it’s the only one I can find.

My question is whether this effect is possible to achieve and if so how? The step I can’t seem to pull off is the “PIXEL RECYCLING W/ GRABPASS” part of that blog post I found. What I need is to somehow recycle the last frame of pixels, but the “GrabPass” feature that is in Unity doesn’t seem to exist in Unreal.

Here’s another tweet detailing kinda what’s needed for this effect, if you wanna know what it is I’m trying to achieve.

I’ve been stuck on this for a long time now so any help is appreciated!

Here’s how my shader is looking right now:

I’m gonna add to this that my current approach is to have one Scene Capture 2D component on which I switch it’s render target every frame between two different render targets. I then have a parameter in which I keep track of which rendertarget is not currently being rendered to so it should have the last frame. I then use a lerp in the actual post processing material to select the right render target.

However, the problem with this is that if I have the Scene Capture 2D set to use HDR it doesn’t actually recycle the frame with the UV Offset I want to achieve since it doesn’t keep the post processing effect. I can see that the UV Offset with the motion vectors is working though I just need to achieve this recycling. If I instead set it to LDR the render targets turn black as soon as I swap to them.

NOTE: My shader above was using the TexCoord incorrectly, so ignore that. It’s been resolved now.

Any help would be very appreciated, I can’t find anything about this at all on the internet.

Hi! Did you manage to achieve the desired effect? I ran into the same problem you described in this post.