Docs/Installation & Setup

Installation & Setup

Drop the Mistscale plugin into your Unreal project and configure the subsystem.

Setup is three steps: drop the plugin into your project, rebuild, and configure the subsystem with your API key. No config asset, no editor login window.

1. Install the plugin

The plugin is distributed as a folder named MistscaleSDK/, published as @mistscale/unreal-sdk on npm (for versioned distribution) and available directly in the mistscale-sdk repository's unreal/ directory on GitHub.

  1. 1

    Download the plugin (from GitHub, or npm/unpkg if you prefer a versioned tarball).

  2. 2

    Copy the MistscaleSDK folder into your project's Plugins/ directory (create Plugins/ if this is your first plugin).

  3. 3

    Regenerate project files and rebuild.

  4. 4

    Enable "MistScale SDK" in Edit → Plugins if it isn't already enabled.

No engine dependencies beyond the built-in modules
The plugin depends only on the engine's own HTTP, WebSockets, Json, and JsonUtilities modules — all built into UE5, nothing extra to install.

2. Configure the subsystem

Configure once, early — a game mode's BeginPlay is a natural place:

MyGameMode.cpp
UMistscaleSubsystem* Mistscale = GetGameInstance()->GetSubsystem<UMistscaleSubsystem>();

FMistscaleError ConfigError;
if (!Mistscale->Configure(TEXT("ms_your_key_here"), ConfigError))
{
    UE_LOG(LogTemp, Error, TEXT("%s"), *ConfigError.Message);
}

In Blueprint: Get Game Instance Subsystem (class MistscaleSubsystem) → Configure, with Api Key set and the URL parameters left on their defaults.

Configure returns true/false, never making a network call — a bad key fails immediately and locally.

3. Get an API key

  1. 1

    Open your project in the Mistscale dashboard.

  2. 2

    Go to Project Settings → API Keys.

  3. 3

    Create a key. It's shown once — copy it immediately.

  4. 4

    Pass it to Configure, as shown above.

Configure parameters

ApiKey
Required. Your project API key, starting with ms_.
OutError
Out-param. Populated with a FMistscaleError if configuration failed.
ControlPlaneUrl
REST API base URL. Defaults to the production Mistscale API; leave it unless support tells you otherwise.
NpcServiceUrl
Realtime NPC endpoint your connections open against. Defaults to production; leave it unless support tells you otherwise.
PlayerId
Default player id used for every connection you open. Auto-generated if you don't set one.
Treat the key like a secret
The API key authorizes conversations against your project and your usage limits. Keep it out of shipped configs where a player could extract it easily; for shipped games, prefer issuing keys per environment so a leaked key can be rotated without touching development setups.