Nearly every major publisher these days has its own digital storefront. Most of them also offer a certain minimum set of features, or at least have plans to release such features. Cloud saves and game syncing are obviously critical components, but as someone with far too many PCs—they're for testing, honestly!—I have my own feature that often gets overlooked: importing game files from an existing location. That might seem like a relatively minor detail, but with game install sizes often passing the 100GB mark, my 1TB per month data cap from Comcast Xfinity can be a problem, especially with up to eight different test PCs.
Let me quickly run through the major stores and mention how they work right now, before I get to the worst offender (at least in my book). Not every store is 'perfect,' but most at least offer a workaround. Guess which company comes up short.
Steam: The process on Steam is relatively simple: go to your Steam games folder (the default is C:\Program Files\Steam\SteamApps, though I always install Steam to C:\Games instead). You'll need to grab two things. The first is to get the appropriate appmanifest_######.acf file. You can find the number for the game in question by searching for the game on Steam and looking at the URL. So as an example, Hunt: Showdown is game number 594650.
The other thing you need is the game files, which are in the Common subfolder. Usually this is pretty easy to figure out—again, Hunt: Showdown's folder is simply called "Hunt Showdown". Copy both the ACF file and the game folder to the appropriate Steam folder on a different PC and when you next start Steam, you'll find the new game listed. You can use the same process to back up a game's files, rather than trying to use Steam's built-in backup functionality.
GOG Galaxy: GOG Galaxy and several other digital storefronts make things even easier than Steam. That's mostly because there's no separate ACF file to worry about. Go to the appropriate folder for GOG (my files are in "C:\Games\GOG Galaxy\Games") and copy the contents to a different PC. I do this over a Gigabit Ethernet connection, which is still pretty slow if you're looking at moving 100GB of data (typically about 15 minutes).
Technically the folder can be placed anywhere on the new PC—or even a network drive, though if you're not using 10GbE I wouldn't do that. Start up GOG Galaxy, go to your library, and click on the appropriate game. On the game page, next to the Install button, click on the More dropdown and then "Manage installation->Import folder…" Point it to the appropriate files and it will validate the installation, and you're finished.
Uplay: The process of transferring a game from one PC to another with Uplay is virtually identical to GOG. Find the game folder (mine are in " C:\Games\Ubisoft Game Launcher\Games") and copy that to a new PC, either via network or USB storage or whatever. Once finished, start Uplay on the other PC, click on the appropriate game icon in your library, and below the big blue "Download" button you should see a link that says "Locate installed game." Again, the files can be anywhere on the PC; just navigate to the correct folder in Explorer and Uplay will validate the files.
Battle.net: The formula is basically the same as Uplay and GOG. Find the game folder (it can be anywhere, though the default is the same as the Battle.net app, usually "C:\Program Files") and copy it over to the new PC. Next to the big, blue Install button is a text link that says "Already installed? Locate the game." Click that and point it to the game folder you copied over, let it verify the files, and you're set.
Origin: EA's Origin isn't always as nice as Uplay, GOG, or Blizzard but it's usually pretty easy. First, you need to grab the game folder—the default install location is usually in "C:\Program Files" but I've changed my install location to C:\Games. (D:\Games if you really want to know, but whatever.) The location for your Origin games can be found under the Origin menu, then "Application Settings," and then click the "Installs & Saves" tab.
Whether you've used the default location or changed it to some other folder, that folder on the new PC is where you need to copy the game folder. Once the file transfer is complete, however, you still need to click the orange "Download" button—if everything was done properly, rather than downloading the files, Origin will verify the files and install the game. It's a bit less obvious but overall relatively painless.
Bethesda Launcher: The process is nearly identical to that of Origin. Copy the source files from the appropriate folder (mine is "D:\Games\Bethesda.net Launcher\games") to the destination PC's folder. Start the Bethesda Launcher client, click on the game, and then click on the "Download" button. If the files are present, the launcher will verify them and sync your cloud saves. Done.
The above are all very easy compared to the final two options. First let's hit everyone's favorite…
Epic Games Launcher: This one will involve more work, but if you're familiar enough with PCs and Windows Explorer, it's possible to skip a full second (or third…) download of any game on EGS. First, get the Epic Games Launcher installed on the new PC, log in, and get the confirmation email code for your account (which can sometimes take several minutes to arrive). Go to your library, find the game you want to transfer from the other PC, and click the Install button. Yes, do this first. Once the install/download process starts, let it grab the first 20MB or so and then pause it, and then exit the Epic Games Launcher. That's step one.
Now, copy the files from the original PC location (mine are in D:\Games\Epic Games, but the default is in "C:\Program Files"), but the destination folder may vary a bit. Basically, find the game folder on the new PC where EGS started to download the files, and look for an ".egstore" folder, and then within that should be an "Installation" folder. You want the files and folders from within the game folder, and not the root game folder—so as an example for me, that's the files in "C:\Games\Epic Games\Control" that has 69 items in the root folder, including four folders.
Finally, once the file copy is finished, restart the Epic Games Launcher, go to the Library, and click resume on the game. You should see the game begin validation of files—open Task Manager (Ctrl+Alt+Esc) and look at the Performance tab, and your network connection should show very little activity while your storage drive (C:, D:, or whatever) should show a heavy workload. It can take several minutes on a slower drive to validate the files, but eventually the game should be available to play. Whether your cloud saves will come along for the ride is another story.
Yes, this is a pain in the butt compared to Uplay or GOG, but at least it's possible. Which brings up the caboose.
Microsoft Store: And finally, the black sheep of digital software platforms known as the Microsoft Store (or formerly, Windows Store). Do you want to transfer an existing game download from one PC to another, without downloading the game again? Too bad! You can't do it. Or at least, I couldn't get it to work after much effort. The files themselves are initially owned by the TrustedInstaller user, and you probably don't want to take ownership as it can screw things up. But even if you do take ownership and give your account full access rights—on both the source and destination PCs—and then copy the files over, there's a problem. The Microsoft Store won't recognize the files and it won't have the appropriate license.
If you've already downloaded a game in the Windows Store, you're pretty much out of luck. Your only option is to download the entire game, again, on another PC. That might not be such a horrible thing if you're dealing with Candy Crush Saga, but the bigger games like Forza, Sea of Thieves, and Gears can easily register at more than 50GB.
But! There is a sort of workaround if you haven't yet downloaded the game and you know you want to have it on multiple PCs. This old Forza Horizon 3 Reddit thread has the details, which I'll summarize here. First, you need an application to monitor network traffic, and the free utility Fiddler is recommended. Install Fiddler and get it running, and then start the download of whatever game/app you want on the Windows Store. In Fiddler, you should see a bunch of requests show up for a Microsoft URL of some form. I did this for Gears of War 5 and got a link that was at assets1.xboxlive.com, but it will vary by region and game. Anyway, grab that URL and then you'll probably want to paste it into a file downloading utility. Again, from the Reddit thread, I used Firefox with the DownThemAll extension.
Many games are quite large—Gears of War 5 checks in at 66GB—so this can take a while. Once the download was finished, I ended up with a single massive file, named "Microsoft.HalifaxBaseGame_220.127.116.11_x64__8wekyb3d8bbwe.msixvc", but what do you do with this? The final step is to install the application via PowerShell. Open a PowerShell prompt (Win+X and then "I" should do it), navigate to the correct folder ("cd $env:USERPROFILE\Downloads"), and then run the PowerShell cmdlet add-appxpackage with the file (so "add-appxpackage Microsoft.HalifaxBaseGame_18.104.22.168_x64__8wekyb3d8bbwe.msixvc" for Gears 5).
You should see a progress bar across the top of the PowerShell screen indicating installation progress. Fun fact: on a new X570 motherboard with PCIe Gen4 SSD, I saw sustained read/write speeds of 1.5GB/s for about a minute while Gears 5 installed. Obviously, a slower drive will take much longer to complete the installation.
There's been a lot of discussion over the past year, mostly thanks to Epic, about the minimum feature set a digital storefront should provide. There are many opinions here, and I won't claim to be right, but these days I think it's safe to say that a storefront should at the very least support buying games, cloud saves, automatic updates, and backing up / transferring files. Localization, ratings, news, forums, and plenty of other items are important as well.
Why is backing up or transferring files in my list? Because imagine you have an existing gaming PC that's a bit long in the tooth. It happens every few years for most of us. So you go out and buy a new motherboard, CPU, memory, storage, graphics card, case, and power supply. You're ready to rock. Now all you need to do is copy over your games—because unless you have an unlimited data cap and a massive internet pipe (I'm thinking gigabit fiber), it would suck to have to download everything again. Been there, done that. It's mostly possible, but Microsoft ends up as the odd man out.
How is it that Microsoft, a trillion dollar company, can have such a bad digital platform? The Epic Games Store has gotten a lot of flak (deservedly so in many cases), but at least it's improving over time. The Microsoft Store meanwhile has been pretty awful from day one, and years later it's still extremely user unfriendly. Ideally, Microsoft (and Epic, along with any other digital storefronts) should add a way to import game files from an existing location. Uplay and GOG did that several years back. At the very minimum, a way to back up and restore applications would suffice.
PC upgrades do happen, and data caps are a harsh reality for many of us.