Documentation

Support

Multiplay Hosting

Multiplay Hosting

Get started

Install and configure the Multiplay Hosting SDK for Unreal Engine.
Read time 3 minutesLast updated 3 days ago

The following instructions teach you how to install and configure the Multiplay Game Server SDK plug-in. After you’ve installed and configured the Multiplay Game Server SDK for your project, you can use the C++ or Blueprints integration.

Understand the requirements

The Multiplay Game Server SDK plug-in for Unreal Engine supports the Unreal Engine versions 4.27 to 5.3.

Build the Engine from Source

Unreal Engine requires you to use a source build to set up a dedicated server. Refer to Setting Up Dedicated Servers (Unreal Engine). Perform the following steps to build the Unreal Engine from source:
  1. Create an Epic Games account.
  2. Create a GitHub account.
  3. Link your Epic Games account to GitHub account.
  4. Clone the Unreal Engine source code using Git.
  5. Check out a branch corresponding to one of the engine versions specified above (for example, 4.27).
  6. Follow the Getting up and running instructions in the
    README.md
    file for the version of the engine that you have checked out.
At this point, you should have an Unreal Engine binary.

Download the Multiplay Hosting SDK

From the Unreal Engine Marketplace website

  1. Sign in to the Unreal Engine Marketplace.
  2. Access the Unity Gaming Services SDK for Unreal Engine Marketplace page.
    Unity Gaming Services SDK for Unreal Engine Marketplace page

    Unity Gaming Services SDK for Unreal Engine Marketplace page

  3. Select Open in Launcher.
  4. Skip to Step 4 in From the Epic Games Launcher

From the Epic Games Launcher

  1. Sign in to your Epic Games Launcher.
  2. Search for
    Unity Gaming Services SDK for Unreal Engine
    in your Epic Games Launcher.
    Search for Unity Gaming Services SDK for Unreal Engine

    Search for Unity Gaming Services SDK for Unreal Engine

  3. Access the Unity Gaming Services SDK for Unreal Engine page and select Free.
    Unity Gaming Services SDK for Unreal Engine Launcher page

    Unity Gaming Services SDK for Unreal Engine Launcher page

  4. Select Install to Engine in your Epic Games Launcher.
    Unity Gaming Services SDK for Unreal Engine install button

    Unity Gaming Services SDK for Unreal Engine install button

  5. Open a new project or an existing one.
  6. Navigate to the
    Plugins
    window and check the box next to the Unity Gaming Services SDK for Unreal Engine.
    Unity Gaming Services SDK for Unreal Engine plugins window

    Unity Gaming Services SDK for Unreal Engine plugins window

  7. Restart Unreal Engine
  8. Access your Marketplace folder by doing the following:
  • If you're using Windows, then default path is:
    C:\Program Files\Epic Games\UE_5.3\Engine\Plugins\Marketplace
    . MacOS and Linux also have similar paths.
  • Copy the
    UnityGamingServicesSDK
    folder into your project
    Plugins
    folder. If it doesn't exist yet, create it at the root of your project.

Building the project including the SDK

  1. Right-click (macOS: Ctrl+click) the
    .uproject
    file, then select Generate Visual Studio project files.
  2. Wait for the generation to finish.
  3. Open the
    .sln
    file using Visual Studio.
  4. Add the module as dependency in the
    .build.cs
    file (
    MultiplayGameServerSDK
    ).
  5. Add a new
    .target.cs
    file with the server target configuration.
Refer to Building Plugins (Unreal Engine)

Configure the Multiplay Game Server SDK

Multiplay generates the
server.json
file from information about the game server instance, such as the IP address, port number, and server ID. It also includes any configuration variables from the active build configuration.
The Multiplay Game Server SDK uses the
server.json
file to access the server query port variable (
$$query_port$$
) and the server ID variable (
$$serverid$$
).
To configure the
server.json
file in the Unity Dashboard, access Multiplay Hosting, then select Build Configurations.
You must include at least the
queryPort
and the
serverID
in the
server.json
file for your project. Refer to the following example
server.json
file.
{ "queryPort": "$$query_port$$", "serverID": "$$serverid$$"}

What's next ?

Proceed with either integrations: