Getting Started With XBox One Development

Hi everyone! Been working on a volumetric rendering asset for HDRP, and I think I’ve finally reached the point where I have to start profiling on something other than my RTX 2080. Only other machine I’ve got is an xbox one x, so I’d like to be able to build, run and profile a sample app using my plugin on it.

Issue is that I cannot figure out where to start. Most places I’ve seen have suggested the Microsoft Independent Developers program, but that requires you to have incorporated as a game studio and have a prototype already built. I’m not even making a game, just a general purpose plugin, so this isn’t for me.

The other options I’ve seen have suggested signing up for the Xbox live creators program, which costs $19 and seems a lot more flexible. I did this, but now have no idea what the next steps are to get access to xbox one build support in Unity. It says Unity is supported, but there’s very little documentation from Microsoft or Unity (that I can find) on how to actually build a Unity app for xbox if you are registered via the creators program.

Any help is appreciated!

See this Help page for detailed information:

I’ve come across this page before, and this is not relevant for the Creator’s program. It will only work if you are registered for the ID program.

It looks like I need to build with the Universal Windows Platform. But I have no idea how to actually transfer that build to XBox.

Then these Docs may help: Getting started - Microsoft Game Development Kit | Microsoft Learn

More specifically:

1 Like

Followed the instructions on these links and managed to figure it out! Thank you for the help!

Now running into another issue though. I can successfully deploy the game to the xbox, but I get the following printout in the console:

Platform Windows 10  (10.0.0) 64bit with device Direct3D11 is not supported with High Definition Render Pipeline, no rendering will occur

Nothing renders except for the UI—just get a black screen.

From what research I’ve done, this appears to be due to Xbox One’s lack of support for D3D11 feature level 11. The suggested fix is to use D3D12. I changed my project to have D3D12 (Experimental) be the top priority rendering API for UWP (the first one in the list in player settings). However, I still get the same error.

There’s also this post about shader stripping being the possible cause , but I haven’t stripped any shaders (that I know of?).

UPDATE: I’ve managed to prove that the game will run in DX12 on my PC, but fails to run in DX12 on the xbox (and instead runs in DX11). Why would this be happening? How can I get it to run in DX12?

UPDATE 2: I think I know what the issue is. I am deploying the target as an app, and not as a game. Only games have DX12 support. No idea how to get it to run as a game though.

With your code deployed to your XBox (so that it appears in the Games and App section of the home page when running Developer Mode on your XBox) click on the small button just to the left of X (I think) on your controller to View Details. You can then select one of the options (bottom one in list from memory) to indicate that this is a game instead of an App. To save you having to do this each time you deploy there is also an setting somewhere in Developer Mode (can’t remember exactly where - sorry!) to have it default to Game for each deployment…

Thanks! I actually figured it out just before seeing your post. Still, I bet tons of others will run into this problem, it’s good to have the solution written down.

So, yeah, it works now. And, as expected, I’ve got some serious optimization to do :slight_smile: