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.
API Documentation Update:
- Error codes updated on many API methods
CSharpSDK and UnitySDK Specific Changes:
- Adding a PlayFabException class, so that it's easier to catch PlayFab specific exceptions.
NodeSDK Specific Changes:
- SDK Breaking Change: Require syntax for NodeSDK NPM package changed
- Major upgrade focused on NPM package
- Formerly require statements did not follow the NPM convention, requiring multiple nonstandard require statements
- Now it requires a single require statement, and follows NPM conventions
- Major version number changed, this release is now 2.0
- 1.x to 2.x Upgrade Guide
Cloud Script Example:
- Added TypeScript definitions for the API Error exceptions
LuaSdk/Defold/Corona Specific Updates:
- Bugfix update
- Some platforms were producing a malformed URL which could not be resolved
UnitySDK Specific Updates:
- Bugfix update
- In order to avoid an issue with response headers, compression should be disabled for all device builds. This update makes that possible
- Alternately, switching to Web Request will also avoid the issue
- A new HTTP option has been added for Unity versions > 2017
Unreal SDK Changes (Cpp and Bp):
- Updated both SDKs to Unreal 4.18.1
- Older versions will still work, but require un-commenting #defines in the _.build.cs files
- An inventory feature allowing "Limited Edition" items is now released from beta
- This lets you define that only a fixed number of a particular itemId will be available in your game
- A virtual currency property has been removed from API methods that use "ProfileModel", as that information was never actually provided or correct. It will return... someday.
New API Methods:
- Used for XSolla specific payment processing
- This API method is not meant to be called directly. It is currently a built-in feature for Unity and Lumberyard SDKs. It can be disabled with the API Policy (https://api.playfab.com/docs/tutorials/landing-enterprise/api-policy). Additionally, we will be adding another option soon to disable in the title settings page in game manager
Updated API Method Error Codes:
SDK Specific Updates:
- UnitySDK: We are now building all published unitypackage files with Unity 2017.2.0f3
- For testing, we internally updated to the latest for each major.minor version, from Unity 4.7.2f1 to 2017.1.2f1
- Unity Example Test Game Server: Fix applied to HttpHelper to fix SSL validation on SignalR requests
- ActionScriptSDK: AirSdk in example updated to v27
- CocosSDK: We are still targeting 3.15.1, despite 3.16 Cocos release (stay tuned)
- SdkTestingCloudScript and NodeSDK: Updated the example VS projects to support VS/msbuild 2017
- WindowsSDK: This will be the last build of the nuget package targeting Visual Studio 2013:
New API Methods:
Updated PlayStream Event:
- sent_email gains new fields: Body, and Subject
- MINOR SDK BREAKING CHANGE: ForgetClientCredentials() renamed to ForgetAllCredentials()
- This is part of a "coming soon" feature, which will be announced when complete
New PlayFab Feature:
- Send emails to your players, using templates
New API methods:
- New list of error codes relevant to every PlayFab API call
- Updated Error Codes for: client.LoginWithGoogleAccount, client.UpdatePlayerStatistics, server.ConsumeItem
New PlayStream Events:
Unreal Specific Update:
- Our auto builder failed to publish the Unreal SDKs for build number 171016 and 171026. The issue with our auto-builder has been resolved, and version 171026 has been published after-the-fact, and releases will resume normally
Unity Specific Changes:
- MINOR BREAKING CHANGE: ForgetCientCredentials has been renamed to ForgetAllCredentials
- This is part of a new feature that will be coming soon. ForgetCientCredentials will be renamed to ForgetAllCredentials in all SDKs over the next few releases.
API Documentation Changes:
- Updating error codes for API methods
- Many error codes that are universal to all API methods have been removed from the per-API-method list. A new page will be made which describes universal error codes
- Removed Universal Codes: InvalidParams, OverLimit, DataUpdateRateExceeded, AccountBanned
- These errors (and others, to be published in a separate document) can be returned from any API method and should be handled appropriately
- New error codes have been added to several dozen API methods, and a few false codes removed. The error code lists should be much more accurate for method-specific error returns. This is still an ongoing process, so there will be more updates
- Several API methods involving virtual currency can decrease the balance below zero. These have been labeled appropriately
- New API Methods:
- Hosted game servers support both IPv4 and IPv6
- Custom game servers now support IPV6. All newly started game server instances are assigned both IPV4 and IPV6 addresses, which are displayed in the Game Manager "Servers" tab and returned by the matchmaking APIs. Clients can connect to either the IPV4 or IPV6 address for the assigned server.
- All API methods that return server addresses now return both options: client.StartGame.StartGameResult
Game Manager Changes:
- You can now delete titles using the new Admin/DeleteTitle API or on the Game Manager studios page:
- Added a parameter to server.SendPushNotification.SendPushNotificationRequest.PushNotificationPackage, for iOS Badge
- Clarified the device-specific nature of various parameters
New PlayStream Events:
LuaSdk Specific Changes:
- Our Lua publish pipeline has been fixed, and LuaSdk is being updated properly again.
UnitySdk Specific Changes:
- A regression in Unity has been handled on our side, and should no longer affect PlayFab customers.
UnrealCppSdk Specific Changes:
- One of our customers has made an add-on plugin to our SDK which integrates the Unreal OnlineSubsystem & the PlayFab SDK
- You can check it out here.
Unicorn Battle Example:
- Deleted PlayFab custom Push Plugin & Updated to FCM push messages
- 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:
- 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.
- 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.
- 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:
- 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.
- 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