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.

170925 Date: 2017-09-05

API Changes:

  • A handful of beta APIs that were never made public have been removed. This should not affect any current customers or live titles.
  • We bypassed the default language-level header checks in our Cloud Script engine. This means several Cloud Script http.request() headers that were formerly being rejected should now work

Global Push Notification Update:

  • Please see our blog for details about the improvements to Push Notifications

New PlayStream Events:

  • player_device_info
    • Games using the latest UnitySDK can now see some basic analytics data about their customers. SnowFlake is ideal for viewing and analyzing this information, but it's also available in the PlayStream Event History.
  • player_updated_membership

JavaScriptSDK Specific Changes:

  • A handful of mini-features that exist in other SDKs have been added to JavaScriptSDK:
    • You can now inject extra headers into requests (removing one of the blockers for Double Encrypted Logins with this SDK)
    • Added a new function: PlayFabClientSDK.ForgetClientCredentials()
      • This is a convenience function that allows you to reset the client after shutting down or logging out.
    • PlayFab.GenerateErrorReport()
      • This is a convenience function that converts the error-result from a failed PlayFab call into a single complete description of how the call failed.
    • Added optional data relays into the PlayFab API requests:
      • result.customData
        • This is any contextual object you can attach to the request, which can provide context for the result. For example, you can provide a local client-player object as the customData for an UpdatePlayerStatistics call, and set the updated statistics on that player after the remote call has succeeded.
      • result.request
        • The request for your API calls are now relayed to the result, which can provide context for the result. For example, when you call UpdatePlayerStatistics, you can read the updated stats from the request, when updating your local player object.

UnitySDK Specific Changes:

  • New experimental feature: This release of PlayFab UnitySDK now optionally allows you to see device information for your players. Example information you can see is: memory, resolution, user-agent, device-type, OS version, etc.

Unreal CPP SDK Specific Changes:

  • Updated to Unreal 4.17
  • Split apart into 3 separate plugins, each with different functionality
  • Pretty significant upgrades overall

170828 Date: 2017-08-28

Client API Changes:

  • client.GetCurrentGames.result.Games[i].GameServerState has been deprecated and replaced with GameServerStateEnum
    • GameServerState was serialized as an integer, which was an error.  The new field is a proper enum-string.

Other API Changes:

New PlayStream Events:

170814 Date: 2017-08-14

API Updates:

CSharpSdk Specific Updates:

  • SDK now includes a file called NewtonSoftJsonWrapper.cs which will let you swap out our included SimpleJson serializer with the NewtonSoft nuget package.
  • The file includes instructions on how to use it.

170807 Date: 2017-08-07

New API Methods:

Deprecated API Methods:

  • These API methods never worked as fully and completely as they were supposed to. In an effort to clean this up, we've started over, and built the new "DeletePlayer" API above, and these are deprecated:
  • admin.ResetUsers
  • admin.DeleteUsers

API Updates:

  • PlayerProfile (in Admin/Server/PlayStream) contains a new field "ContactEmailAddresses" which contains any email address info you may have saved about your players

PlayStream Events:

LumberyardSdk Changes:

  • UPGRADE WARNING: This SDK is no longer compatible with previous versions of Lumberyard.
  • This release of PlayFab LumberyardSdk no longer works with Lumberyard version 1.3. It has been upgraded and now targets Lumberyard 1.9. We will very likely have it targeting 1.10 in the near future, but again without backwards compatibility to 1.9 or earlier. See our blog for details.

Unreal Cpp SDK:

  • This SDK has been discontinued, and will no longer be maintained. We will produce an upgrade guide so that users can switch to the Unreal Blueprint SDK. Please see this blog for more details.
  • See our upgrade guide

Unreal SDK:

  • The PlayFab Unreal Blueprint SDK is now rebranded as the "Unreal SDK"
  • Unreal SDK has been updated to 4.16, with some minor fixes
  • We're also removing support for older versions of Unreal, which require older versions of Visual Studio
    • We now support 4.14 thru 4.16
    • Your project may continue working for older versions of Visual Studio, but we can only support and test Visual Studio 2015 and later
    • Read our blog for more info

Unity Editor Extensions:

  • Fixed issues downloading and uploading Cloud Script revisions
  • Fixed issues for users whose system language uses non-ASCII letters

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

Next Page