PlayFab API & SDK Release Notes

Unless otherwise noted, no change will ever affect an existing title. Upgrade warnings are notes about less-than-trivial changes to the sdk which may cause minor compiler errors if you change/upgrade your PlayFab SDK version.

170710 Date: 2017-07-10


SDK Breaking Change:

  • admin.SetupPushNotificationRequest.Platform is now defined as an enum instead of a string.  This is not a breaking change to the API (as enums are transmitted as strings), but it will require some users to convert their strings to the enum values in their code.

Changes in all SDKs:

  • Minor SDK Breaking Change: Most SDKs have lost an optional field in multiple requests called UseSpecificVersion, which was an alternate way to define the adjacent Version field as null.  Not all languages have the capability to define an integer as null in the request JSON, and this field was only meant to be useful in relevant SDKs (Specifically Unreal).  If you are using this field, just remove it, and set the adjacent Version field to null when appropriate.

Unity EditorExtensions Update:

  • The flags panel has been updated:
    • ENABLE/DISABLE_IDFA flag can be toggled now
    • Displays non-PlayFab flags, and allows you to remove them (use with caution, don't remove flags you need)

SDK Dependency Updates:

  • UnitySDK built, packaged, and tested with Unity2017.1.0f1
    • Only trivial, non-breaking changes
  • ActionScriptSDK tested with AirSDK v26
    • SDK unchanged, example updated to target v26
  • Cocos built, and tested with Cocos 3.15.1
    • Cocos 3.14->3.15 contained changes that broke our example, which in turn meant the example had to be updated.  The example still works with 3.13 thru 3.15, but the example probably won't work with older versions of Cocos
    • SDK unchanged, and should continue to work with most of the latest 3.X Cocos versions

170612 Date: 2017-06-12

Documentation Changes:

  • Many small revisions to dozens of API methods for clarity
  • Several documentation-groupings, each which only contained a single API method, have been merged into a single group called "Platform Specific Methods"
  • The "Matchmaking  APIs" group has been renamed to "Matchmaking" to be consistent with other groups
  • Many length-restricted string fields now describe the allowed ranges

Changes in all SDKs:

  • Lots of broken links in all SDK readme's have been updated and fixed.

UnitySDK Specific Changes:

  • We now support multiple versions of the Android API and Google Play Services.  Read more details here
  • This concludes the planned changes to the Unity + Android Push-Plugin for now. Please let us know if you have any additional requests here

170530 Date: 2017-05-30

API Changes:

  • Breaking Change: In server.ReportPlayer, ReportPlayerServerRequest.titleId has been immediately removed (not merely deprecated).  All reports will now go to their own title, and cannot report to another title
    • This had to be a breaking change as it was otherwise a mild cross-title exploit.  Contact us if you need assistance with this change.
  • In client.ReportPlayer and server.ReportPlayer, result.Updated has been deprecated in both cases.  It was always true, and the API Call would always return an error if the Player was over the report limit.  This error condition has been updated to be OverLimit to match other limits.
  • All login methods can now return a player profile object, if requested, which contains information previously only available to leaderboard results

New API methods:


  • Small updates, several examples no longer contain information about deprecated fields
  • ExecuteCloudScript return and log size limits defined

New PlayStream Events:

UnitySDK Specific Changes:

CSharpSDK Specific Changes:

  • It is now possible to specify extra headers that will be injected into an API request
  • This is an Enterprise-Only feature, specifically for double-encrypted login requests

170508 Date: 2017-05-08

API Changes:

  • Breaking Change: ExecuteCloudScript will not serialize the return value of your call, if it is too large.
  • Breaking Change: ExecuteCloudScript will not serialize the logs for your call, if they are too large.
  • Under either of these conditions, the call will still return 200/successful, but the FunctionResult and/or Logs properties will be null.

PlayStream Event Changes:

CSharp SDK Updates:

  • Some unused source files in CSharp SDK have been deleted.
  • This should not affect any existing projects, or the Nuget package, as those files were not referenced by the Visual Studio Solution.

Postman Collection Update:

  • Several common request parameters now utilize environment variables.
  • Specifically, TitleId={{TitleId}}, PlayFabId={{PlayFabId}}, CharacterId={{CharacterId}}, and CatalogVersion={{PrimaryCatalogName}}

170424 Date: 2017-04-24

Sdk Hotfix Release

JavaSdk Updates:

  • We now publish Jar files for the SDK, one for code, and one for javadocs, which you can import into your java project instead of copy-pasting code.  Thanks to Will Iverson for helping us improve our JavaSdk useability

UnityEditorExtensions Updates:

  • We have resolved some install-time exceptions. Specifically it is no longer required that you restart Unity after a first-time install.
  • Additionally, an issue where the Client API was sometimes disabled inappropriately is now fixed. (edited)

UnrealCppSdk Updates:

  • The titleId is now available from the Plugin interface

170411 Date: 2017-04-11

API Changes:

  • New Enterprise Feature: Additional login encryption
  • You can utilize the Policy API methods to enforce Login Calls can require a second layer of encryption
  • See: UpdatePolicy , specifically UpdatePolicyRequest.Statements.ApiConditions
  • This feature is still partially in beta, and activating it is not suggested (yet - Coming Soon!)

New PlayStream Events:

UnitySDK Specific Changes:

  • It is now possible to specify extra headers that will be injected into an API request (This is required for the encrypted login calls above)

UnityEditorExtensions Specific Changes:

  • Fixed a compile issue with Unity 5.6

170406 Date: 2017-04-06

Hot Fix for Unity Android Push Plugin

  • Fixed Android 7.0+ Crash Bug
  • Fixed Android missing Large Icon support ( Lollipop + )
  • Fixed Android Small Icon support on Android 7.0+ ( now supports _transparent.png )

170403 Date: 2017-04-03

API Changes:

  • Client & Server Leaderboard Methods: Get-Leaderboard methods (such as client.GetLeaderboard) previously gained new non-nullable parameters Version and UseSpecificVersion.  The requirement that they were non-nullable was an API-breaking change.  We have updated these properties to be fully optional.
  • Client API: GetPurchaseResult.Items will be deprecated: This portion of the result is often incorrect or incomplete.  It will eventually be replaced with a fully functional parameter.

New PlayStream Events:

  • player_display_name_filtered

Unreal Specific Changes:

  • Unreal CPP SDK: An issue where PlayFab settings such as TitleId were lost when publishing a build has been fixed.
  • Both SDKs have been tested and verified working with Unreal 4.15

JavaSdk Specific Changes

  • JavaSdk folder structure and testing has been restructured
  • The internal folder structure of the repo has changed a bit to accommodate Maven best practices
  • Dependencies are now Maven controlled and no longer included with the SDK
  • Our internal automated testing has been converted to Maven command line
  • Our SDK is NOT available on Maven Central, as that effort has faltered. There is no ETA for completion at this time

UnitySdk Specific Changes:

  • Internal Unity version for testing and building asset bundles updated to 5.6.0. Our Unity SDK remains compatible with all versions of Unity from 4.7 thru 5.6
  • A compile issue with UnityEditorExtensions in Unity 5.6 has been fixed

170223 Date: 2017-02-22

Api Changes:

  • PlayFab leaderboards now store an avatar url for every player.  This can be used to reference a player image for leaderboard entries.
  • All leaderboard APIs can now fetch a specific version of the leaderboard.  This is for titles which are set to use Resetting Leaderboards.
  • Leaderboard entries now contain the PlayerProfile which can be used to display more detailed leaderboards without additional API calls
  • PlayFab can now authenticate clients using Windows Hello and validate Windows Store receipts

New APIs:

New PlayStream Events:

WindowsSDK Specific Changes:

  • Added some missing null checks to the JSON serializer

All SDKs:

  • Minor additions to the testTitleData format.  This only applies to the Example-Test projects that come with SDKs.

170130 Date: 2017-01-29

Breaking Changes:

  • The folder structure for JavaScriptSDK and NodeSDK has been changed with today's major release.  This may result in some broken connections for your project when you upgrade.  (File names and file contents have not changed.  New TypeScript files now exist, which did not exist before)

API Changes:

  • Added clarifying documentation to CDN APIs.  Specifically mentioning that the CDN is not part of our free service.
  • Google login fixes (Blog Post Pending)

New PlayStream Events:

JavaScriptSDK Specific Changes:

  • Release day for a major upgrade!  Version number updated to 1.0
  • TypeScript integration!
  • Repository cleanup: Separating the sdk files from the example files
  • Our example project has been converted to TypeScript
  • See our blog!


  • Release day for a major upgrade!  Version number updated to 1.0
  • TypeScript integration!
  • Our example project has been converted to TypeScript
  • See our blog!

CloudScript Examples:

  • Release of a new example repository.
  • TypeScript integration!
  • See our blog!
  • And new repository!
  • We will be expanding this repository over time.


  • Fixed an issue where where JsonWrapper did not work as expected in all cases.
  • See our forum post for details:
  • All of the following deprecated wrapper classes have been removed in favor of PlayFab.Json.JsonWrapper
  • PlayFab.Json.JsonConvert (Use PlayFab.Json.JsonWrapper)
  • PlayFab.Json.SimpleJson (Use PlayFab.Json.JsonWrapper or PlayFab.Json.PlayFabSimpleJson)
  • PlayFab.SimpleJson (Use PlayFab.Json.JsonWrapper or PlayFab.Json.PlayFabSimpleJson)
  • Repeating a note from 160627, UnityEngine.SimpleJson is an empty namespace in the UnityEngine.dll, and that makes it necessary for us to not use that identifier.


  • Resolved an issue where the PlayFab panel will re-load infinitely if your account cannot view any studios.
  • Resolved an issue where PlayFabSharedSettings (Scriptable Object) would sometimes not save properly if you picked your title from the PlayFab panel.

Next Page