# Unreal Engine Extension

The **Game Launcher Cloud Unreal Engine Extension** allows you to build and upload your Unreal Engine game builds directly from the Unreal Editor to Game Launcher Cloud.

<figure><img src="https://4241524842-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnNH3XbUy7pSptjMVADb2%2Fuploads%2Fgit-blob-83d7610fc6084dc3f27d0359cd576bb4618f3959%2Fimage.png?alt=media" alt=""><figcaption></figcaption></figure>

## Features

* **Build & Upload**: Build your game and upload to Game Launcher Cloud in one click
* **API Key Authentication**: Securely authenticate using your API keys
* **Real-time Progress**: Track compression and upload progress in real-time
* **Build Status Monitoring**: Monitor backend build processing status
* **Multipart Uploads**: Optimized uploads for large files with automatic multipart handling
* **CLI Recommendation**: Smart warnings for builds larger than 5GB

## 📥 Installation

### Method 1: Install from Fab (Recommended)

1. Visit the [Game Launcher Cloud plugin page on Fab](https://www.fab.com/listings/af88972c-9d69-42cd-bcaa-109bb8dd31c6)
2. Click **Add to Cart** or **Free Download** (if applicable)
3. Open the **Epic Games Launcher**
4. Go to **Unreal Engine > Library > Vault**
5. Find "Game Launcher Cloud" and click **Install to Engine**
6. Select your Unreal Engine version (5.4 or later)
7. Open your project in Unreal Engine
8. Go to **Edit > Plugins**
9. Search for "Game Launcher Cloud"
10. Enable the plugin
11. Restart the editor when prompted

### Method 2: Install from GitHub (Manual)

1. Download the latest release from [GitHub Releases](https://github.com/GameLauncherCloud/GameLauncherCloud-UnrealEngineExtension/releases)
2. Extract the plugin to your project's `Plugins` folder:

   ```
   YourProject/Plugins/GameLauncherCloud/
   ```
3. Restart Unreal Engine
4. Open your project
5. Go to **Edit > Plugins**
6. Search for "Game Launcher Cloud"
7. Enable the plugin
8. Restart the editor when prompted

## 🚀 Quick Start

### Step 1: Get Your API Key

1. Visit [Game Launcher Cloud API Keys](https://app.gamelauncher.cloud/user/api-keys)
2. Click **Create New API Key**
3. Give it a name (e.g., "Unreal Engine Plugin")
4. Copy your API key (keep it secure!)

<figure><img src="https://4241524842-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnNH3XbUy7pSptjMVADb2%2Fuploads%2Fgit-blob-bbb983a4c2aaf4bfd256c628cfda44b12f346f58%2Fimage.png?alt=media" alt=""><figcaption></figcaption></figure>

### Step 2: Open the Manager

1. In Unreal Engine, go to **Tools** menu
2. Click **Game Launcher Cloud**
3. The manager window will open

<figure><img src="https://4241524842-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnNH3XbUy7pSptjMVADb2%2Fuploads%2Fgit-blob-83d7610fc6084dc3f27d0359cd576bb4618f3959%2Fimage.png?alt=media" alt=""><figcaption></figcaption></figure>

### Step 3: Login

1. In the **Login** tab, paste your API Key
2. Click **Login with API Key**
3. You should see a success message with your email

### Step 4: Build and Upload

**Select Application**

* Click **🔄 Reload Apps** to load your available apps
* Select the app you want to upload builds to from the dropdown
* Optionally click **⚙️ Manage App** to open it in the dashboard

**Build Notes**

* Add version info, changelog, or important notes for your build

**Build Actions**

* **🔨 Build**: Package your game without uploading (creates a compressed build)
* **☁️ Upload to Cloud**: Upload an existing compressed build
* **🚀 Build & Upload**: Package and upload in one step

**Build Detection**

* The plugin automatically detects existing builds in your project
* Shows build date, file count, and compression info

**Progress Tracking**

* Real-time compression progress (file-by-file)
* Upload progress with speed and ETA
* Backend processing status with detailed stages

## 📋 Requirements

* Unreal Engine 5.4 or later (compatible with UE 5.0+)
* Visual Studio 2019 or newer (for building from source)
* Active Game Launcher Cloud account
* API Key with upload permissions
* Windows 64-bit (macOS support coming soon)

## 🔧 Supported Platforms

### Development Platforms

* Windows (Win64) ✅
* macOS (Coming Soon)

### Target Build Platforms

* Windows (Win64)
* Linux (Experimental)
* macOS (Experimental)

## ⚠️ Important Notes

* **Large Builds**: For builds larger than 5GB, we recommend using the [CLI](https://github.com/GameLauncherCloud/GameLauncherCloud-Gitbook/blob/main/docs/applications/cli-builds.md) for better performance and optimization
* **Build Location**: Builds are created in `YourProject/Builds/GLC_Upload/`
* **Compression**: Builds are automatically compressed to `.zip` format before upload
* **API Keys**: Store your API keys securely and never commit them to version control
* **Multipart Upload**: Files larger than 500MB automatically use optimized multipart uploads

## 🎨 Plugin Interface

### Login Tab

* Secure API Key authentication
* Persistent login sessions
* Direct link to create API keys

### Build & Upload Tab

* Application selection with reload and manage options
* Build detection showing existing builds
* Build notes for version tracking
* Separate Build, Upload, and Build & Upload actions
* Real-time progress bars and status messages
* Build status monitoring with detailed backend processing stages

### Developer Tab

* Configuration management
* Environment switching (Production/Staging)
* Debug information
* Logout functionality

## 💡 Tips for Better Builds

### Optimize Build Size

* Compress textures appropriately using Unreal's texture compression settings
* Remove unused assets and content
* Use pak file compression in Project Settings
* Enable code stripping and optimization

### Use Descriptive Build Notes

Always include:

* Version number (e.g., v1.2.3)
* New features added
* Bugs fixed
* Known issues or limitations
* Platform-specific notes

### Test Before Uploading

* Package and test locally first
* Check for crashes or critical errors
* Verify all features work as expected
* Test on target hardware configurations
* Monitor performance metrics

### Build Configuration

* Use Shipping configuration for release builds
* Development builds for internal testing
* Ensure proper platform-specific settings

## 🔐 Security

### API Key Storage

The plugin saves settings in:

```
YourProject/Plugins/GameLauncherCloud/Config/glc_config.json
```

**Important:** Add this file to `.gitignore` to protect your API keys!

Example `.gitignore` entry:

```gitignore
# Game Launcher Cloud Config (contains API keys)
Plugins/GameLauncherCloud/Config/glc_config.json
**/glc_config.json
```

### Best Practices

* Never share or commit API keys
* Use different API keys for different environments
* Rotate API keys regularly
* Revoke unused or compromised keys immediately
* Use read-only keys when possible

## 🏗️ Building from Source

1. Clone the repository:

   ```bash
   git clone https://github.com/GameLauncherCloud/GameLauncherCloud-UnrealEngineExtension.git
   ```
2. Copy the `Plugins/GameLauncherCloud` folder to your project's `Plugins` directory
3. Right-click your `.uproject` file and select **Generate Visual Studio project files**
4. Open the solution in Visual Studio
5. Build in **Development Editor** configuration
6. Launch Unreal Engine

## 🔄 Build Process

The plugin follows this workflow:

1. **Build Phase**
   * Packages game using Unreal's build pipeline
   * Creates standalone executable for target platform
   * Stores in `Builds/GLC_Upload/` directory
2. **Compression Phase**
   * Creates ZIP archive of the build
   * Shows real-time progress (files processed)
   * Calculates compression ratio
   * Stores as `YourGame_upload.zip`
3. **Upload Phase**
   * Requests presigned upload URL from backend
   * Chooses single-part or multipart upload based on size
   * Uploads with progress tracking
   * Notifies backend when complete
4. **Processing Phase**
   * Backend processes the build
   * Creates patch files
   * Updates CDN
   * Notifies when ready

## 🌐 API Integration

The plugin uses the Game Launcher Cloud API:

* **Authentication**: `/v1/auth/verify-api-key`
* **Apps List**: `/v1/cli/apps`
* **Upload Start**: `/v1/cli/build/start-upload`
* **Upload Complete**: `/v1/cli/build/notify-file-ready`
* **Build Status**: `/v1/cli/build/{buildId}/status`

All requests use secure HTTPS with API Key authentication.

## 📊 Build Status Stages

When monitoring builds, you'll see these stages:

* **Pending**: Build queued for processing
* **Uploading**: File being uploaded to cloud storage
* **Download**: Backend downloading build from storage
* **Extracting**: Decompressing build files
* **Creating Patch**: Generating delta patches
* **Uploading Patch**: Uploading to CDN
* **Completed**: Build ready for distribution
* **Failed**: Error occurred (check logs)

## 🐛 Troubleshooting

### Plugin Not Showing

* Ensure plugin is enabled in Edit > Plugins
* Restart Unreal Engine after installation
* Check Output Log for error messages

### Build Fails

* Verify your project builds successfully without the plugin
* Check Project Settings > Platforms for target platform configuration
* Ensure sufficient disk space for packaging

### Upload Fails

* Verify API key is valid and has upload permissions
* Check your internet connection
* Ensure firewall allows HTTPS connections
* Try using the CLI for very large files (>5GB)

### Can't Login

* Verify API key is copied correctly (no extra spaces)
* Check that your account is active
* Ensure you have created apps in the dashboard

## 💬 Support

Need help? We're here for you!

* 💬 Discord: [Join our community](https://discord.com/invite/FpWvUQ2CJP)
* 📧 Email: <support@gamelauncher.cloud>
* 📚 Documentation: [help.gamelauncher.cloud](https://help.gamelauncher.cloud)
* 🐛 Issues: [GitHub Issues](https://github.com/GameLauncherCloud/GameLauncherCloud-UnrealEngineExtension/issues)

## 🔗 Related Resources

* [CLI Tool](https://github.com/GameLauncherCloud/GameLauncherCloud-Gitbook/blob/main/docs/applications/cli-builds.md) - Command-line interface for automated builds
* [Getting Started](https://github.com/GameLauncherCloud/GameLauncherCloud-Gitbook/blob/main/docs/getting-started.md) - Platform overview and setup
* [Dashboard Guide](https://gamelauncher.cloud/help/applications/upload-builds) - Web dashboard for build management

## 📝 License

This plugin is provided free of charge for use with Game Launcher Cloud platform.

***

Made with ❤️ by the Game Launcher Cloud team
