@MSFT-Heba MSFT-Heba released this Sep 28, 2018

Assets 3
  • Fixing a bug affecting PlayerAuthentication prefab when the user cancels their sign in.

Known Issues

  • XboxLiveSettings class has been renamed to XboxLiveContextSettings and is temporarily non functional.

@MSFT-Heba MSFT-Heba released this Jul 30, 2018 · 1 commit to master since this release

Assets 3
  • Fixed issue causing failures in the Association Wizard

Known Issues

  • XboxLiveSettings class has been renamed to XboxLiveContextSettings and is temporarily non functional.

@MSFT-Heba MSFT-Heba released this May 2, 2018 · 5 commits to master since this release

Assets 3

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 UserProfile and XboxLiveUser prefabs 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 SignInManager using the player number you assigned to the Xbox LiveUser in PlayerAuthentication.
      • PlayerAuthentication and other prefabs are a good example of how to use SignInManager.
      • By default, all prefabs use ‘1’ for the player number.
    • 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 in
      • OnAnyPlayerSignOut(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

    • ExceptionManager is 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 the SourceComponent (GameSaveManager, SignInManager, etc), ExceptionType (SignInFailed, SignInSilentlyFailed, MinimumPlayerNumberReached, etc) and the Exception so your scripts can react as needed.
    • For an example of how ExceptionManager can be used, please check XboxLiveServicesSettings prefab.
      • 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 PlayerAuthentication and Leaderboard. Stay tuned for the other prefabs.

Breaking Changes

  • UserProfile and XboxLiveUser prefabs were replaced with PlayerAuthentication and SignInManager.
  • 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 generated package.appxmanifest.xml for both single and multi-user scenarios.

Known Issues

  • XboxLiveSettings class has been renamed to XboxLiveContextSettings and is temporarily non functional.
Pre-release
Pre-release

@jplafonta jplafonta released this Jan 2, 2018 · 24 commits to master since this release

Assets 3

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; AddLocalUser and CreateSocialUserGroupFromList, added three new methods; UpdateSocialUserGroup, DestroySocialUserGroup, and SetRichPresencePollingStatus
  • SocialEvent - added EventArgs property, changed type of UsersAffected propery, removed GroupAffected property, removed Exception propery and added ErrorCode and ErrorMessage properties in its place
  • SocialManagerExtraDetailLevel - Changed names of some enum values
  • SocialManagerPresenceRecord - new class
  • SocialManagerPresenceTitleRecord - removed State, IsPrimaryPropery, and Type properties
  • SocialUserGroupLoadedEventArgs - new class
  • SocialUserGroupType - removed value Unknown
  • XboxSocialUser - changed type of XboxUserId property from ulong to string, renamed IsFollowingCaller property to IsFollowingUser, removed properties PresenceState and PresenceDetails and added PresenceRecord property in their place, removed method IsUserPlayingTitle(ulong titleId)
  • XboxSocialUserGroup - added LocalUser property, renamed PresenceFilter to PresenceFilterOfGroup, renamed RelationshipFilter to RelationshipFilterOfGroup, added UsersTrackedBySocialUserGroup property, removed method GetUser(ulong userId) and added GetUsersFromXboxUserIds(IList<string> xboxUserIds) in its place

Stats

  • LeaderboardQuery - renamed SkipResultsToRank to SkipResultToRank
  • LeaderboardResult - removed NextQuery propery and added GetNextQuery() method
  • LeaderboardRow - changed type of Rank propery
  • StatisticManager - renamed class from StatsManager to StatisticManager, changed signature of DoWork method, renamed SetStatAsNumber method to SetStatisticNumberData, renamed SetStatAsInteger method to SetStatisticIntegerData, renamed SetStatAsString to SetStatisticStringData, changed name and signature of GetStat() method to GetStatistic(), changed name and signature of GetStatNames() method to GetStatisticNames(), changed name of DeleteStat()toDeleteStatistic(), changed signature of GetLeaderboardmethod, addedGetSocialLeaderboardMethod`
  • LeaderboardResultEventArgs - new class
  • StatisticDataType - renamed class from StatValueType to StatisticDataType, added Undefined enum value
  • StatisticEvent - renamed class from StatEvent to StatisticEvent
  • StatisticEventArgs - renamed class from StatEventArgs to StatisticEventArgs
  • StatisticEventType - renamed enum from StatEventType to StatisticEventType, renamed StatUpdateComplete enum value to StatisticUpdateComplete
  • StatisticValue - renamed class from StatValue to StatisticValue, removed Value property, renamed Type property to DataType, removed AsNumber() method and added AsNumber property, removed AsInteger() method and added AsInteger property, removed AsString() method and added AsString property

Title Storage

  • TitleStorageQuota - added XboxUserId and ServiceConfigurationId properties

Privacy

  • PermissionCheckResult - renamed Reasons property to DenyReasons

User

  • SignInCompletedEventArgs - changed type of User property
  • SignOutCompletedEventArgs - changed type of User property
  • GetTokenAndSignatureResult - renamed class from TokenAndSignatureResult to GetTokenAndSignatureResult, removed Reserved and TokenRequestResultStatus properties

App Config

  • XboxLiveAppConfiguration - renamed Instance to SingletonInstance, renamed PrimaryServiceConfigId to ServiceConfigurationId, removed the PublisherID, PublisherDisplayName, PackageIdentityName, DisplayName, AppId, ProductFamilyName, EnvironmentPrefix, UseFirstPartyToken, and XboxLiveCreatorsTitle properties, removed GetEndPointForService method

Deprecated services

  • ProfileService - deprecated service; functionality can be achieved using social manager
  • LeaderboardService - deprecated service; functionality can be achieved using stats manager

Known Issues

  • XboxLiveSettings class has been renamed to XboxLiveContextSettings and is temporarily non functional.

@jplafonta jplafonta released this Dec 12, 2017

Assets 3

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.

@jasonsandlin jasonsandlin released this Sep 25, 2017 · 75 commits to master since this release

Assets 3
  • 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.

@jasonsandlin jasonsandlin released this Aug 24, 2017 · 75 commits to master since this release

Assets 3

What's New

  • Fixed #111 - StatsManager causing per frame memory allocations

@MSFT-Heba MSFT-Heba released this Aug 23, 2017 · 75 commits to master since this release

Assets 3

What's New

  • Fixed #103 - fixed a a bug impacting enabling Xbox Live in Association Wizard

@MSFT-Heba MSFT-Heba released this Jul 20, 2017 · 75 commits to master since this release

Assets 3

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.

@jasonsandlin jasonsandlin released this Jul 15, 2017 · 75 commits to master since this release

Assets 3

What's New

  • Added multi-user sign in support for all of the existing Prefabs. There’s a new scene example that shows off the new functionality.
  • Added controller mapping support to all of the Prefabs.
  • Single-user games will automatically sign in on Awake() when using User Profile.
  • Added a new sample for using GameSaveUI.
  • The Xbox Live Service will no longer throw exceptions. You can now use the new XboxLiveServices Prefab to toggle the debug logs thrown by the Xbox Live service.
  • Updated the inspector window for the Leaderboard prefab to make it easier to configure.
  • Stats Prefab now looks for the Stat ID instead of the Stat Name