This guide covers the obsolete UWP target for Xbox One devices, which was available in all versions of GameMaker prior to 2022.8, assuming you have a GameMaker Indie subscription and above. As of 2022.8 you should instead use the Xbox One/Series "GDK" target inside GameMaker (please note that you will need to be approved as a console developer before you can get access to this target), as this can then be sent to the Microsoft Store just the same as you would have done with UWP.
IMPORTANT! This article assumes that you have successfully gone through all the steps outlined in the article Setting Up UWP For Windows 10 Desktop and that you have a working PC development setup already. If you do not, stop and read that guide instead.
In this article we give the required steps to get the UWP target up and running on an Xbox One Developer device.
If you have an Xbox One Retail device, please see this Microsoft article: Xbox One Developer Mode Activation and then come back here and skip down to the section titled "The Device Portal".
NOTE: Creating a UWP package for the Xbox One platform does not require you to submit for Concept Approval and instead you need to register your application from the MS Developer portal. See here for more information: Setup UWP and XBox Live. However, UWP apps on XBox One are subject to certain resource limitations. You can find full details here: System Resources For UWP Apps On Xbox One
Setting Up The Xbox One
Before you can build and test on your Xbox One DevKit with GameMaker, you need to have enabled Developer Mode on the device as well as set up the Device Portal. Enabling Developer Mode lets you sideload apps, and also run apps from Visual Studio, which is important as that's what GameMaker will use to build your final UWP package.
To enable Developer Mode on the Xbox One DevKit, you must first power on the machine and go to the Settings and then go to the System tab. Within the System tab look for the button labelled Console Info & Updates, and click on it. This button is shown in the image below:
When you are in this window, you need to press the following buttons on your XBox One controller in the order specified:
LB > RB > LT > RT
This will enable the Developer Settings option, which you should now select:
Here you need to click the Developer Mode checkbox which will then prompt you to restart your Xbox One. Do this now before continuing.
The Xbox Device Portal
With the Developer Mode now active, we need to direct our attention to setting up the Device Portal. This is where we will get the information required for GameMaker to communicate over the local network with your Xbox One.
To start with you have to go to Dev Home and then find the section titled "Remote Management". Click the button under this labelled Manage Xbox Device Portal:
Once the Device Portal is opened, tick the Enable Xbox Device Portal tick box, then tick the Require authentication to access Xbox Device Portal tick box. This will make the Set Username and Password button appear, which you should click and set a unique username (not your Xbox username) and password:
You'll need this username and password combination later so take note of it, and also note down the IP address that is given under where you enabled the Device Portal. We'll need all that data for the next step.
If you are unable to connect to your Xbox One, please try disabling authentication, removing the username/password pair and connecting again.
Adding Your Device To Target Manager
The final stage for setting up the UWP target for Xbox One requires you to add the Xbox One as a device to your Target Manager. In the Target Manager Window you can see that there is a section marked Devices with a small "pencil" icon beside it:
Clicking this will open up the UWP Device Manager where you can add one or more UWP devices to target when running and building your projects for the UWP platform.
Here you should click the Add New Device button to create a new Device and then fill out the details (below you can see an example of what information is expected):
Enabling Xbox Live Functionality
Your game will have to have a minimum of functionality using the XBox Live interface. Specifically, it will need to have a user signed in and permit the user to be changed and sign in/out. This section explains how to set up a "listener" object to control this process in your games, and all UWP apps that are destined for the Xbox One must have this functionality.
Enabling Xbox Live functionality requires you to do a few things first, not least of which is creating a app listing on the MS Developer Portal, and so to make things easier we've outlined each of the steps to be taken in this article here:
Once you have set this up you can continue and move on to testing and compiling your app.
You're Good To Go
You should have now set up a Windows 10 UWP Xbox device and can go ahead and select it (as using either the VM or YYC compiler options) from the Target Manager. Clicking the "Play" button at the top of the IDE will compile the game and run it on the device.
When you have tested your project and are ready to upload it to the Windows Store, you need to create a final executable package, which is explained in the following article: