171204
Date: December 4, 2017Unreal SDK changes (Cpp and Bp)
- Updated both SDKs to Unreal 4.18.1.
- Older versions still work, but require uncommenting
#definesin the _.build.cs files.
171127
Date: November 27, 2017API changes
- An inventory feature allowing “Limited Edition” items is now released from beta.
-
This feature lets you define that only a fixed number of a particular
itemIdis available in your game. - Removed a virtual currency property from API methods that use “ProfileModel”, as that information is never provided or correct. It returns… someday.
New API methods
- admin.CheckLimitedEditionItemAvailability
- admin.IncrementLimitedEditionItemAvailability
- client.GetPaymentToken
- Used for XSolla specific payment processing
- client.ReportDeviceInfo
- This API method isn’t meant to be called directly. It’s currently a built-in feature for Unity and Lumberyard SDKs. It can be disabled with the API Policy. Additionally, we’re adding another option soon to disable in the title settings page in Game Manager.
Updated API method error codes
- client.AddOrUpdateContactEmail
- client.GetLeaderboardAroundPlayer
- client.LoginWithAndroidDeviceID
- client.LoginWithCustomID
- client.LoginWithIOSDeviceID
SDK specific updates
- UnitySdk: We’re now building all published unity package 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
HttpHelperto fix SSL validation onSignalRrequests. - ActionScriptSDK: AirSdk in example updated to v27.
- Cocos2d-xSDK: We’re still targeting 3.15.1, despite the 3.16 Cocos release (stay tuned).
- SdkTestingCloudScript and NodeSDK: Updated the example VS projects to support VS/msbuild 2017.
- WindowsSDK: This is the last build of the NuGet package targeting Visual Studio 2013:
- WindowsSdk VS 2013 NuGet Package
- We’re updating our automated build machines, and we aren’t installing VS 2013 on the new ones.
- The newer NuGet package will continue to work on VS 2015 and 2017.
171106
Date: November 6, 2017New API methods
- admin.GetPlayerProfile
- server.SendEmailFromTemplate
Updated PlayStream event
- sent_email gains new fields: Body, and Subject.
All SDKs
- MINOR SDK BREAKING CHANGE:
ForgetClientCredentials()renamed toForgetAllCredentials(). - This is part of a “coming soon” feature, which is announced when complete.
171102
Date: November 2, 2017New PlayFab feature
- Send emails to your players, using templates.
New API methods
- admin.ResetPassword
- admin.GetPlayerIdFromAuthToken
- client.AddOrUpdateContactEmail
- client.RemoveContactEmail
- server.SendCustomAccountRecoveryEmail
Documentation update
- 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. We resolved the issue with our auto-builder, published version 171026 after the fact, and releases resumed normally
Unity specific changes
- MINOR BREAKING CHANGE: Renamed
ForgetClientCredentialstoForgetAllCredentials. - This is part of a new feature coming soon. We’re renaming
ForgetClientCredentialstoForgetAllCredentialsin all SDKs over the next few releases.
171026
Date: October 26, 2017API documentation changes
- Updating error codes for API methods.
- Removed many error codes that are universal to all API methods from the per-API-method list. A new page 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.
- Added new error codes to several dozen API methods, and removed a few false codes. The error code lists should be much more accurate for method-specific error returns. This is still an ongoing process, so there are more updates.
- Several API methods involving virtual currency can decrease the balance to less than zero. We labeled these appropriately.
API changes
- New API methods:
- admin.DeleteTitle
- 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, as shown in the following image.

