> ## Documentation Index
> Fetch the complete documentation index at: https://docs.playflowcloud.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Quick Start - Any Game Engine

> Choose your networking framework and deploy your first game server on PlayFlow Cloud

# Choose Your Quick Start Guide

Select the networking framework you're using to get started with PlayFlow Cloud.

## Video Tutorial

[Unity on PlayFlow Cloud Tutorial](https://www.youtube.com/embed/ydFBvDOaeDw)

> [!TIP]
>
> This video demonstrates deploying Unity games to PlayFlow Cloud. The concepts apply to all Unity networking frameworks.

## Popular Networking Frameworks

PlayFlow's backend is engine-agnostic — it hosts any headless Linux dedicated server over the REST API. Unity is the first-class SDK, and the guides below cover the most common setups.

> [card] [Mirror](https://docs.playflowcloud.com/quickstart/mirror.md)
>
> High-level networking library with clean API and battle-tested architecture

> [card] [Mirror WebGL](https://docs.playflowcloud.com/quickstart/mirror-webgl.md)
>
> Deploy Mirror games for web browsers with secure WebSocket connections

> [card] [Fish-Net](https://docs.playflowcloud.com/quickstart/fishnet.md)
>
> High-performance networking with prediction and lag compensation

> [card] [Fish-Net WebGL](https://docs.playflowcloud.com/quickstart/fishnet-webgl.md)
>
> Deploy Fish-Net games for web browsers with secure WebSocket connections

> [card] [Unity Netcode](https://docs.playflowcloud.com/quickstart/netcode.md)
>
> Unity's official Netcode for GameObjects (NGO)

> [card] [Godot](https://docs.playflowcloud.com/quickstart/godot.md)
>
> Deploy a Godot dedicated server using the REST API

> [card] [Generic Setup](#generic-setup)
>
> For other engines, frameworks, or custom networking solutions

> [!NOTE]
>
> **Not sure which framework to choose?**
>
> * **Mirror**: Great for beginners, large community, stable and mature
> * **Fish-Net**: Best performance, advanced features, actively developed
> * **Unity Netcode**: Official Unity support, good integration with Unity services

## Generic Setup

If you're using a different framework or custom networking solution, follow these general steps.

> [!NOTE]
>
> **Not using Unity?** The Unity plugin and the Unity prerequisites below only apply to Unity projects. For any other engine (Godot, Unreal, custom C++/Go/Node servers, etc.), skip the Unity tooling and use **Option 2: Manual Upload** together with the [REST API](https://docs.playflowcloud.com/fundamentals/api.md) — PlayFlow runs any headless Linux dedicated server. The [Godot quickstart](https://docs.playflowcloud.com/quickstart/godot.md) is a worked example.

> [!WARNING]
>
> **Prerequisites (Unity)**
>
> If you're building with Unity, make sure you have completed the following setup steps first:
>
> > [card] [Installation Guide](https://docs.playflowcloud.com/guides/installation.md)
> >
> > Install the PlayFlow SDK into your Unity project.
>
> > [card] [Unity Modules Setup](https://docs.playflowcloud.com/guides/unity-modules.md)
> >
> > Install the required Linux modules for dedicated server builds.

### 1. Unity Project Setup

Before uploading your server, ensure your Unity project is correctly configured.

#### Configure Your Networking

Your game needs a networking transport. Make sure you have one set up. Take note of the **Port** you are using (e.g., `7777`). You will need this later.

#### Ensure Server Auto-Start

Your dedicated server build must start the server automatically when it launches. Most networking libraries have a setting for this, often called "Start on Headless" or similar. Ensure this is enabled so your server doesn't just launch and sit idle.

### 2. PlayFlow Account & Project Setup

**1. Create your PlayFlow Account**

First, you'll need an account.

1. Visit [app.playflowcloud.com](https://app.playflowcloud.com).
2. Sign up with your email or connect with your GitHub/Google account.

**2. Set up your Organization**

Organizations help you manage your game projects and teams. You'll be prompted to create one after signing up. Give it a name (e.g., your studio name).

**3. Create your First Project**

Projects in PlayFlow represent individual games.

1. From your organization dashboard, click **Create Project**.
2. Give your project a name and click **Create**.

### 3. Upload Your Game Server

You can upload your game server build either directly from the Unity Editor using the PlayFlow plugin (recommended) or manually through the dashboard.

> [tab] Option 1: Upload via Unity Plugin
>
> This is the easiest method for Unity developers.
>
> 1. In your PlayFlow project dashboard, go to **API Keys** and copy your **PlayFlow API Key**.
> 2. In the Unity Editor, open the PlayFlow window (**PlayFlow → PlayFlow Cloud**).
> 3. Paste your API key into the token box.
> 4. Select your game server scene from the list.
> 5. Click **Upload Server**.
>
> The plugin will automatically build a headless Linux server and upload it directly to PlayFlow.

> [tab] Option 2: Manual Upload
>
> This method works for any game engine.
>
> 1. Build a **headless Linux server** from your game project.
> 2. Create a `.zip` file containing your server executable and all its dependencies.
>    * PlayFlow defaults to running `Server.x86_64`. If your executable has a different name (e.g. `GameServer.x86_64`), pass `executable_path` when creating the build — see the [API guide](https://docs.playflowcloud.com/fundamentals/api.md#upload-a-build).
> 3. In your PlayFlow project dashboard, navigate to the **Builds** tab and click **Upload Build**.
> 4. Upload your `.zip` file.

### 4. Configure and Deploy

**1. Configure Network Ports**

For clients to connect, you must tell PlayFlow which port to open.

1. Go to the **Configuration** tab in your project.
2. Under **Network Configuration**, add a new port.
3. Set the **Port Number** to match the one your networking transport uses (e.g., `7777`).
4. Set the **Protocol** (usually UDP for games).
5. Save your settings.

**2. Deploy Your Server**

Now you're ready to launch your server.

1. Navigate to the **Servers** tab.
2. Click **Create Server**.
3. Select the build you just uploaded.
4. Choose a region and an instance type.
5. Click **Launch Server**.

**3. Connect to Your Server**

Once the server status changes to "Running", it's live.

1. Click **Details** on your running server.
2. In the **Network** section, read the public **host** and **port** for each mapping.
3. Use that host and port in your game client to connect.

> [!WARNING]
>
> Always read the connection details from the server's response — never hardcode them. Each entry in the response's `network_ports[]` array gives you the `host` and the **`external_port`** to connect to. The external port is allocated by PlayFlow's proxy and is **different from the internal port** your server listens on (it is not `7777`). TCP ports return a hostname (for example `relay.computeflow.cloud`) while UDP ports return a proxy IP address, so treat the host as a host string, not always a raw IP.

## Next Steps

Congratulations! Your first server is running. Now you can explore more of PlayFlow's features.

> [card] [Game Servers Overview](https://docs.playflowcloud.com/unity/overview.md)
>
> Learn more about how dedicated servers work on PlayFlow.

> [card] [Game Servers API](https://docs.playflowcloud.com/unity/game-servers.md)
>
> Learn to manage servers programmatically from your game.

> [card] [Lobby System](https://docs.playflowcloud.com/unity/lobby-overview.md)
>
> Learn how to create lobbies and match players together.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.