Releases: microsoft/xbox-live-unity-plugin
1804 QFE 3 Release
- Association Wizard has been updated to use new URLs.
Important
- Older versions of the Association Wizard will no longer be supported moving forward.
Known Issues
- Xbox Live Tab is not showing up in Unity. As a workaround, manually running AssociationWizard.exe under 'Assets > Xbox Live > Tools > Association Wizard' works.
XboxLiveSettingsclass has been renamed toXboxLiveContextSettingsand is temporarily non functional.
1804 QFE 2 Release
- Fixing a bug affecting PlayerAuthentication prefab when the user cancels their sign in.
Known Issues
XboxLiveSettingsclass has been renamed toXboxLiveContextSettingsand is temporarily non functional.
1804 QFE 1 Release
- Fixed issue causing failures in the Association Wizard
Known Issues
XboxLiveSettingsclass has been renamed toXboxLiveContextSettingsand is temporarily non functional.
1804 Release
Note:
We are looking forward to hearing your feedback on this new release and the new Authentication and Error Handling systems.
What's New?
-
Introducing SignInManager and PlayerAuthentication Prefab
-
We’ve heard your feedback about needing a simpler Authentication experience (both when using the out-of-the-box prefabs or writing your own).
-
PlayerAuthentication
- This prefab replaces the
UserProfileandXboxLiveUserprefabs in the previous releases. - Unlike
UserProfile, whether you’re working with single or multiple user scenarios, all you need is to drag in the prefab to the scene and assign a player number to the Xbox Live User handled by this instance. - Do you need to get the signed in Xbox Live User in the other prefabs? All you need to do is make a call to
SignInManagerusing the player number you assigned to the Xbox LiveUser inPlayerAuthentication. PlayerAuthenticationand other prefabs are a good example of how to useSignInManager.- By default, all prefabs use ‘1’ for the player number.
- This prefab replaces the
-
SignInManager handles the authentication of Xbox Live Users and allows other scripts and classes to listen to changes in the status of Xbox Live Users:
SignInPlayer (int playerNumber): Adds and signs in a new Xbox Live User and assigns it a player number.SignOutPlayer (int playerNumber): Removes and signs out the Xbox Live User with the assigned player number.SwitchUser(int playerNumber): Signs out the Xbox Live User with the assigned player number and adds and signs in a new Xbox Live User.GetPlayer(int playerNumber): Returns the Xbox Live User with the assigned player number if they exist.GetPlayer(string xuid): Returns the Xbox Live User with the assigned xuid if they exist.OnPlayerSignIn(int playerNumber, UnityAction<XboxLiveUser, XboxLiveAuthStatus, string> callback): Adds a callback method for when the Xbox Live User with player number signs in.OnPlayerSignOut(int playerNumber, UnityAction<XboxLiveUser, XboxLiveAuthStatus, string> callback): Adds a callback method for when the Xbox Live User with player number signs out.OnAnyPlayerSignIn(UnityAction<XboxLiveUser, XboxLiveAuthStatus, string> callback): Adds a callback method for when any Xbox Live User is signed inOnAnyPlayerSignOut(UnityAction<XboxLiveUser, XboxLiveAuthStatus, string> callback): Adds a callback method for when any Xbox Live User signs out.RemoveCallbackFromPlayer(int playerNumber, UnityAction<XboxLiveUser, XboxLiveAuthStatus, string> callback): Removes a callback from sign in and sign out if it exists.RemoveCallbackFromAllPlayers(UnityAction<XboxLiveUser, XboxLiveAuthStatus, string> callback): Removes a callback from sign in and sign out if it exists.GetCurrentPlayers(): Returns a list of the currently signed in Xbox Live Users and their assigned player numbers.GetCurrentNumberOfPlayers(): Returns the number of signed in Xbox Live Users.GetMaximumNumberOfPlayers(): Returns the maximum number of signed in Xbox Live Users supported on current platform.GetPlayerNumber(string xuid): Returns the player number assigned to the Xbox Live User with input xuid.GetXboxLiveContextForPlayer(int playerNumber): Returns the Xbox Live Context for the Xbox Live User with the assigned player number.
-
-
Introducing ExceptionManager
ExceptionManageris used by the Xbox Live User Plugin prefabs and scripts to announce and propagate exceptions occurring to listening scripts. When an exception occurs, the manager will notify listening scripts of theSourceComponent(GameSaveManager, SignInManager, etc),ExceptionType(SignInFailed, SignInSilentlyFailed, MinimumPlayerNumberReached, etc) and theExceptionso your scripts can react as needed.- For an example of how
ExceptionManagercan be used, please checkXboxLiveServicesSettingsprefab.OnException(ExceptionSource sourceComponent, UnityAction<XboxLiveException> callback): Adds a callback method for when the chosen sourceComponent throws an exception.OnAnyException(UnityAction<XboxLiveException> callback): Adds a callback method for when any Xbox Live script/prefab throws an exception.RemoveCallbackFromComponent(ExceptionSource sourceComponent, UnityAction<XboxLiveException> callback): Removes a callback for when the chosen sourceComponent throws an exception.RemoveCallbackFromAllComponents(UnityAction<XboxLiveException> callback): Removes a callback for when any Xbox Live script/prefab throws an exception.
-
An Updated Leaderboard Prefab featuring a new mode, Nearest Me, for showing leaderboard entries closest to the Xbox Live User playing.
-
Introducing Light and Dark Themes
- In this release, you can choose Dark and Light themes for each of
PlayerAuthenticationandLeaderboard. Stay tuned for the other prefabs.
- In this release, you can choose Dark and Light themes for each of
Breaking Changes
UserProfileandXboxLiveUserprefabs were replaced withPlayerAuthenticationandSignInManager.- For your exported UWP game to work on Xbox, it is now a requirement to add
<uap:SupportedUsers>multiple</uap:SupportedUsers>add Under the<Properties></Properties>section of the generatedpackage.appxmanifest.xmlfor both single and multi-user scenarios.
Known Issues
XboxLiveSettingsclass has been renamed toXboxLiveContextSettingsand is temporarily non functional.
1802 Preview Release
Whats new
- Added support for the IL2CPP scripting backend, alongside the pre-existing .NET scripting backend support.
- Microsoft.Xbox.Services.*.CSharp now is now dependent on same C++ code used by the XSAPI WinRT projections to ensure consistency.
- Aligned Microsoft.Xbox.Services.*.CSharp API surface with XSAPI WinRT projections. This alignment may cause breaking changes if you called into the DLL directly. See below for a complete list of (potentially) breaking changes.
Breaking changes
As mentioned above, the API surface of Microsoft.Xbox.Services.*.CSharp has changed to align with XSAPI WinRT. These changes only impact you if you called into the DLL directly or modified our scripts. Below is a complete list of changes:
Social
- SocialManager - changed signature of two methods;
AddLocalUserandCreateSocialUserGroupFromList, added three new methods;UpdateSocialUserGroup,DestroySocialUserGroup, andSetRichPresencePollingStatus - SocialEvent - added
EventArgsproperty, changed type ofUsersAffectedpropery, removedGroupAffectedproperty, removedExceptionpropery and addedErrorCodeandErrorMessageproperties in its place - SocialManagerExtraDetailLevel - Changed names of some enum values
- SocialManagerPresenceRecord - new class
- SocialManagerPresenceTitleRecord - removed
State,IsPrimaryPropery, andTypeproperties - SocialUserGroupLoadedEventArgs - new class
- SocialUserGroupType - removed value
Unknown - XboxSocialUser - changed type of
XboxUserIdproperty from ulong to string, renamedIsFollowingCallerproperty toIsFollowingUser, removed propertiesPresenceStateandPresenceDetailsand addedPresenceRecordproperty in their place, removed methodIsUserPlayingTitle(ulong titleId) - XboxSocialUserGroup - added
LocalUserproperty, renamedPresenceFiltertoPresenceFilterOfGroup, renamedRelationshipFiltertoRelationshipFilterOfGroup, addedUsersTrackedBySocialUserGroupproperty, removed methodGetUser(ulong userId)and addedGetUsersFromXboxUserIds(IList<string> xboxUserIds)in its place
Stats
- LeaderboardQuery - renamed
SkipResultsToRanktoSkipResultToRank - LeaderboardResult - removed
NextQuerypropery and addedGetNextQuery()method - LeaderboardRow - changed type of
Rankpropery - StatisticManager - renamed class from
StatsManagertoStatisticManager, changed signature ofDoWorkmethod, renamedSetStatAsNumbermethod toSetStatisticNumberData, renamedSetStatAsIntegermethod toSetStatisticIntegerData, renamedSetStatAsStringtoSetStatisticStringData, changed name and signature ofGetStat()method toGetStatistic(), changed name and signature ofGetStatNames()method toGetStatisticNames(), changed name ofDeleteStat()toDeleteStatistic(), changed signature ofGetLeaderboardmethod, addedGetSocialLeaderboardMethod` - LeaderboardResultEventArgs - new class
- StatisticDataType - renamed class from
StatValueTypetoStatisticDataType, addedUndefinedenum value - StatisticEvent - renamed class from
StatEventtoStatisticEvent - StatisticEventArgs - renamed class from
StatEventArgstoStatisticEventArgs - StatisticEventType - renamed enum from
StatEventTypetoStatisticEventType, renamedStatUpdateCompleteenum value toStatisticUpdateComplete - StatisticValue - renamed class from
StatValuetoStatisticValue, removedValueproperty, renamedTypeproperty toDataType, removedAsNumber()method and addedAsNumberproperty, removedAsInteger()method and addedAsIntegerproperty, removedAsString()method and addedAsStringproperty
Title Storage
- TitleStorageQuota - added
XboxUserIdandServiceConfigurationIdproperties
Privacy
- PermissionCheckResult - renamed
Reasonsproperty toDenyReasons
User
- SignInCompletedEventArgs - changed type of
Userproperty - SignOutCompletedEventArgs - changed type of
Userproperty - GetTokenAndSignatureResult - renamed class from
TokenAndSignatureResulttoGetTokenAndSignatureResult, removedReservedandTokenRequestResultStatusproperties
App Config
- XboxLiveAppConfiguration - renamed
InstancetoSingletonInstance, renamedPrimaryServiceConfigIdtoServiceConfigurationId, removed thePublisherID,PublisherDisplayName,PackageIdentityName,DisplayName,AppId,ProductFamilyName,EnvironmentPrefix,UseFirstPartyToken, andXboxLiveCreatorsTitleproperties, removedGetEndPointForServicemethod
Deprecated services
- ProfileService - deprecated service; functionality can be achieved using social manager
- LeaderboardService - deprecated service; functionality can be achieved using stats manager
Known Issues
XboxLiveSettingsclass has been renamed toXboxLiveContextSettingsand is temporarily non functional.
1711 Release
Whats new
- Added support for .NET 4.6 for UWP. The default import settings are for .NET 3.5 and will need to be changed if you wish to use .NET 4.6. Further details can be found here (issue #94).
- Added signout support to the user profile prefab (issue #119).
- Make the Xbox Live Association wizard more robust.
- Fix issue #140
- Fix issue #147
Known issues:
- When the "API Compatibility level" setting is set to .NET 4.6, you may see build errors with Visual Studio Tools for Unity (VSTU) in Visual Studio. Despite the VSTU issues surfaced in Visual Studio, you still should be able to run your project in the Unity editor as well as build with .NET 4.6. The VSTU team is aware of this issue and is working on a fix.
1707 QFE 4 Release
- Fixed issue causing sign-in failures on preview console OS. The console preview OS is also getting patched in a few days. This is useful if you want fix before the patched preview OS rolls out to users.
1707 QFE 3 Release
What's New
- Fixed #111 - StatsManager causing per frame memory allocations
1707 QFE 2 Release
What's New
- Fixed #103 - fixed a a bug impacting enabling Xbox Live in Association Wizard
1707 QFE 1 Release
What's New
- A fix for a bug in V1707 that was affecting Social and Stat Panel Prefabs that resulted in them not working properly when switching to a different scene and returning back.