171016
Date: October 16, 2017API changes
- Added a parameter to server.SendPushNotification.SendPushNotificationRequest.PushNotificationPackage, for iOS Badge.
- Clarified the device-specific nature of various parameters.
New PlayStream events
JavaScriptSDK specific changes
- JavaScriptSDK
- Our SDK now integrates with Phaser.io.
LuaSDK specific changes
- LuaSDK
- Fixed our Lua publish pipeline, and LuaSDK is being updated properly again.
UnitySdk specific changes
- UnitySdk
- We handled a regression in Unity on our side, and it should no longer affect PlayFab customers.
One of our customers has made an add-on plugin to our SDK, which integrates the Unreal OnlineSubsystem & the PlayFab SDKYou can check it out here.
Unicorn Battle example
- Deleted PlayFab custom Push Plugin & Updated to FCM push messages.
170925
Date: September 5, 2017API Changes
- Removed a handful of beta APIs that were never made public. This shouldn’t affect any current customers or live titles.
- We bypassed the default language-level header checks in our CloudScript engine. This means several CloudScript http.request() headers that were formerly being rejected should now work.
Global Push Notification update
- 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
- JavaScriptSDK
- Added a handful of mini-features that exist in other SDKs 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 resets 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
customDatafor an UpdatePlayerStatistics call, and set the updated statistics on that player after the remote call has succeeded.
- 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
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.
- The request for your API calls are now relayed to the result, which can provide context for the result. For example, when you call
UnitySDK specific changes
- UnitySDK
- New experimental feature: This release of PlayFab UnitySDK now optionally lets you see device information for your players. Example information you can see is: memory, resolution, user-agent, device-type, OS version, etc.
Updated to Unreal 4.17Split apart into three separate plugins, each with different functionalitySignificant upgrades overall
170828
Date: August 28, 2017Client API changes
client.[GetCurrentGames].[result].Games[i].GameServerState is deprecated, and replaced with [GameServerStateEnum].- GameServerState was serialized as an integer, which was an error. The new field is a proper enum-string.(UPDATED: This is deprecated. See Servers)
Other API changes
- Deprecated the following API methods on Admin and Server APIs.
- GetActionsOnPlayersInSegmentTaskInstance - This has accidentally been labeled as deprecated, but that was an error that is reverted.
- SendPushNotification can now specify TargetPlatforms
- Added some clarifications for which parameters work on which platforms for SendPushNotificationRequest (Using parameters not supported for a target platform isn’t recommended).
- Added some info about Shared Group restrictions to the Shared Group documentation (specifically that they can’t be used for anything like Guilds).
- Player Profiles can now store a player contact email address.
New PlayStream events
170814
Date: August 14, 2017API updates
- server.GetFriendsList and client.GetFriendsList API methods now return a PlayerProfile for each of your friends.
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: August 7, 2017New API methods
- admin.DeletePlayer
Deprecated API methods
- These API methods never worked as fully and completely as they were supposed to. To clean this up, we’ve started over, and built the new DeletePlayer API in the preceding section, and these are deprecated:
admin.ResetUsersadmin.DeleteUsers
API updates
PlayerProfile(in Admin/Server/PlayStream) contains a new fieldContactEmailAddresses, which contains any email address info you may have saved about your players.
PlayStream events
- New Event: auth_token_validated
- New Event: player_removed_title
- New Event: player_updated_contact_email
- New Event: player_verified_contact_email
- New Event: sent_email (Still in beta, but events are already public)
- New Field in Event: player_realmoney_purchase.TransactionId
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’s upgraded and now targets Lumberyard 1.9. We’ll likely have it targeting 1.10 soon, but again without backwards compatibility to 1.9 or earlier. See our blog for details.
The PlayFab UnrealBlueprintSdk is now rebranded as the “Unreal SDK”Unreal SDK is updated to 4.16, with some minor fixesWe’re also removing support for older versions of Unreal, which require older versions of Visual StudioWe now support 4.14 through 4.16Your project may continue working for older versions of Visual Studio, but we can only support and test Visual Studio 2015 and laterRead our blog for more info
Unity Editor Extensions
- Fixed issues downloading and uploading CloudScript revisions.
- Fixed issues for users whose system language uses non-ASCII letters.
170710
Date: July 10, 2017API changes
- Released an Enterprise feature for double-encrypted logins from beta, and it’s now live.
- New API methods:
- admin.CreatePlayerSharedSecret
- admin.DeletePlayerSharedSecret
- admin.GetPlayerSharedSecrets
- admin.SetPlayerSecret
- admin.UpdatePlayerSharedSecret
- client.GetTitlePublicKey
- client.SetPlayerSecret
- server.SetPlayerSecret
- server.RegisterGameRequest has a new property: LobbyId, which will let you attempt to re-register an existing game
- server.SendPushNotificationRequest now accepts a new property: Package, which defines all of the advanced Android push capabilities.
SDK breaking change
- admin.SetupPushNotificationRequest.Platform is now defined as an enum instead of a string. This isn’t a breaking change to the API (as enums are transmitted as strings), but it requires 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, and this field was only meant to be useful in relevant SDKs (Specifically Unreal). If you’re using this field, just remove it, and set the adjacent Version field to null when appropriate.
Unity EditorExtensions update
- Updated the flags panel.
ENABLE/DISABLE_IDFAflag can be toggled now.- Displays non-PlayFab flags, and lets you 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.
- Cocos2d-xSDK 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 through 3.15, but the example might not work with older versions of Cocos SDK unchanged, and should work with most of the latest 3.X Cocos versions.
170612
Date: June 12, 2017Documentation changes
- Many small revisions to dozens of API methods for clarity
- Merged several documentation-groupings, each of which only contained a single API method, into a single group called “Platform Specific Methods”.
- Renamed the “Matchmaking APIs” group to “Matchmaking” to be consistent with other groups.
- Many length-restricted string fields now describe the allowed ranges.
Changes in all SDKs
- Updated and fixed lots of broken links in all SDK READMEs.
UnitySDK specific changes
170530
Date: May 30, 2017API changes
- BREAKING CHANGE: In server.ReportPlayer, we immediately removed the
titleIdfield in ReportPlayerServerRequest (not merely deprecated). All reports now go to their own title, and can’t 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, we deprecated result.Updated in both cases. It’s always true, and the API Call returns an error if the player is over the report limit. We changed this error condition to 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
- client.GetPlayerProfile and server.GetPlayerProfile
- Returns information previously only available to leaderboard results.
Documentation
- Small updates, several examples no longer contain information about deprecated fields.
- ExecuteCloudScript return and log size limits defined.
New PlayStream events
- gameserverhost_started
- gameserverhost_stopped
- player_set_profile_property
UnitySDK specific changes
- UnitySDK
- Overhauled our Android Push plugin.
- Blog Post
- New/Updated Guide
CSharpSDK specific changes
- CSharpSDK
- It’s now possible to specify extra headers that are injected into an API request.
- This is an Enterprise-Only feature, specifically for double-encrypted login requests.
170508
Date: May 8, 2017API changes
- BREAKING CHANGE:
- ExecuteCloudScript doesn’t serialize the return value of your call if it’s too large.
- ExecuteCloudScript doesn’t serialize the logs for your call if they’re too large.
- Under either of these conditions, the call still returns 200/successful, but the FunctionResult and/or Logs properties are null.
PlayStream event changes
- player_vc_item_purchased and character_vc_item_purchased now contain a StoreId parameter indicating which store was used to make a purchase.
- New event:
CSharpSDK updates
- CSharpSDK
- Deleted some unused source files in CSharpSDK.
- This shouldn’t affect any existing projects, or the NuGet package, as those files weren’t referenced by the Visual Studio Solution.
Postman collection update
- Several common request parameters now use environment variables.
- Specifically, TitleId={{TitleId}}, PlayFabId={{PlayFabId}}, CharacterId={{CharacterId}}, and CatalogVersion={{PrimaryCatalogName}}
170424
Date: April 24, 2017SDK hotfix release
- JavaSDK Updates:
- We now publish Jar files for the SDK, one for code, and one for Java docs, which you can import into your Java project instead of copy-pasting code. Thanks to Will Iverson for helping us improve our JavaSDK usability
- UnityEditorExtensions updates:
- We’ve resolved some install-time exceptions. Specifically it’s 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:(UPDATED : This SDK is deprecated. For the new unreal SDK, refer to UnrealMarketplaceSDK)The titleId is now available from the Plugin interface
170411
Date: April 11, 2017API changes
- New Enterprise Feature: More login encryption
- You can use 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 isn’t suggested (yet - Coming Soon!)
New PlayStream events
UnitySDK specific changes
- It’s now possible to specify extra headers that are injected into an API request (This is required for the encrypted login calls in the preceding section).
UnityEditorExtensions specific changes
- Fixed a compile issue with Unity 5.6.
170406
Date: April 6, 2017Hot 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: April 3, 2017API 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: The Items field of GetPurchaseResult is deprecated: This portion of the result is often incorrect or incomplete. It’s eventually replaced with a fully functional parameter.
New PlayStream events
player_display_name_filtered
UnrealCppSdk: An issue where PlayFab settings such as TitleId were lost when publishing a build is fixed. Both SDKs are tested and verified working with Unreal 4.15
JavaSDK specific changes
- JavaSDK
- Restructured JavaSDK folder structure and testing.
- 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.
- Converted our internal automated testing to Maven command line.
- Our SDK isn’t available on Maven Central, as that effort has faltered. There’s no ETA for completion at this time.
UnitySDK specific changes
- UnitySDK
- 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 through 5.6.
- Fixed a compile issue with
UnityEditorExtensionsin Unity 5.6.
170223
Date: February 22, 2017API 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 that are set to use Resetting Leaderboards.
- Leaderboard entries now contain the PlayerProfile, which can be used to display more detailed leaderboards without extra 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: January 29, 2017Breaking changes
- Changed the folder structure for JavaScriptSDK and NodeSDK with today’s major release. This may result in some broken connections for your project when you upgrade. (File names and file contents didn’t change. New TypeScript files now exist, which didn’t exist before.)
API changes
- Added clarifying documentation to CDN APIs. Specifically mentioning that the CDN isn’t part of our free service.
- Google login fixes (Blog Post Pending).
New PlayStream events
developer_logged_indeveloper_registered- studio_created
- studio_user_added
- studio_user_invited
- studio_user_removed
JavaScriptSDK specific changes
- JavaScriptSDK
- Release day for a major upgrade! Version number updated to 1.0.
- TypeScript integration!
- Repository cleanup: Separating the SDK files from the example files.
- Converted our example project to TypeScript.
- See our blog!
NodeSDK specific changes
- NodeSDK
- Release day for a major upgrade! Version number updated to 1.0
- TypeScript integration!
- Converted our example project to TypeScript
- See our blog!
CloudScript examples
- Release of a new example repository.
- TypeScript integration!
- See our blog!
- And new repository!
- We’re expanding this repository over time.
UnitySDK specific changes
- UnitySDK
- Fixed an issue where JsonWrapper doesn’t work as expected in all cases.
- See our forum post for details: https://community.playfab.com/questions/7599/cloudscript-getplayercombinedinfo-little-problem.html
- Removed all of the following deprecated wrapper classes in favor of
PlayFab.Json.JsonWrapper:PlayFab.Json.JsonConvert(UsePlayFab.Json.JsonWrapper)PlayFab.Json.SimpleJson(UsePlayFab.Json.JsonWrapperorPlayFab.Json.PlayFabSimpleJson)PlayFab.SimpleJson(UsePlayFab.Json.JsonWrapperorPlayFab.Json.PlayFabSimpleJson)
- Repeating a note from 160627,
UnityEngine.SimpleJsonis an empty namespace in theUnityEngine.dll, and that makes it necessary for us to not use that identifier.
Unity Editor Extensions
- Resolved an issue where the PlayFab panel will re-load infinitely if your account can’t view any studios.
- Resolved an issue where
PlayFabSharedSettings(Scriptable Object) doesn’t save properly if you pick your title from the PlayFab panel.
170109
Date: January 8, 2017Breaking changes
- Removed libs in older versions of WindowsSDK, and they must be re-created in Visual Studio. Those libs never worked in vs2015, so it’s highly suggested you just update to the latest WindowsSDK, published last week.
API changes
- Fixed typos in documentation.
All SDKs
SDKGenerator specific changes
- SDKGenerator
- The ActionScriptSDK build script was inconsistent from the other SDKs. We simplified the SDKGenerator commands that build ActionScriptSDK to match other SDKs. (No changes to the SDK itself.)
UnitySdk specific changes
- UnitySdk
- Some public elements in PlayFabSettings have gained Obsolete tags:
PlayFabSettings.PlayFabSharedSettingsPlayFabSettings.DefaultPlayFabApiUrlPlayFabSettings.GetSharedSettingsObject()PlayFabSettings.ProductionEnvironmentUrl
- Some public elements in PlayFabSettings have gained Obsolete tags:
WindowsSDK specific changes
- BFG’d the GitHub repo, and removed all large files from the history. Delete your clone or fork, and re-create it so that your history is clean.
170102
Date: January 1, 2017API changes
Client/GetUserCombinedInfotransitioned to fully obsolete, and we removed it from the SDK and documentation.
Cocos2d-xSDK specific changes
- Cocos2d-xSDK
- Fixed a crash when a PlayFab API returns an invalid response.
- Resolved some compiler warnings.
- Added unit tests for lambda callback functions in our test example project.
UnitySDK specific changes
- UnitySDK
- We’ve internally updated to Unity 5.5, and our .unitypackage files are built using this version
- As always, we continue to support all Unity versions 4.7 and higher.
-
Added static constructors to many static classes, to solidify the initialization sequence in Mono2x compiler. This should resolve some of the
PlayFabSharedSettingsissues we’ve been seeing in iOS. - IDFA/ADID will now work properly for Unity 5.6 beta.
- KNOWN ISSUE: Unity 5.6 beta builds don’t work on Windows Server (OS), which includes PlayFab game-server hosting. Contact Unity if this affects you.
WindowsSDK specific changes
- Release day for a major upgrade!
- Blog Post: Windows SDK Update Released
- Upgrade Guide: PlayFab WindowsSdk v0.x -> v1.x Upgrade guide
