Skip to main content
Skip table of contents

Upload Unreal App Using E3DS Automation Kit

The E3DS Automation Kit is a Node.js library designed to automate specific Eagle 3D Streaming (E3DS) operations — including uploading, registering, and testing streaming applications.

It’s ideal for:

  • CI/CD pipelines

  • Automated deployment scripts

  • Batch app management

  • Unit testing environments

This guide walks you through the installation, setup, and execution process step-by-step — with visuals to make it easy for new developers to follow along.

Follow the steps below:

Step 1. Install the Package

You can find the package here:
🔗 https://www.npmjs.com/package/e3ds-automation-kit

Run the following command in your terminal to install the kit:

CODE
npm install e3ds-automation-kit
image-20251112-065255.png

Figure 1: Installing the E3DS Automation Kit via npm

After successful installation, you’ll see confirmation messages in your terminal.

image-20251112-065340.png

Figure 2. Installation completed successfully

Step 2. Copy & Paste the Example Code

Create a new JavaScript file (for example, index.js) and paste the following code:

CODE
const { uploadStreamingApp } = require("e3ds-automation-kit");

(async () => {
  try {
    await uploadStreamingApp(
      "./myAppBuild.zip", // Path to the local file
      "YOUR_EAGLE3D_API_KEY", // API key
      "MyStreamingApp" // App name
    );
    console.log("Upload completed successfully!");
  } catch (err) {
    console.error("Upload failed:", err.message);
  }
})();

image-20251112-065658.png

Figure 3. Example code snippet in your script file

Step 3. Provide the Local File Path

Update the file path ("./myAppBuild.zip") to the actual location of your app build on your system.
Make sure the file exists before proceeding.

image-20251112-070254.png

Figure 4. Specify the path to your local app build file

Step 4. Add Your API Key

You’ll need a valid E3DS API Key to authenticate your upload.
To find your API key, visit:
🔗 https://docs.eagle3dstreaming.com/wiki/api-key

image-20251112-070343.png

Figure 5. Add your E3DS API key securely

Tip: For security, store your API key in an environment variable (e.g., .env file) rather than hardcoding it in the script.

Step 5. Set the App Name

Choose a name for your app. This name will appear in your Eagle 3D Streaming Control Panel once uploaded.

image-20251112-070550.png

Figure 6. Defining the app name before upload

Step 6. Run the Script

After saving the file, execute the script using Node.js.
If your file is named index.js, the command is:

CODE
node index.js
image-20251112-070815.png

Figure 7. Running your upload script

The automation kit will:

  • Validate the file path

  • Request a signed upload URL

  • Upload the build with progress tracking

  • Poll until the stream test completes

Step 7. Upload Successful

Once the upload is complete and validated, you’ll see a success message:

image-20251112-071059.png

Figure 8. Successful upload confirmation

Step 8. Verify in Control Panel

Go to your E3DS Control Panel to confirm that your Unreal app has been uploaded and registered correctly.

image-20251112-072259.png

Figure 9. Uploaded app visible in the E3DS Control Panel

Additional Notes

  • The tool automatically handles retries, progress bars, and upload verification.

  • The polling process for stream testing lasts up to 10 minutes.

  • Logging output is displayed in real time in your terminal.

Best Practices

Recommendation

Description

Use a valid API key

Ensure your API key has proper upload permissions.

Secure credentials

Use environment variables instead of embedding secrets in code.

Version control

Keep consistent app names and use semantic versioning.

Avoid interruptions

Don’t terminate the process while upload or stream test is running.

Monitor tests

Wait until stream test validation is done before triggering new uploads.


Troubleshooting


Here are some common issues and solutions:

Issue

Possible Cause

Solution

Upload failed: Unauthorized

Invalid or expired API key

Recheck your API key; regenerate if needed from the E3DS dashboard.

File not found

Wrong file path

Confirm the .zip path is correct and file exists locally.

Stream test timed out

Large build size or network delay

Wait a few minutes or retry; check if app is renamed in control panel.

Upload retries continuously

Unstable internet connection

Check your network; uploads auto-retry up to 3 times.

No output shown

Script didn’t execute

Ensure Node.js is installed and run with node index.js in the correct directory.

Related Tutorial

 


Need help?

🛠️ Contact our Support Team

💬 Join the Community on Discord

🆓 Get Started for free

 

Follow us on:

Facebook | GitHub | LinkedIn | YouTube

JavaScript errors detected

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

If this problem persists, please contact our support.