Universal Windows Apps.

So, Microsoft talked today about their, “Universal Windows Apps,” initiative, the idea that you will eventually be able to compile the same code on Windows, Windows Phone, and the Xbox One. They also talked about how if you buy an app on one of those three, than you can use the same app on all three automatically without having to repay.

My question is, what does this mean for MonoGame? MonoGame currently supports Windows 8 games and Windows Phone games. Does this mean that you will be able to do the same with Xbox One games? I think the bigger question is, will Microsoft let more than just licensed developers publish on the Xbox One Store because of this? If so, could this mean a return to a situation sort of like Xbox Live Indie Games had on the 360?

I think I remember them showing on screen at the press conference the logos for a bunch of frameworks and engines, and I believe MonoGame was one of them. Any idea what this could mean?


The thing is, the Xbox One has two different app pipeline and SDK.

On one hand, you have the OS part (the Modern UI stuff) and the Windows Store. Universal Windows Apps will only work on this part, so it is apparently not intended to make games and there is a high probability that Microsoft will reject any games targeting Modern UI and Xbox One. But we don’t know yet what will be Microsoft’s policy about this particular case.

On the other hand, you have the gaming part (inc. the ID@Xbox program) and as far as I know, is not concerned by Universal Apps, requires specific agreements and it is said to not give access to .NET assemblies. So this would mean no MonoGame support possible (except if Mono is ported to the Xbox One).

@Tom is attending BUILD, so he may have more precise information about this.

I think that the team is hard at work on the PS4 port and that until the situation clarifies, Xbox One support is still something quite fuzzy.

Actually i’m not a Build this year… i’m full at work on the PS4 port.

I haven’t had a chance to look closely at how Universal Apps work, but it seems at the very least we can add support for it for Windows 8 Store and Windows Phone. If this allows you to make one game that targets both platforms more easily… it is a win.

If eventually we can extend that to XB1 that would be great, but I suspect that will only allow your game to run in the “dashboard” OS on XB1 which has limited resources. We really want MonoGame running on the “game” OS.

That was just that MonoGame is listed in the Windows Store partner directory.


I think all of the content you saw on that slide came from there.

In related news…

1 Like

So lots of cool news for MonoGame out of Build this year. The two big things…

NET Native which AOT compiles C# code for the best performance… available now!

New RyuJIT runtime which supports SIMD… available now!

We need to get people working on supporting these ASAP.

Well, if you use XNA / MonoGame, you basically get every platform.

Windows 8, Windows Phone 8, X-BoX OnE has users and all, but not as many as other platforms.

Plus, you’ll need a Windows 8 computer and X-BoX OnE (Microsoft has said all X-BoX OnE’s will be a dev device eventually, like X-BoX 360 is to Indie Games). Where if you pick XNA / MonoGame you can use any OS basically.

Microsoft has said that they don’t want Disc / Arcade / Indie Games in different spots like last gen. And now everybody will be in the same store. This will lead to XNA / MonoGames, if allowed on the platform (Which seems likely to happen within a year or two), then you can charge more than the usual $1-5. Which was really limiting for most of the non-one person, non-LLC teams.

Hi Tom,

I have only just realise of the .NET Native option, as a possible means to improve the performance of my Windows Phone and Windows Metro C# MonoGame development.

But does this mean that the SharpDX and MonoGame libraries are compatible, and that I can use this option to upgrade the performance of my Windows Phone and Windows Metro games ? I am wondering if I could compile with .NET native option would remove some Garbage Collection twitches in frame rates, which I have been unable to root out ?



Microsoft were using MonoGame and some games built with MonoGame internally in their testing of .NET Native, so yes it should work.

I don’t know if it would solve any garbage collection issues. Using .NET Native does not change any memory allocation/deallocation patterns.


I’m still a bit fuzzy on the Universal App Platform. Do you mean to say that the UAP project that we have in MonoGame could be used to create games that would run on XBox One, but with limited access to the hardware and that it is yet to be seen if games written using an UAP would be rejected for XBox?

Can we still write games for other device families using the UAP project type?