I’m using in blueprint the execute command node to take ingame screenshot with HighResShot. Since the 5.5 it doesn’t work in shipping. I create a new blank project and the problem still occurs.
I tried to do a custom blueprint calling directly request.screenshot without result.
Hey i somehow found a fix. If you do a development build then it will work without any issues. I will keep the post updated if i find a fix while doing a shipping build.
We’ve encountered an issue in shipping builds on engine 5.5 where the screenshot saving functionality is not working. We are using the following code to save the screenshot:
This might be a shameless self-promotion but my plugin Runtime Video Recorder (https://www.fab.com/listings/36bd136b-2942-4403-9428-96a430ca71ee), allows you to capture both video (whole or PER FRAME) and screenshot in shipping packaging or editor. It is compatible with 5.3 - 5.5 and being used by Meta, many indie studios and content creators alike (check reviews).
You might use video recording (like record only a few frames) like a workaround for your screenshot functionality
Here is a simple solution for everyone who is struggling to capture screenshot via c++ code.
First of all:
It seems “FScreenshotRequest::RequestScreenshot” and screenshot processing now part of the EditorViewportClient code and obviously that class is not included in shipping build.
Thats the reason why requesting a screenshot does not write any file…
However screenshot actualy created in the memory!!!
What is the solution?
First, you need to subscribe to OnScreenshotCaptured event to get notified when screenshot is done.
Encountered same issue, which is problematic for a project I’m working on as it was a good feature to base photomode on.
This change was never requested by anybody nor was it ever announced, so i hope it’s a genuine bug rather than some intended “security” feature to specifically disallow this feature to write to a file in shipping build while you can still utilize other ways to write any file you want to users disk.
I’ve submitted a bug report, hopefully Epic will respond one way or another.
//
From what i can tell the major change is just blocking out actual chunk with calls to image saving code with a defile UE_SCREENSHOT_TRACE_ENABLED in ProcessScreenshotData inside GameViewportClient.cpp
So it appears they’ve included some extra functionality to trace screenshots and then erroneously or at least semi-intended wrapped those calls with that define, which will be false in Shipping builds for obvious reasons.
Kinda feels redundant since old code with SHOULD_TRACE_SCREENSHOT() is literally still inside.
Reported issues are not logged on the issue tracker automatically.
They are manually reviewed by Epic and only upon manual acceptation are listed on issue tracker.
I don’t know how long it usually takes but i haven’t received any notification about the issue being approved or denied yet.