PlayFab / PlayFabPartyUnity

38 stars 7 forks source link

PlayFab Party SDK for Unity

Overview

This is a PlayFab Party plugin for game development on Unity.

(Please use Git client with Large File Storage (LFS) support to work with this repo)

Supported platforms:

Version

Party Unity SDK (main)
1.9.3.0-main.0

Officially supported versions of PlayFab Party binaries with this release, by platform:

Platform Version Notes
Windows 1.9.3
Game Core 1.9.3 (distributed with Microsoft GDK) Compatible with GDK 2021.04 or later
Linux 1.9.3 Tested with Ubuntu 20.04
iOS 1.9.3
macOS 1.9.3
Android 1.9.3

Prerequisites

What's inside

The SDK contains the following:

Getting Started

Setting up your environment

For a detailed guide please check out Quickstart: PlayFab Party Unity Plugin

Error Handling

The error callbacks used in PlayFabMultiplayerManager API may return error data which includes PlayFabMultiplayerManagerErrorType. It can be used to determine a type of the error that the user app may act on.

In addition to error types, there are also specific Party error codes. They are intended for diagnostics and logging, not for programmatic error handling.

Error Codes

The underlying Party C++ library may return error codes that Party Unity plugin will pass on to the user app. All possible Party error codes and their descriptions are listed in PartyErrors.md file which is distributed with a public Party C++ library NuGet package, e.g.: https://www.nuget.org/packages/Microsoft.PlayFab.PlayFabParty.Cpp.Windows/

It is located at the root of the NuGet package content.

Logging

The underlying Party C++ library includes logging capabilities with a configurable verbosity level. Logging instructions can be found in the PlayFabParty ReadMe

WSL Compatibility

PlayFab Party for Linux is not intended to run on the Windows Subsystem for Linux (WSL) as it does not have built in support for system sound. As a result, chat features will not function properly. Please run on a dedicated Linux machine to take advantage of all Party features.

Troubleshooting

Expired Tokens:

PlayFab party unity plugin uses the entity token of the logged-in user to access PlayFab services such as creating a network, speech-to-text and text-to-speech. However this Entity token has a finite expiration time typically 24 hrs after which the Party Unity plugin might experience issues accessing these services.

One symptom of the expired token is that the player is unable to create a new party network.

The game is responsible for monitoring the expiration of the entity token and provide an updated token to the Party Unity plugin using the following API available in PlayFabMultiplayerManager:

public void UpdateEntityToken(string entityToken)