• Stars
    star
    125
  • Rank 284,859 (Top 6 %)
  • Language
    C++
  • License
    Apache License 2.0
  • Created about 6 years ago
  • Updated about 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Source code for the PlayFab Marketplace Plugin for Unreal

Unreal Marketplace Plugin for PlayFab README

1. Overview:

Unreal Marketplace Plugins for PlayFab

Supported versions will be the root level folders, in the form of version numbers. These numbers update regularly when Unreal releases a new version, and will typically include the latest 3 Unreal versions.

The Unreal Marketplace plugin includes:

  • PlayFabSDK Folder: Unreal-Plugin - Put this plugin in your new or existing project to utilize PlayFab
  • ExampleProject Folder: Unreal Plugin ExampleProject - Use this project to start your new game, or demo/test the PlayFab system.

This sdk contains a settings option to set developerSecretKey. For the security of your title, this must be blank for client builds.

2. Prerequisites:

To connect to the PlayFab service, your machine must be running TLS v1.2 or better.

3. Installation:

The following instructions apply the SDKs in the plugin provided.

Assumptions

A new project can be built directly from the example project included with the plugin:

  • Extract the Unreal Plugin package to {UnrealPackageLocation}
  • Navigate to {UnrealPackageLocation}/ExampleProject
  • Right click on ExampleProject.uproject, and "Generate Visual Studio project files" - This process may take several minutes
  • Once finished, open {UnrealPackageLocation}/ExampleProject/ExampleProject.sln in Visual Studio
  • In Visual Studio, "Rebuild Solution" - This process may take several minutes
  • You should now be able to utilize the PlayFab APIs

To use the plugin as a project plugin in Existing Projects:

  • Extract the Unreal SDK package to {UnrealPackageLocation}
  • Navigate to {UnrealPackageLocation}/PlayFabPlugin
  • Copy the PlayFab folder into the "Plugins" directory in your existing Unreal project (If the "Plugins" folder does not exist, create it)
  • Right click on YourProject.uproject, and "Generate Visual Studio project files" - This process may take several minutes
  • Once finished, open your *.sln project file with Visual Studio
  • Open the YourProject.Build.cs file and update the PublicDependencyModuleNames with "PlayFab" (for the Blueprints module) and "PlayFabCpp" (for the C++ module)
  • In Visual Studio, "Rebuild Solution" - This process may take several minutes
  • You should now be able to utilize the PlayFab APIs

To use the plugin as an engine plugin in Existing Projects:

  • In the Epic Games launcher, go to the Unreal Marketplace and search for the PlayFab SDK
  • Click on the PlayFab SDK and click "Install to Engine"
  • If you were previously using the plugin as a project plugin, delete the PlayFab folder under "Plugins" directory in your existing Unreal project.
  • Update the YourProject.uproject file with the Plugin section as follows :
"Modules": [
    {
      "Name": "YourProject",
      "Type": "Runtime",
      "LoadingPhase": "Default",
      "AdditionalDependencies": [
        "Engine"
      ]
    }
],
"Plugins": [    // <---
    {
      "Name": "PlayFab",
      "Enabled": true,
      "MarketplaceURL": "com.epicgames.launcher://ue/marketplace/content/217fdf581b784571af03d3fb6580368f"
    }
]
  • Right click on YourProject.uproject, and "Generate Visual Studio project files" - This process may take several minutes
  • Once finished, open your *.sln project file with Visual Studio
  • Open the YourProject.Build.cs file and update the PublicDependencyModuleNames with "PlayFab" (for the Blueprints module) and "PlayFabCpp" (for the C++ module)
  • In Visual Studio, "Rebuild Solution" - This process may take several minutes
  • You should now be able to utilize the PlayFab APIs

Once the plugin is properly installed, run the Unreal Engine environment editor. Navigate to the dropdown menus: Edit -> Project Settings On the left menu, scroll to the bottom, find Plugins -> PlayFab Fill in the TitleId with the appropriate value from your project, found in the PlayFab Game Manager If this is a server process, you can also fill in the developerSecretKey. For the security of your title, this must be blank for client builds.

