Captured Scene never matches the lighting/colors of player view

I’ve been experimenting with SceneCapture2D’s and RenderTargets recently and keep running into this same problem. Every time I try to capture a scene to a RenderTarget, the final image always ends up darker/higher in contrast than it should. For example:

This is the view from the player camera

This is the captured image

After hours of fiddling I created a completely new blank project and added a super basic RT setup. I seem to of found something interesting.

When b.CaptureEveryFrame is true, the RenderTarget looks perfectly fine. However, turning it off and turning CaptureOnMovement to true causes the RT to darken significantly:

Interestingly, with CaptureOnMovement off and AlwaysPersistRenderingState on the color seems to fix itself.

I wish that was the simple solution, but when implementing complex RT’s in my full project I can’t ever seem to match the capture to the normal player view even when using AlwaysPersistRendering. Below is a chart I made testing many different CaptureSources on (what I think) is the most common RT formats.

As you can see, none of the captures look even remotely similar in lighting or color to the player view.

This is the material used for the RT. Someone suggested multiplying the RenderTarget with Pre-Exposure but as you can see it doesn’t fix the problem.

Has anyone figured out a solution for this? I found this plugin which seems to do the job correctly but I really don’t want to spend money to do something that I feel like should be part of the default engine :confused:

Did some more testing and found that the single frame CaptureScene node from the SceneCapture is what is causing the change in lighting. I created another completely blank UE5.5 project with a simple SceneCapture setup. With CaptureEveryFrame and CaptureOnMovement off, and AlwaysPersistRenderingState on, using the CaptureScene node results in the typical dark scene.

First image is the viewport view, second is the SceneCapture. Ignoring the squishing from the second image (the plane wasn’t properly sized), you can see the obvious change in lighting between the two.

Obviously the easy solution to this problem would be to use CaptureEveryFrame, but that’s not a really viable solution in my scenario. Is there really no way for me to get a proper screenshot to use as a RenderTarget during runtime?