# Godot Extension

The **Game Launcher Cloud Godot Extension** allows you to build and upload your Godot game builds directly from the Godot 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%2FLouqA4xpt5HciziKUfyP%2Fimage.png?alt=media&#x26;token=245113ba-31e3-4585-af4f-3eb43a63fcba" alt=""><figcaption></figcaption></figure>

## Features

* **Build & Upload**: Build your game and upload to Game Launcher Cloud in one click
* **Multiple Environments**: Support for Production, Staging, and Development environments
* **API Key Management**: Securely store different API keys per environment
* **Build Monitoring**: Real-time build status tracking and notifications
* **Easy Setup**: Quick wizard to get started in minutes
* **Cross-Platform**: Support for Windows, Linux, and macOS builds

## Installation

### From Godot Asset Library (Recommended)

1. Open your Godot project
2. Go to **AssetLib** tab at the top of the editor
3. Search for "**Game Launcher Cloud**"
4. Click on the extension and press **Download**
5. Click **Install** and select your project
6. The extension will be available under **Project > Tools > Game Launcher Cloud**

**Direct Link**: [Game Launcher Cloud on Godot Asset Library](https://godotengine.org/asset-library/asset/4663)

### Manual Installation from GitHub

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

   ```
   YourProject/addons/game_launcher_cloud/
   ```
3. In Godot, go to **Project > Project Settings > Plugins**
4. Enable the **Game Launcher Cloud** plugin
5. The extension will be available under **Project > Tools > Game Launcher Cloud**

## Quick Start

### First Time Setup

1. Open the **Game Launcher Cloud Manager** from `Project > Tools > Game Launcher Cloud Manager`   &#x20;

<figure><img src="https://4241524842-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnNH3XbUy7pSptjMVADb2%2Fuploads%2FsIGKTMQLWenPt2ablToT%2Fimage.png?alt=media&#x26;token=f23ea741-d939-4630-99f0-25345662c169" alt=""><figcaption></figcaption></figure>

2. Enter your API Key ([Get API Key](https://app.gamelaunchercloud.com/user/api-keys))

<figure><img src="https://4241524842-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnNH3XbUy7pSptjMVADb2%2Fuploads%2FR9JpwNOI32N6016vpyYE%2Fimage.png?alt=media&#x26;token=f65035f7-ea6c-4e12-b666-7540f411d26a" alt=""><figcaption></figcaption></figure>

3. Select which application to upload builds to
4. Choose your target environment (Production, Staging, or Development)

### Using the Manager

#### Authentication Tab

* Enter your API Key to authenticate
* API Keys are saved securely per environment
* Switch between Production, Staging, and Development environments

#### Build & Upload Tab

**Select Application**

* Choose which app to upload builds to
* Refresh apps list or manage app settings

**Select Environment**

* Choose target environment (Production/Staging/Development)
* Each environment can have different game versions

**Build Configuration**

* Select build platform (Windows, Linux, macOS)
* Choose build type (Debug or Release)
* Add optional build notes

**Build & Upload**

* Click **Build & Upload** to start the process
* Monitor real-time progress during compression and upload
* Receive notifications when build is processing on the server

## Build Configuration

### Supported Platforms

* **Windows**: Windows desktop builds (x86\_64)
* **Linux**: Linux desktop builds (x86\_64)
* **macOS**: macOS desktop builds (Universal)

### Build Settings

The extension uses your project's export presets. Make sure you have configured export presets for your target platforms:

1. Go to **Project > Export**
2. Add export presets for each platform you want to build
3. Configure platform-specific settings
4. The extension will use these presets when building

### Build Notes

Add optional build notes to describe:

* New features added
* Bug fixes included
* Performance improvements
* Known issues

Build notes are visible in the Game Launcher Cloud dashboard and can help track changes between versions.

## Environment Management

### Production Environment

Use for:

* Live game releases
* Stable versions for players
* Public releases

### Staging Environment

Use for:

* Beta testing
* Pre-release testing
* QA validation

### Development Environment

Use for:

* Internal testing
* Development builds
* Experimental features

Each environment maintains its own:

* Build history
* Version numbers
* Configuration settings

## Troubleshooting

### API Key Issues

**Problem**: "Invalid API Key" error

**Solution**:

* Verify your API key at [API Keys page](https://app.gamelaunchercloud.com/user/api-keys)
* Ensure the API key has proper permissions
* Check that you're using the correct environment

### Build Upload Fails

**Problem**: Upload fails or times out

**Solution**:

* Check your internet connection
* For large builds (>5GB), consider using the [CLI tool](https://docs.gamelaunchercloud.com/applications/cli-releases/)
* Verify you have enough storage space in your plan

### Export Preset Not Found

**Problem**: "No export preset found" error

**Solution**:

* Go to **Project > Export** in Godot
* Add export presets for your target platforms
* Configure the presets with required settings

## Best Practices

### Build Optimization

1. **Compress Textures**: Use appropriate texture compression for your target platforms
2. **Remove Debug Symbols**: Use Release builds for production
3. **Strip Unused Resources**: Remove unused assets before building
4. **Test Export Presets**: Verify export presets work correctly before uploading

### Version Management

1. Use semantic versioning (e.g., 1.0.0, 1.1.0, 2.0.0)
2. Write clear build notes for each upload
3. Test in Development/Staging before pushing to Production
4. Keep track of which version is in each environment

### Security

1. Never commit API keys to version control
2. Use different API keys for different environments
3. Rotate API keys periodically
4. Limit API key permissions to only what's needed

## Support & Resources

* **Documentation**: [docs.gamelaunchercloud.com](https://docs.gamelaunchercloud.com)
* **Discord Community**: [Join our Discord](https://discord.gg/gamelauncher)
* **GitHub Issues**: [Report bugs or request features](https://github.com/GameLauncherCloud/GameLauncherCloud-GodotExtension/issues)
* **Email Support**: <support@gamelaunchercloud.com>

## Version History

See the [GitHub Releases](https://github.com/GameLauncherCloud/GameLauncherCloud-GodotExtension/releases) page for detailed version history and changelog.

## License

This extension is licensed under the MIT License. See the [LICENSE](https://github.com/GameLauncherCloud/GameLauncherCloud-GodotExtension/blob/main/LICENSE) file for details.
