Why PC games should never become universal 'apps'
Peter "Durante" Thoman is the creator of PC downsampling tool GeDoSaTo and the modder behind Dark Souls' DSfix. He has previously analyzed PC ports like The Witcher 3, written about why broken PC ports are unacceptable, and written an open letter to game developers about the features PC gamers want.
Microsoft’s vision for the future of application development and distribution on Windows, dubbed “Universal Windows Platform” (UWP) and “Universal Windows Apps” (UWA) is currently the most controversial subject in PC gaming. Universal apps first came to our attention with the Windows Store version of Rise of the Tomb Raider missing display settings available in the Steam version, and escalated with Epic Games co-founder Tim Sweeney criticizing universal Windows apps as a closed platform that “can, should, must and will, die as a result of industry backlash” if Microsoft doesn’t open it up.
This article aims to clarify what UWA is and and provide my own perspective on the matter. The first part will deal with the current state of the platform and all the problems and limitations you should be aware of before buying a game on it. After this objective analysis, I’ll provide my more subjective commentary as a long-term PC gaming enthusiast and modder on the potential impact of Universal Windows apps.
The state of UWA and the Windows Store
As of now, the only way to purchase UWAs is through the Windows Store, so the two are closely intertwined. While they each come with their own set of restrictions and limitations, the choice that can currently be made for a game like Rise of the Tomb Raider is either buying a traditional Windows executable by any of the common means such as Steam, or buying a UWA on the Windows Store. The drawbacks of UWAs over the former can be associated with four overall categories:
- Lack of features
- Lack of interoperability
- Modding restrictions
- Ecosystem drawbacks
Before going into details on each of these categories, we should clearly define what a few of the terms we’ll be discussing here mean. Win32 is a set of programming interfaces (APIs) as well as an executable format which has existed for 20-odd years and continues to form the basis of how programs for Windows are written and distributed. Even though today it’s convenient to download games through clients like Steam or GOG Galaxy and launch them without ever directly clicking on a .exe file, that good old Win32 executable is still there in a folder waiting for you to use or modify it as you wish.
UWP is a set of standards and restrictions as well as programming interfaces which Microsoft proposes in order to target various devices running Windows 10, including PCs, tablets and cell phones. UWAs are applications making use of these standards and APIs. A crucial difference between UWAs and Win32 applications, beyond the API restrictions, is that interaction of the former with arbitrary programs—and even the user themselves, like in terms of accessing the program’s files—is limited in many ways. UWAs cannot be distributed and installed easily without going through Microsoft as the gatekeeper.
Think of the difference as a bit like a traditional PC application compared to an iPhone app. One splays out its files in front of you in folders if you want to dig through them. The other merely installs and lives its life as an icon you click to launch; you’re not going to be digging around in its file structure.
The biggest gaming news, reviews and hardware deals
Keep up to date with the most important stories and the best deals, as picked by the PC Gamer team.
So, what does running a game distributed as a Universal Windows Platform App mean for you compared to a Win32 game?
No Exclusive Fullscreen Mode
One of the most immediately obvious limitations imposed by UWP is the lack of any support for exclusive fullscreen mode, aka the way we’ve been running most PC games for decades. This is clearly an intentional change documented in MSDN here: “If a Windows Store app calls CreateSwapChain with full screen specified, CreateSwapChain fails.”
What this means for actually playing games depends on the individual game and hardware setup, but generally includes a small performance impact, and often also less reliable frame pacing. I observed and documented the latter e.g. for The Witcher 3.
It also means that other features depending on exclusive fullscreen will simply not work with UWAs. This prominently applies to AMD’s Freesync, while Nvidia G-Sync will work but is restricted to its less reliable desktop mode.
Lack of interoperability
Interoperability is a big word, and unlikely to be the first thing many gamers—even enthusiasts—think of when playing games on PC. What I mean by it in this context is that in Win32, it is relatively easy and straightforward for any program to integrate itself with another arbitrary program, even if the latter knows nothing of the former. This facet of the execution model is the foundation for many of the conveniences gamers take for granted on PC, and you’ve probably used it many times without even knowing it.
One of the most common uses for this type of interoperability are performance monitoring overlays and screenshot tools such as the popular FRAPS and RTSS, or the more involved and accurate FCAT, the lack of which presents obstacles for in-depth performance analysis.
However, these are far from the only applications of interoperability in games. For example, voice chat programs such as Mumble might display an overlay or even generate positional sound based on game data, and input mapping utilities often hijack API calls in order to provide more configuration options and broader hardware compatibility.
Another very common use of this type of interoperability: the overlays of various game distribution and social services, with the most popular one being Steam. Both the desktop and the Big Picture mode Steam overlays depend on interoperability to function. This in turn even affects the Steam controller, which I’ve personally come to love for anything which requires first or third person camera control. It’s unusable for UWAs.
Gamers with SLI graphics card setups who bought the Windows Store version of Rise of the Tomb Raider discovered to their chagrin that Nvidia Inspector cannot support setting profiles for UWAs. Doing so was required to fix SLI issues in the initial version of the game. In a similar vein, external tools like RTSS are often used to enable consistent frame pacing in games, yet another very convenient and often necessary enhancement impossible for games distributed as UWAs.
Modding Restrictions
There are two types of modding common on PC. One is publisher- and developer-approved and supported modding, such as adding new maps to a game with Steam workshop support or developing a new quest in Skyrim. The other is modding done without the knowledge or support of a game’s publisher, and this type depends on the accessibility of a game’s execution state and data.
It is the latter type which is primarily endangered by UWP, and it encompasses a broad swathe of modifications with varying degrees of popularity. For example, it is very common for enthusiasts these days to inject anti-aliasing or additional post processing into games with tools such as ReShade or my GeDoSaTo. These tools depend on intercepting API calls of applications, which is easy enough to accomplish in Win32 but a practice which UWP specifically sets out to eliminate.
Of course, it’s not just these visual modifications which are affected. Game-specific mods like the recent Tales of Zestiria 60 FPS fix or my own DSfix would equally be rendered impossible to accomplish – or at the very least far more difficult both to develop and for the user to apply.
There are myriad other examples of this type of modding: greatly extending the functionality of existing modding interfaces, adopting older games to new display standards, even polishing games for over a decade after their original developers dissolved. Every single one of them is enabled by the easy access to game files and relative ease of changing executables without asking permission of anyone other than the user. And as such, every single one of them is restricted by the UWP model.
Ecosystem Drawbacks
While the previous section looked at issues that were related to the UWP execution model, there are also some comparative drawbacks when buying on the Windows Store specifically. Obviously, it will mean giving up on features provided by other platforms, such as in-home streaming on Steam or DRM-free games on GOG, but these are hardly surprising.
What could, however, be a very nasty surprise is that the Windows store does not appear to have a clear policy regarding perpetual access to downloads of purchased games when they become delisted, a problem we’ve encountered with other digital stores in the past. As such, if a publisher becomes defunct or simply decides not to offer a game on the Windows store anymore, your purchase might essentially vanish (Microsoft’s website is vague on the permanence of delisted apps). This is a really bad look so early into the store’s life, particularly given Microsoft’s history with Games for Windows Live (GWFL).
Additionally, updates on Windows Store Apps have so far trailed behind compared to their Win32 equivalents, likely due to certification delays. This is doubly problematic if, as in the case of Rise of the Tomb Raider’s SLI problems, the primary issue an update addresses can’t be fixed by the user themselves because of UWP’s interoperability limitations.