Skip to main content
Skip table of contents

Download a Screenshot from your App to the user's Browser

This document is a tutorial on how to download a screenshot in your App.

Make sure you have enabled the Pixel Streaming Plugin and added the Pixel Streaming input component to your player controller or any other blueprint actor.

How to download the screenshot from Pixel Streaming App:

Create a custom event and make an Input parameter of type “String”.

Click the plus button in custom event details.

Select the string parameter type.

Note: You need to give the path of the screenshot you want to download to this string parameter.

More information on Relative and Absolute Paths can be found on the document below:
Difference in Relative Path and Absolute Path in Unreal Engine

Get the “Convert to absolute path” node. It gets the complete file path of the provided file

Take the return value from Convert to absolute path node and get append node

Make sure you have three inputs for append node.

In the “A” input of the append node, put the following command:

{"cmd":"downloadLocalFileOnUserDevice","fileToDownload":"


This command will be parsed through the Eagle 3D Streaming system, and it will tell the system to download the file in the given path. Similarly, in the "C" input of the append node, put the following command:
"}

It would look like this:

Now that it is done, you need to get the reference to pixel streaming input component.

For this documentation the pixel streaming input component is added to the player controller and here is how you can get it:

Get player controller and from the return value of player controller get component by class node and search “Pixel streamer input component”.

For the final step, you need to get the return value of “Get component by class” with pixel streamer input component selected, search “send pixel streaming response” and get it.

Connect append node to the Descriptor of “Send Pixel Streaming Response” node.

Add a node called “File Exists” with a branch node to make sure you are downloading a valid file.

(we will add a sample code here to show how file exit node can be used)

This will download the screenshot that you will give path to.

If you want to know how to get the path of latest screenshot, please refer to the document :

How to Capture a Screenshot in Unreal Engine and Get Its File Path and Name.

In case you need to look into the source code of this project, Here’s a link of the repository:
https://bitbucket.org/Eagle3DStreaming/ue5_screenshot_demo/src/main/
This is an UE 5.2 Project Demo. But the same code can also be used on Unreal Engine 4 as well.

Here’s a link in case you want to try it.
ScreenShot_Demo

Take a look at the document below covering how to send a pixel streaming command to E3DS System:
How to send a Pixel Streaming Response

Here’s a Video how you can do it in the Eagle 3D Streaming feature template project.


Need help? Contact Support

If you still need help, contact support to get your issue resolved quickly.

Submit a new request at E3DS support portal or send an Email at support@eagle3dstreaming.com.

Seek advice. Connect with others. Share your experiences. Join our lively E3DS Community Forum today.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.