I've been working on updating my XNA game as a Monogame UWP, and I think I have it all working. On my local PC, at least. I don't own an Xbox One, but I feel like I'm in the right position to buy one, put it in Developer Mode, and see if my game works on it.

If anyone else has been accepted to the MSCP, I'd love to hear from you, where you are in your setup, etc. There appears to be a lot of "paperwork" to fill out on the developers site. Ratings, metadata, screenshots, etc.

Or, any other general discussion regarding the MSCP, as I don't see a thread about it yet.

The SDK comes in configuration for both UWP and XDK, for both C++ and WinRT. If you are part of the Xbox Live Creator’s Program, you can only use C++ for UWP. If you want to use C#, you must use Unity.

So... using Monogame, how do I access the Xbox Live SDK if I can only use the C++ one?

I'm not part of the Creators Program yet, but I do have a Dev Center account and I've been deploying and testing UWP apps to my Xbox One for the last few days. So I might be able to answer some questions about Monogame UWP apps on the Xbox One, but this is all very new to me as well.

I should add, using the UWP Share feature will fail your app, this happened to my apps recently and as almost all my current apps make use of this feature, I had to skip XBOX as a platform, hmm I do have one that does not use such a feature, will try to add it to the supported platform list and see if it throws any other fails on my next update...

But as long as you do not use the share charm feature, you should not have that issue.

Well, like I said, I have my XNA-to-UWP game up and running on my Windows 10 PC. Maybe I'm ahead of the curve here.

Visual Studio 2015 is all linked up with my dev accout/store stuff, and I can upload the package to the dev site. I've filled in all the metadata stuff that I can, and everything appears to pass muster. That is, the package is verified when I create a package locally, as well as when I upload it.

My assumption is that I'll get my Xbox set up, put it into Dev Mode, and be able to deploy my game to it and see it work.

After that, it would be nice to fold in some Xbox Live features. Really the only thing I would like would be to get the Gamertag for each player... I currently have no idea how to do that, or if it's a show-stopping requirement.

Alternatively, you could create your own system using a custom ASP.NET app... but how that works on XBOX, I do not know... don't EA and the lot use their own user services? or do they integrate XBLive members and cross reference everything or something?

It would be really great if this could be integrated with the built-in XNA namespaces (if I recall correctly there was this Guide class that could be used and worked at some point with the iOS Game Center - not sure if it is still there).

Nice. Thanks for the link to the C# Xbox Live SDK. I'll give that a shot.

In other news, my Xbox One arrived last night. I didn't have a whole lot of time, but I was able to put it into Developer Mode and get my game deployed. As far as I can tell, it ran perfectly! So that feels like pretty good news. It's not bad news, at least.

I still need to get myself familiar with the Xbox dev stuff. There's a lot of settings for Portals and Sandboxes and test accounts and stuff that I don't wholly understand. But I'm splashing around.

Open your MonoGame project in VS17 and do the following:1/ Right click references2/ Click Manage NuGet packages3/ Click Browse4/ Type Xbox in the search and choose Microsoft.Xbox.Live.SDK.WinRT.UWP, then click install5/ Close the solution and open it again6/ Click to expand References and click the Visual C++ reference with a yellow exclamation mark to clear it

To confirm this has worked type Using Microsoft.Xbox.Services; at the top of your project (better to type instead of paste so you can see if the autopredict can see the reference)

You will also need Microsoft.Xbox.Services.System

To pass certification at a minimum you will need to have a signed in user and display the gamer tag

Now that you have the Xbox library working you can declare the variable XboxLiveUser user;

Unfortunately this is as far as I managed to get

When I do user = new XBoxLiveUser(); in the initialize section I get a stack overflow errorWhen I put it in the game loop (using a Boolean to ensure it is called once) the game crashes out with no error

Go to the Assets\Xbox Live\Scripts path of your project and you'll see files written in C# for users, profiles, leaderboards etc...

Some of it is hard to read as it is unity language. Others require jumping from one file to another as you attempt to follow what is going on. It will take some time for somebody to reverse engineer this and adapt it to monogame. Particularly as simply calling a new XboxLiveUser() doesn't seem to be working in three different spots I have tried

I hope I have given somebody a boost in the right direction but I really hope somebody can work this out and document it for the MonoGame community

I should be a simple step by step process that shows the minimum code required and where it needs to be implemented (just like the link I posted with the javascript version)

However I'm unable to log in with the test account in the XBox once I change the sandbox, so I can't test the game in the new sandbox at all.

(my "theory" was that once the sandbox is created, the user creation would no longer crash, but I'm not sure of that because a function call should never fail like that, even if it hasn't permisions to use XBox Live SDK)