In UGameViewportClient::ProcessScreenShots, when bHdrEnabled is true, the Bitmap array is never filled (the capture code uses BitmapHDR), so ScreenshotCapturedDelegate is never called for any custom logic when the viewport needs to be exported in HDR mode. This means the licensee's project cannot use ScreenshotCapturedDelegate to capture both LDR and HDR input. There is a proposed possible workaround in the linked ticket, but it would be good to rewrite this code to be more robust.
Steps to Reproduce
On a C++ project add and call the code below.
When using LDR the ensure always triggers
When screen is HDR callback is never called.
UGameViewportClient::OnScreenshotCaptured().AddLambda([](int32 InSizeX, int32 InSizeY, const TArray<FColor>& InImageData) { ensureAlways(false); }); FScreenshotRequest::RequestScreenshot(false);
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-354875 in the post.
| 0 |
| Component | UE - Editor |
|---|---|
| Affects Versions | 5.6 |
| Created | Nov 21, 2025 |
|---|---|
| Updated | Nov 21, 2025 |