It looks like it is working better. . .but now I’m getting error: 0x80860003
Unfortunately pressing the error code directs me to a page that reports: Sorry! No Support articles were found for “0x80860003”.
Additionally, Engine\Plugins\Online\XboxOne\OnlineSubsystemLive\ThirdParty\XSAPI\Microsoft.Xbox.Live.SDK.WinRT.UWP.2016.12.20170107.01\build
ative\include\xsapi\errors.h doesn’t have it either.
I noticed that in the Dev Center Portal Xbox Live Settings dialog, it listed my game name differently than the Project Name that is contained in the UE4 Project - Description page. Should these two match? Most likely yes, and therefore changed the portal name to match the UE4 name. Is this the right thing to do?
The Trouble Shooting Guide states that “the application is either disabled or incorrectly configured”.
It states try deleting the PFX file.
Double check that the AppXManifest is set to the same application identity as Dev Center.
We’re not using PFX, correct? So one is out.
The manifest Identity has the correct version, the Publisher=“CN=99999RvBGames”, Name=“99999RvBGames.LongshotHero”
The Properties has
<DisplayName>ms-resource : ProjectName</DisplayName>
<PublisherDisplayName>ms-resource : CompanyName</PublisherDisplayName>
<Description>ms-resource : Description</Description>
What I don’t see is my SCID, nor the TitleId.
Should these be present?
Did I miss a setting?
[EDIT]
I realize now that the Company Distinguished Name is from the Dev Center portal.
I was wondering why I never hit the Settings link. I thought it was tied to some online settings for my account, not the Xbox Live Settings, as shown when pressed.
It is essential that the Name and Publisher attributes of the Identity element in the manifest exactly match what’s listed on Dev Center. An id based on these is submitted to Xbox Live during sign-in, and used to look up the Xbox Live settings (title id and scid) that the service then verifies your client against. The error you originally posted is commonly seen when that look up fails, hence my suggestion to verify your package identity against Dev Center. It sounds like there was actually a problem there, and that now the error has changed? Have you tried with the newer SDK since resolving the error? I still think that may be relevant since the SDK referenced by GitHub Head actually predates the Xbox Live Creators Program.
Title id and scid don’t feature in the manifest. They come in exclusively via the xboxservices.config file, and it sounds like that has the proper content.
@ - That is odd. Now I’m back to the 0x87DD0005 error. This shouldn’t be that hard.
I changed back my CDN to be the CN=<storeID> and I get the 0x87DD0005 error. Setting my CDN to my company name CN=<companyName> gives me 0x80860003 error. Neither makes sense. Neither are helpful. And neither have a straight-forward solution.
Can you confirm for the Settings window on Dev Center what I should put for the Xbox Live name of your game? Should it match what is in the ProjectName setting?
Okay, that is a fair point about trying to the newer API with the newer error. But, and I partially can’t believe this myself, when I violated the rules that you stated, that is, use CDN=CN=RvBGames, I got the newer error, which is an incorrect setup any way. Right?
UATHelper: Packaging (UWP (x64-64bit)): UnrealBuildTool: WARNING: This build uses the Store Simulator for license checks. It will run only in Developer Mode and is not appropriate for sideloading or Store submission.
Given the nature of the message, it implies it is good for Developer Mode but is it also good for Sandbox Store environments? Does it interfere with what we are trying to do?
The ‘Xbox Live name of your game’ isn’t relevant at this point in the flow. It’s a user-facing string, used where the name of the app is needed in Xbox Live related popups (e.g. if your sign in were succeeding the next thing you’d see would be a popup requesting permission for [Xbox Live name of your game] to access your Xbox Live account). The value you enter in UE for ProjectName is what matters, since it goes directly into the Name attribute of the Identity element. This must match the value shown for Package/Identity/Name in Dev Center (your <99999>RvBGames.LongshotHero). Same deal for UE’s Company Distinguished Name which must match Package/Identity/Publisher.
The warning about Developer mode is separate. It affects final Store submission, but Xbox Live should be accessible either way.
You mentioned packaging - have you tried an unpackaged version, in case that makes a difference?
If you run from the project launcher without a custom profile, or you build and F5 in Visual Studio, then you’re running unpackaged. No appx is ever created, instead your app is laid out in disk as it would be inside the appx, but then just registered in place. In particular in this case it doesn’t get signed, which may be relevant since one of the troubleshooting suggestions is deleting the pfx file.
For the record, my App Identity matches, my Title Id and SCID matches, my account is added to the Xbox Test Accounts, my Settings game name matches, and both Xbox One and Desktop are checked, the Settings are saved, and my Sandbox is running, and Test reports Success.
I’ve done a little debugging, and I see for ShowLoginUI we don’t get much further than FOnlineExternalUILive::ShowLoginUI, which then calls SystemUI::ShowAccountPickerAsync(), with an asynchronous completed callback. There really isn’t much I can investigate without switching to assembly.
Any error encountered by the system call is prevented from being passed back and handled by the system. After logging in, but pressing the Close button, the callback reports that the status for the operation is Completed, but Results->User is null.
I’m afraid client debugging isn’t likely to help you much here - that error flows directly from a problem encountered on the server side. You can look it up in the errors.h header from the SDK in the plugin’s ThirdParty folder - the comments are largely unhelpful since they discuss possible resolutions in service-to-service and non-Creators Program title scenarios, but the key takeaway that it’s a service configuration issue stands.
At the risk of sounding like a broken record: now that you’re sure you have good values for your package/identity/name and package/identity/publisher in your manifest, have you tried the new SDK again?
You are correct that Xbox Live is not supported in Editor configurations, since the Editor is not itself a UWP app.
No, that parameter isn’t even used internally :). It’s just there to make the UWP version line up with the Xbox XDK version. If you’re really interested in digging deeper there’s some source in OnlineSubsystemLive/ThirdParty/EraAdapter/Source that may be of interest - in particular that’s where you’ll find the implementation of ShowAccountPickerAsync for UWP. And then that calls on into the Xbox Live SDK, and if you want source for that it’s up on GitHub.
The packaging didn’t work with the new SDK. Given the nature of the errors it may only work with UWP configurations. I’m trying Debug UWP64 now.
UATHelper: Packaging (UWP (x64-64bit)): UnrealBuildTool: E:\UEUWP\MICROSOFT_UWP_UNREAL\Engine\Plugins\Online\XboxOne\OnlineSubsystemLive\Source\Public\OnlineSubsystemLive.h(28): error C3083: 'Xbox': the symbol to the left of a '::' must be a type
UATHelper: Packaging (UWP (x64-64bit)): UnrealBuildTool: E:\UEUWP\MICROSOFT_UWP_UNREAL\Engine\Plugins\Online\XboxOne\OnlineSubsystemLive\Source\Public\OnlineSubsystemLive.h(28): error C3083: 'Services': the symbol to the left of a '::' must be a type
UATHelper: Packaging (UWP (x64-64bit)): UnrealBuildTool: E:\UEUWP\MICROSOFT_UWP_UNREAL\Engine\Plugins\Online\XboxOne\OnlineSubsystemLive\Source\Public\OnlineSubsystemLive.h(28): error C3083: 'System': the symbol to the left of a '::' must be a type
UATHelper: Packaging (UWP (x64-64bit)): UnrealBuildTool: E:\UEUWP\MICROSOFT_UWP_UNREAL\Engine\Plugins\Online\XboxOne\OnlineSubsystemLive\Source\Public\OnlineSubsystemLive.h(28): error C2039: 'GetTokenAndSignatureResult': is not a member of 'Microsoft'
[EDIT]
Well the Debug UWP64 didn’t work with the latest XSAPI SDK.