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:
npm install e3ds-automation-kit

Figure 1: Installing the E3DS Automation Kit via npm
After successful installation, you’ll see confirmation messages in your terminal.

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:
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);
}
})();

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.

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

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.

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:
node index.js

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:

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.

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 |
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 |
Related Tutorial
Upload Unreal App Using E3DS Automation Kit:
https://youtu.be/3LYuGKmMRMM
Need help?
🛠️ Contact our Support Team
💬 Join the Community on Discord
Follow us on:
Facebook | GitHub | LinkedIn | YouTube