In Game Screenshot Android, IOS

How to in Game Screenshot Android, IOS?

i think its only works on Windows

So how to do that in Mobile game?

Any BP example?

1 Like

You should be able to do this using the Execute Console Command node and using Shot command in here.
shot-command
Note: This does not capture UI or any output from stat commands.
If you need that output as well, use bugscreenshot command instead of Shot.
Worked with Android, I do not have any Apple devices available.

can you show me whole BluePrints ?
because i added it but not working
please

It’s really simple. Here’s some code sequence.

just connect the following to the beginplay of your character Blueprint

Note the delay nodes - I just added these so that screenshots are taken cleanly and to avoid that android might get messed up when second shot appears immediately while first one is still running - did not test that, but just to be sure…
Here’s a link on blueprintue, where you can copy the code.

Start your app, wait until done, stop.

Now you can use the adb debug bridge with pull command to get the screenshots. Standard screenshots go into Saved/Screenshots/Android directory

E:\tmp>adb pull /sdcard/UE4Game/Minimal2/Minimal2/Saved/Screenshots/Android/ScreenShot00000.png ScreenShot00000.png
/sdcard/UE4Game/Minimal2/Minimal2/Save...d. 20.0 MB/s (1098814 bytes in 0.052s)

E:\tmp>

Note, that BugScreenshots go into Saved/BugIt/Android directory

E:\tmp>adb pull /sdcard/UE4Game/Minimal2/Minimal2/Saved/BugIt/Android/BugScreenShot_00000.png BugScreenShot_00000.png
/sdcard/UE4Game/Minimal2/Minimal2/Save...d. 20.2 MB/s (1120980 bytes in 0.053s)

E:\tmp>
1 Like

@herb64 thank you. but those screenshots not showing to Users. So how to change directory to their Image directory?

current directory is:
\Internal shared storage\UE4Game\SoundEffectTests\SoundEffectTests\Saved\Screenshots\Android

Also it can run on IOS right?

That’s an interesting question. There seems to be no way to set a destination directory for the Shot / bugscreenshot commands at all.

I tried to do some copy operations, just experiments, unfortunately not really successful. Code to run on Windows and Android:

First: enable the “Blueprint File Utilities” Plugin to have some file operations available.

All files are listed fine in the Array

Next create the filenames to copy with path information and do the copy

Problems:
On Windows, file paths are created perfectly, finding the correct user directory:

E:_Projects\Unreal\Minimal2\Saved\Screenshots\WindowsScreenShot00001.png to C:/Users/herbert/Documents/ScreenShot00001.png

but the copy operation fails for some reason, that is not clearly shown. " Source control is not enabled" - Looks like the last error message is not updated by the failing copy operation…

On Android, the file path for the User Directory is reported as …/…/…/. This is the case with both nodes, GetPlatformUserDir (which is present by default) and GetUserDir (coming with the Blueprint File Utilities Plugin). The app stays within the UE4Game directory structure. And the copy operation fails as well (checked, no file copied to the diretory below)

Platform is android, dest user dir is …/…/…/
/sdcard/UE4Game/Minimal2/Minimal2/Saved/Screenshots/Android/ScreenShot00000.png to …/…/…/ScreenShot00000.png
SourceControl: Source control is disabled
SourceControl: Error: Source control is not enabled.
Source control is not enabled.

As said, for IOS, I have no devices.

If you want to play with this, here the blueprint stuff to add after having done screenshots.

Even if it worked, there would be more logic involved, also better using the move node instead of copy etc…

At the moment, I have no idea, how this could be solved…

2 Likes

Just some more idea - thinking about what you might have intended - possibly just have a thumbnail of a scene to be shown in saved games menu (like I remember when I played HalfLife 2)

So I searched for options, which could help in saving a screenshot in a SaveGame object and came across this one.

It does involve C++ and I did not get deeper into it, but it relies on a SceneCapture2D and saving data to a SaveGame - so that’s something, that is available to the player…

Just some idea, of how this could be possible…

1 Like

is there any Working way to take screen shot properly?