4. Troubleshooting:

If you experience this error: Plugin 'PlayFab' failed to load because module 'PlayFab' could not be found. Please ensure the plugin is properly installed, otherwise consider disabling the plugin for this project.

Your Unreal project is not set up to be a C++ project. Here is a tutorial that will help fix this problem. http://idkudk.blogspot.com/2015/02/how-to-get-plugins-to-package-correctly.html

General troubleshooting:

For a complete list of available APIs, check out the online documentation.

4.b Known Issue:

In Unreal 4.25, there is a step that is highly recommended:

Fix it in the Unreal Editor GUI:

  • Open Unreal Editor for your project
  • Edit -> Project Settings ... -> Engine -> Network
  • At the top of the Network section is the checkbox "Verify Peer".
  • Toggle it off.
  • Save All. (ctrl + shift +s)
  • Toggle it on.
  • Save All. (ctrl + shift +s)

Network Settings

Fix it in the files:

  • {Project}/Config/DefaultEngine.ini
  • Add/Replace these lines:
    • [/Script/Engine.NetworkSettings]
    • n.VerifyPeer=True

5 Limitations

This sdk is meant for use with a network connection. It relies heavily on HttpModule which is known in Unreal Engine to not be threadsafe. https://udn.unrealengine.com/questions/526017/view.html "HTTP requests are only supported to be created/destroyed on the main thread."

If you want to step around this Unreal Engine limitation, you may clone Epic's Unreal Engine source code and enable FORCE_THREADSAFE_SHAREDPTRS in SharedPointerInternals.h https://udn.unrealengine.com/questions/252125/view.html and load your project with that built version of Unreal.

Contact Us

We love to hear from our developer community! Do you have ideas on how we can make our products and services better?

Our Developer Success Team can assist with answering any questions as well as process any feedback you have about PlayFab services.

Forums, Support and Knowledge Base

5. Acknowledgements

The PlayFab Unreal C++ SDK was built by Phoenix Labs, and submitted to PlayFab November, 2015

On September 2017, Montana Tuska rebuilt this plugin, adding support for 4.17 and other major improvements, on September, 2017.

The initial draft of PlayFab UnrealBlueprintSDK and the Blueprint Tutorial in this document were built by Joshua Lyons, and submitted to PlayFab October, 2015

Montana Tuska also makes and supports another plugin which combines the Unreal OnlineSubsystem, and the PlayFab API. You can see it on his GitLab repo

This plugin is based off of the above mentioned plugins.

6. Copyright and Licensing Information:

Apache License -- Version 2.0, January 2004 http://www.apache.org/licenses/

Full details available within the LICENSE file.

More Repositories

1

consuldotnet

