Hey BrUnO XaVIeR,
When it comes to taking a screenshot at a resolution, it’s as simple as:
[.h]
UFUNCTION( BlueprintCallable, Category="Character|TakeScreenshot")
void TakeScreenshot( int X, int Y );
[.cpp]
void AAH474137Character::TakeScreenshot( int X, int Y )
{
if( GEngine )
{
UGameViewportClient *GameViewport = GEngine->GameViewport;
if( GameViewport )
{
FViewport *Viewport = GameViewport->Viewport;
if( Viewport )
{
GScreenshotResolutionX = X;
GScreenshotResolutionY = Y;
Viewport->TakeHighResScreenShot( );
}
}
}
}
Now, changing where this screenshot gets saved is a whole other issue. Because of how this functionality is introduced, it uses a static function in Paths.cpp, called ScreenShotDir( ), which returns:
return FPaths::GameSavedDir() + TEXT("Screenshots/") + FPlatformProperties::PlatformName() + TEXT("/");
I suppose you could change this but the better bet is to dive into UnrealClient.cpp, HighResScreenshot.cpp, and EditorViewportClient.cpp, specifically:
FEditorViewportClient::TakeScreenshot(FViewport* InViewport, bool bInValidatViewport)
If I can, I will poke around and see what other options there are but currently, from what I can see, there isn’t any type of “easy” functionality to save screenshot during game play to be used in another level.
Thank you for submitting a bug report, however at this time we believe that the issue you are describing is not actually a bug with the Unreal Engine, and so we are not able to take any further action on this. If you still believe this may be a bug, please provide steps for us to reproduce the issue, and we will continue our investigation.