Is there available Godot Xbox/MS Store implementation?

Question

Hi everybody

We are investigating how to port Godot games to GDK (Game Development Kit) platforms, in other words Xbox and MS Store, and I am curious if there any open source or otherwise available GDK implementation around that could be used as is or developed further to build for MS Store and Xbox?

I understand that usually NDA is the issue for providing Xbox implementation as open source, but considering that nowadays PC GDK is available for everybody, and MS Store and Xbox are quite interchangeable, having access to at least MS Store implementation would give us a head start on getting games to Xbox.

If there isn’t anything available, or if people are reluctant to share their implementation (which is totally understandable), is there any interest to possibly start a community driven endeavour to develop GDK implementation to Godot? We haven’t really delved into how difficult (or easy) it would actually be to get the implementation working for Xbox/MS Store. It would be nice if we could have available Godot implementation for Xbox or at least MS Store. Of course the xbox side wouldn’t be fully open source due to NDA issues, but those details can be thought through if there is actual interest for it.

So please leave a comment and let me know if you know an already existing implementation, or if there is interest to set something like that up.

I believe this might be useful for what you’re looking for!

Hi tibaverus!

Thank you for the link! I’m aware that W4 and some other companies provide a console implementations for these. However, at least W4 provide it as a paid service, where you pay a subscription for the implementation, and price changing a lot depending on the size and revenue of the company, as well as some other factors.

I would prefer having free and more open source solution (or as open as it can be if xbox is related), where developers themselves upkeep and update the implementation as need be. Especially the MS Store implementation since nowadays the PC GDK is open source itself, so there wouldn’t be any issue having for example open source implementation of MS Store for Godot. Which is why I’m curious if there is any open source implementation like this already going around.

I believe Microsoft’s license regarding their Xbox API is quite strict, and making any code written against this SDK or it’s extensions open source would immediately violate Microsoft’s terms of service. So this is immediately a no-go.

The Microsoft store (using the pc gdk), in theory, could be possible, but there are no projects targeting just that that are open source, at least I can’t find any.

Unfortunately I don’t think anyone will ever want to risk their finances and all the legal liabilities that come from trying to create such an open source project that anyone can freely use.

Yeah, Microsoft can be quite strict, but as long as it’s agreed with them how the xbox implementation would be shared with only valid Xbox developers, it could be a possibility.

For instance, Mono Games xbox implementation is shared as open source and free as long as the developer proves their xbox developer status by asking Microsoft through email to validate the developer status.

I’ve also already started a similar conversation on Xbox forums, and the Microsoft rep didn’t straight up shut me down when suggesting the possibility of ā€œopen sourceā€ xbox implementation and suggested I did a post here, so it seems more of an arrangement issue than a straight up impossibility. Most likely as long as there are some procedure to prove the implementation is shared with valid xbox developer before sharing, it should be possible.

But, like you said, this is a bit touchy topic, so I understand if people don’t want to straight up share their xbox implementation, which is why I’m also interested about just the MS Store implementation as well. It would give at least a bit of head start on getting game to xbox.

Thank you for helping out, I do hope other people also show interest to this topic! :smiley:

1 Like

On a side note, it would be super cool, so I’m hopeful, but even if it becomes a reality, it will probably take years.

2 Likes

Given that the Xbox as a ā€˜platform’ will probably include the ability to play Steam games at some point anyway, it will probably be a mute point soon.

I would expect Godot at some point to have a full solution though.

There was a pull request that added GDK support a while ago, but it’s not in a mergeable state:

Note that GDK support is not enough in itself to port to Xbox; you need to use a NDA’d version of it called GDKX instead. However, as I understand it, GDK should be sufficient for Microsoft Store ports, e.g. to PC Game Pass.

2 Likes

Hi Calinou!

Thanks for the info! I hadn’t realized to check the PRs there are for Godot, so this was a good find. The PR is few years old at this point, so I’ll have to check it through on how it was implemented and how broken it might be in current GDK versions.

I do know that MS Store support doesn’t straight up work on Xbox, need to change references to some packages and do build pipeline changes so it can build to Xbox. But a lot of the actual functionalities between them work the same way, so having MS Store as the base would be useful.

But yeah, thanks! I’ll check out the PR and see if I can get something out of it.

Hey,
I also posted in the Xbox forum, hit me up at X or Bluesky ( @ RhineGames) or on Discord ( @insanepure ) and we can talk about starting an MIT port for this, where verified xbox developers can join in, just like for Switch.

Hiya all!

Since there has been few people interested and some discussions going on behind the lines on this, I’m starting to gather people to start work on the proper implementation. So far I’ve just been looking into it myself and learning the Godots engine side how things work there, and have been able to get the GDK to initialize on PC. We’ll probably first focus on the PC GDK to get the basics down and then move to Xbox side once the systems work.

If there are people interested on helping out with this, feel free to send me a message on Discord @severidreamloop and I’ll get us into a group. Currently I’ve just been discussing this with PuRe on the implementation but would be good to get more people into this as well. So hit me up if you are interested.