[Deprecated] Playtest Hub


The Playtest Hub is deprecated. You should use the Launcher instead.

This page is only relevant to users deploying games to server nodes hosted in China. You can only deploy to server nodes hosted in China if you're located in China. For more information, contact your account manager or get in touch.

You can use the Playtest Hub application to share game clients with game testers. To access it, get in touch. The Playtest Hub is only available for Windows.

When you install the Playtest Hub application, you also get access to its CLI. The Playtest Hub is an app for participating in playtests, and the Playtest Hub CLI offers the same functionality. You can use the app and the CLI together to package up a game client and distribute it to participants over a LAN (local area network). Participants join playtests by clicking a share link, and they don’t need credentials.

Integrating the Playtest Hub CLI with your existing workflows

You can use the Playtest Hub CLI either:

  • manually, from any directory in a terminal window, in the same way as you would use the SpatialOS CLI, or
  • programmatically, via JSON input and output using stdin and stdout.

This means you can integrate playtesting into your existing workflows. For example, you could integrate the Playtest Hub CLI into your own playtesting tool, and use custom code to share analytics and crash dumps.

Host a playtest

Before you start, you must sign up for SpatialOS China and get the Playtest Hub. To do this, contact your account manager or get in touch.

You need to sign up for SpatialOS China even if you already have a SpatialOS account outside of China.

Set up a game client for distribution

Before you start:

  • If you’re using the GDK for Unreal, build and upload assemblies and then launch a cloud deployment. See Cloud deployment workflow for details.
  • If you’re using your own game engine, complete steps 1-5 of Deploy to the cloud.
  1. In a terminal window or File Explorer, open the directory containing the game client files that you built. If they are in a zip file, unzip it.
  2. In this directory, create a Launcher client configuration file.
  3. Validate the directory containing the game client files that you built, and move it (and its contents) to the internal storage of the Playtest Hub CLI.
    To do this, open a terminal window and run:
plcore client install local --client_path <path> --name <name>


  • <path> is the path to your client directory.
  • <name> is a human readable name for your client, such as gdk_playtest_2020_1.

For example:

plcore client install local --client_path C:\playtesthubtest --name gdk_playtest_2020_1

Host a playtest and get a share URI

Before you start, you need to set up your game client for distribution (see above).

When you have a deployment running, you can host a playtest and generate a share URI to send to participants so that they can join the playtest.

  1. Find your LAN IP address.
    In a terminal window, run:

and look out for a line that looks like:

IPv4 Address. . . . . . . . . . . :

You need this IP address for step 3.

  1. Find your client name or checksum, if you don’t already have it.
    To do this, run:
plcore client list

You need your client name or checksum for step 3.

  1. Host a playtest.
    You start a server on your machine, which continues running until you kill the process. You must keep the server running until the playtest is over, because distribution stops as soon as the server process stops.

You can use the Playtest Hub CLI to do this manually or programmatically.


Run the following command:

plcore host --server.project_name <project name> --server.deployment_name <deployment name> --client <client name or checksum> --hostname <LAN IP address>

For example:

C:\Windows\system32>plcore host --server.project_name webtools --server.deployment_name rhh1_0_obs_wizard13_runv2 --client 6d1b092d0e98c566f54007274348e952 --hostname --environment=cn-production


If you want to integrate the Playtest Hub CLI into your own applications or scripts, you can provide arguments in JSON format and pipe the JSON object into stdin.

For example, using a bash-like shell on Windows, you would create an input.json file:

  "client": "<name or checksum>",
  "server": {
    "project_name": "<project name>",
    "deployment_name": "<deployment name>",
  "hostname": "<LAN ip>"

and then open a terminal window and run the following command:

cat input.json | plcore host

Alternatively, you could serialize JSON data and invoke the Playtest Hub CLI as a subprocess within your application.

For all commands in the Playtest Hub CLI, you can pass in their arguments as JSON, as shown in the example above. You can infer the structure of the JSON object you need from the documentation about each command (to see the documentation, run plcore <command> --help).

For example:

`--server.project_name X --server.deployment_name Y`


`{ “server”: { “project_name”: “X”, “deployment_name”: “Y” }}`
  1. Share your playtest.
    The output of step 3 is a share URI that begins with playtesthub://.

For example:

{"code":"OK","body":{"share_uri":"playtesthub://connect?env=testing&tk=<playtest secret>"}}

Copy this URI and share it with playtesters.

Manage installed game clients using the Playtest Hub CLI

You can use the Playtest Hub CLI to manage game clients.

For example:

  • plcore client list returns a list of installed game clients.
  • plcore client delete --client <client name or checksum> deletes a specific game client.
  • plcore client clear-cache deletes all game clients from local storage.

For a full list of commands and how to use them, run plcore --help.

Join a playtest

Before you start, make sure you have access to the Playtest Hub. Get in touch to get set up.

You can join a playtest using the Playtest Hub or using its CLI.

Join using the Playtest Hub

  1. Click the playtest share URI. You might also need to click through on a pop-up that asks if you want to open the Playtest Hub.
  2. Select the folder icon and choose where to install your game files.
  3. Select Launch Client.

This starts downloading the game client. When the download completes, the client launches automatically and connects to the deployment.

Join using the Playtest Hub CLI

Open a terminal window and run:

plcore join --share_uri=<share uri> --store_path=<client storage location>


  • --share_uri is the share link you received.
  • --store_path is a global flag in plcore that lets you choose where to put all the files that the Playtest Hub CLI manages, such as game clients and logs.

Manage installed game clients using the Playtest Hub

You can use the Playtest Hub to see a list of installed clients, and to delete clients.

Updated 6 months ago

[Deprecated] Playtest Hub

Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.