Skip to main content

Install Unreal Engine SDK for Windows

UE4.21 - UE4.27 & UE5 - UE5.4
System Requirements

Supports 64-bit Windows 7, Windows 10, and Windows 11 operating systems.

Due to the characteristics of the Windows platform, the installation directory of the game cannot contain the English character semicolon (;), otherwise the game will not be able to find the necessary DLLs and the game will fail to run.

WebView is required if the Windows platform has integrated authentication methods such as Google, Facebook, LINE, and Apple.

Version Requirements

Recommended to be compiled on Microsoft Visual C++ Redistributable 2015-2022.

Prerequisites

caution

The version of each SDK plugin used by the game, including the version used by the game launcher, must be consistent. If games require access to multiple versions of Player Network SDK at the same time, or if only one component needs to be upgraded, reach out to the Player Network representative.

  1. Get a login account from Player Network.
  2. Create a new project.
  3. [Optional] Invite users to join the project.
  4. Download the SDK.

Step 1: Install the SDK

1. Add Player Network SDK to your project

  1. Unzip the SDK package.

  2. Copy the INTLSDK folder to the Plugins folder of your project.
    If your project does not have a Plugins folder, create one.

  3. Open your project's {Project Name}.Build.cs file and add Player Network SDK to Unreal Engine by following the below example.

    public INTLSample(ReadOnlyTargetRules Target) : base(Target)
    {
    PrivateDependencyModuleNames.AddRange(new string[] {
    "INTLCore",
    "INTLFoundation",
    "INTLConfig",
    });
    }
Player Network SDK package
├─INTLSDK
│ ├─INTLSDK.uplugin // Player Network SDK plugins description files
│ ├─Resources // Player Network SDK resources
│ └─Source // Player Network SDK plugin modules. Each module contains its own Build.cs file, libraries, and interfaces.
│ ├─INTLApple
│ ├─INTLConfig // Player Network SDK configurations
│ ├─INTLCore // Player Network SDK Core module
│ ├─INTLDiscord
│ ├─INTLEpic
│ ├─INTLFacebook
│ ├─INTLFoundation
│ ├─INTLGoogle
│ ├─INTLKakao
│ ├─INTLLine
│ ├─INTLSteam
│ ├─INTLTwitter
│ └─INTLVK
├─LevelInfinite // LI PASS APIs
└─Symbols // Player Network SDK symbol table *.so files
INTLSDK/Source/INTLCore
└─INTLSDK
├─INTLSDK.uplugin
├─Resources
└─Source
├─INTLConfig
├─INTLCore
| ├─INTLCore.Build.cs // INTLCore Build.cs file
| ├─Libs // INTLCore libraries for different platforms which contain dll, lib, and other binary files.
| | ├─Android
| | ├─include
| | ├─iOS
| | ├─MacOS
| | └─Win
| ├─Private // Player Network SDK private folder
| └─Public // Player Network SDK public interfaces
| // INTLSDKAPI.h: Player Network SDK APIs
| // INTLSDKPluginObserver.h: Player Network SDK observer classes
| // INTLSDKPluginDefine.h: Player Network SDK data types
| // INTLSDKOutputUtility.h: Player Network SDK utility to process callbacks
| // INTLSDKBaseUserWidget.h: Player Network SDK base class for UserWidget which includes registration and deregistration APIs
├─INTLCustomer
├─INTLDiscord
├─INTLEpic
INTLSDK/Source/INTLConfig
└─INTLSDK
├─INTLSDK.uplugin
├─Resources
└─Source
├─INTLConfig
| ├─Configs // Player Network SDK configurations for different platform
| | ├─Android
| | | └─INTLConfig_APL.xml // Player Network SDK Android gradle configuration file
| | ├─iOS
| | | ├─INTL.plist
| | | ├─INTLConfig_UPL.xml
| | | ├─mergeplist.sh
| | | └─Plist
| | ├─Resources
| | | ├─APASConfig.ini // APAS device level configuration file
| | | └─INTLConfig.ini // Player Network SDK main configuration file
| ├─Encrypt
| ├─INTLConfig.Build.cs
| ├─INTLConfig.uplugin
| ├─Private
| ├─Public
| └─Resources
├─INTLCore

2. Change the cache directory

By default, the directory of Player Network SDK for a PC user and the application generated cache will be:

  • C:/ProgramData/INTL
  • C:/Users/{name}/AppData/Local/INTL/local/INTL

Before calling InitSDK, game developers must set the cache directory. For more information, see Change User Data Folder Directory API.

// For example, game id is 11, and the game application name is INTLSDKDemo.
// Then the game invokes the interface like this:
UINTLSDKAPI::SetDefaultUserStorageDirectory("D:\\game_data\\")
// The data cache path for Player Network SDK will be D:\game_data\11\INTLSDKDemo\.

3. Player Network SDK Configuration

note

When INTLConfig.ini is modified manually, reach out to the Player Network representative to confirm if configuration changes meet expectations, see SDK Config Information for more information.

Follow the instructions in INTLConfig.ini to configure accordingly.

4. Initialize the SDK

Before implementing any Player Network features, initialize the SDK first.

UINTLSDKAPI::Init();
note

To free the global state of Player Network SDK, it is recommended to restart or shut down the SDK at the end of the lifecycle of the app.

For more information about the aforementioned Windows specific APIs, see Restart and ShutDown.

Step 2: Verify that Player Network SDK is successfully connected

  1. Modify the configuration under the INTL Log node in the INTLConfig.ini file.
[INTL Log]
LOG_LEVEL = 1
LOG_ENCRYPT_ENABLE = 0
LOG_COMPRESS_ENABLE = 0
LOG_CONSOLE_OUTPUT_ENABLE = 1
LOG_FILE_OUTPUT_ENABLE = 1
  1. Run the program, integration is successful when Init INTL SDK success. can be found in the log.

Now that the Player Network SDK has been successfully connected, you are ready to start building your project.

We recommend using the following services with Player Network:

  • Refer to our Authentication tutorials for a list of third-party identity providers you can incorporate into your project.
  • See Social for more information on the various social features that can be used to improve player interaction.
  • For instructions on how to configure in-game announcements and push notifications, see Engagement.
  • See Data Insights for ways to collect and report telemetry data.
  • Check out Tools & Utilities for a list of convenient tools provided by Player Network, such as Deep Link and WebView.
  • Depending on your countries/regions of release, determine the Compliance Services that may be required for your project.

Alternatively, gain access to all of the above features and more by simply adding LEVEL INFINITE PASS to your project.
Regular users can follow the streamlined workflow for standard solutions that work on most games, while more advanced users can begin customizing their project with minimal integration involved.

For more information, reach out to the Player Network representative.