.NET API for Consul (http://www.consul.io/)
C#
693
star
2

UnitySDK

Unity C# SDKs for PlayFab
C#
349
star
3

thundernetes

Thundernetes makes it easy to run your game servers on Kubernetes
Go
311
star
4

PlayFab-Samples

This repository contains Sample code, Recipes and Video Tutorials demonstrating how to integrate various PlayFab features
C#
203
star
5

MpsSamples

Samples that show how to use PlayFab's Gameserver SDK for Multiplayer Servers
C#
149
star
6

gsdk

Game Server SDK for PlayFab Multiplayer Servers
C++
145
star
7

UnicornBattle

A complete example title showing a complete PlayFab integration with complex game systems.
C#
120
star
8

PlayFabGameServer

Out of the Box Game Server for PlayFab.com
C#
99
star
9

CSharpSDK

SDK for C#/.net environments other than Unity
C#
71
star
10

PlayFab

This repo is the official home of PlayFab on GitHub. Subscribe to it to be notified of announcements and service releases.
71
star
11

SDKGenerator

SDK Generator, produces the source code for all PlayFab SDKs.
C#
69
star
12

MpsAgent

Azure PlayFab Multiplayer Servers LocalMultiplayerAgent project and helper libraries
C#
48
star
13

PostmanCollection

PlayFab Postman Collection
45
star
14

JavaScriptSDK

JavaScriptSDK for the Client API of PlayFab
JavaScript
45
star
15

vanguard-outrider

A demo game for populating Azure PlayFab titles
TypeScript
41
star
16

PlayFabPartyUnity

39
star
17

LuaSdk

PlayFab Lua SDK for LuaDist command-line, Defold, and more
Lua
39
star
18

PlayFabMultiplayerUnreal

PlayFab Online Subsystem Plugin for Unreal Engine
C++
39
star
19

API_Specs

JSON files describing PlayFab's HTTP APIs
JavaScript
36
star
20

NodeSDK

Playfab SDK for node.js applications
JavaScript
34
star
21

XPlatCppSdk

Cross Platform C++ SDK
C++
33
star
22

CloudScriptSamples

Sample scripts demonstrating custom game logic for hosting in PlayFab.
JavaScript
29
star
23

SdkTestingCloudScript

This is the Cloud Script used for the internal testing of all SDKs.
TypeScript
26
star
24

vscode-playfab-explorer

PlayFab Explorer extension for VS Code
TypeScript
23
star
25

UnityEditorExtensions

The home for PlayFab's Unity Editor plugin. This plugin houses a custom inspector for viewing and configuring the PlayFab SDK.
C#
23
star
26

LocalMultiplayerAgent

An executable that mimics PlayFab Multiplayer (Thunderhead) operations to aid in local debugging.
22
star
27

JavaSDK

PlayFab SDK for Java applications
Java
20
star
28

PlayFabParty

The libraries, headers, and documentation for accessing the PlayFab Party feature.
C++
20
star
29

mpscommunity

Community content for Azure PlayFab Multiplayer Servers
18
star
30

ActionScriptSDK

ActionScript3 SDK for use in Adobe Flash and AIR.
ActionScript
16
star
31

PlayFabCLI

Tool for using PlayFab via CLI
C#
16
star
32

MultiplayerServerSecureWebsocket

Reverse proxy sample project to enable web socket connections over https to PlayFab hosted game servers.
C#
13
star
33

pf-af-devfuncs

Azure Functions related to the PlayFab developer experience
C#
11
star
34

PlayFabAssetBundleManager

Modification To AssetBundleManager for use with PlayFab
C#
11
star
35

PythonSdk

PlayFab Python Sdk
Python
9
star
36

Cocos2d-xSDK

PlayFab SDKs for c++ based Cocos2d-x game development
C++
7
star
37

Objective_C_SDK

OSX / iOS native SDK
Objective-C
7
star
38

MpsPowershell

Powershell client for the PlayFab Multiplayer Servers API.
PowerShell
7
star
39

PhpSdk

PHP Sdk for PlayFab https://api.playfab.com/sdks/php
PHP
7
star
40

PlayFabMultiplayerUnity

PlayFab Multiplayer Unity SDK
7
star
41

PlayFabUnityRumble

A sample multiplayer game intended to demonstrate the use of PlayFab Party and Multiplayer Unity SDKs in games.
C#
4
star
42

MultiplayerPowershell

Powershell cmdlets for Multiplayer service
C#
4
star
43

VmStartupScriptGallery

Repository containing samples and starter templates for the VmStartupScript feature of Azure PlayFab Multiplayer Servers
PowerShell
4
star
44

PlayFabCSdk

C++
3
star
45

PlayFabPowerBITemplates

This repository contains Power BI templates to quickly access key game KPIs.
3
star
46

thundernetescontrib

Helpful utilities for Thundernetes
Go
3
star
47

XPlatCoreTemplate

The template files for the XPlat build, and core template files for private builds
C++
3
star
48

thundernetes-ui

Thundernetes UI is a frontend for Thundernetes that allows you to visualize and interact with your game server clusters
TypeScript
3
star
49

UeDemo

A Breakout game with the UE PlayFab Plugin integrated and utilized
C++
2
star
50

PlayFabNetRumble

A sample multiplayer game intended to demonstrate the use of PlayFab Party and Multiplayer C++ SDKs in games.
C++
2
star
51

.github

1
star
52

PlayFabMultiplayer

PlayFab Multiplayer C++ SDK
PowerShell
1
star