Set Up the Unreal SDK #

This tutorial can be run against either a new Unreal C++ project or a preexisting one. It has been tested against Unreal Engine 5.3.

Create a new project (optional) #

Create a new project
  1. Launch Unreal Engine from the Epic Games Launcher.

  2. From the Select or Create New Project window in the Unreal Project Browser, choose Games and click Next.

  3. For the Select Template step, choose Blank and click Next.

  4. For the Project Settings step, choose C++. Name the project PragmaIntegration, then click Create Project.

Edit the Pragma SDK setup script #

  1. Create a Plugins folder in the root of your Unreal project using File Explorer.

  2. Copy pragma-engine/sdk/unreal4/update-pragma-sdk.sh to the Plugins folder you just created.

  3. Open the update-pragma-sdk.sh script and modify as follows:

  • Uncomment SOURCE_ENGINE_RELATIVE_FOLDER.

  • Change the value of SOURCE_ENGINE_RELATIVE_FOLDER to point to your Pragma Engine repo.

  • Uncomment TARGET_PRAGMA_SDK_DIR.

  • Change the path to PragmaSDK.

  1. Run update-pragma-sdk.sh in Git Bash from the directory where you copied the script. Confirm that the PragmaSDK folder now exists in your Plugins directory.

  2. Open Source/[Project Name]/[Project Name].Build.cs and add PragmaSDK and PragmaSDKAux to the PublicDependencyModuleNames array:

    PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "PragmaSDK", "PragmaSDKAux" });
    

Configure the Pragma SDK #

Open your Unreal Project’s Config/DefaultGame.ini file and add the following configuration information to the bottom:

[/Script/PragmaSDK.PragmaSdkConfig]
BackendAddress="http://127.0.0.1:10000"
ProtocolType="WebSocket"
GameClientVersion="GameServerVersion1"
When configuring the SDK for a game server, you should use the PartnerBackendAddress config and port 10100 (partner port).

(Optional) Add the following to Config/DefaultEngine.ini to enable logs for every inbound and outbound RPC with payloads.

[Core.Log]
LogPragma=Verbose