How to Downgrade Steam Games

How to Downgrade Steam Games

Yesterday, Sid Meier’s Civilization VI got a new update for the New Frontier Pass. This update had the unfortunate side effect of breaking compatibility between the Windows and macOS versions of the game, meaning that when the two versions tried to join an online game it would spit out a “Version Mismatch Error”.

In order to regain compatibility I needed to rollback or downgrade my Windows version so that it would be on the same, older version as my friends on macOS. This is my process for this specific game but, as far as I know, it can be applied to any Steam game.

Step 1: Install .NET Core

Step 2: Download and extract the latest stable release of DepotDownloader

Note that this process will require you to put your Steam credentials into the third-party software, DepotDownloader. Do so at your own risk.

This process may be possible using the Steam Console’s built-in download_depot command, but in this instance it failed to find the required manifests.

Depot download failed : Manifest not available

Step 3: Find the required IDs

Go to SteamDB and search for your game. The first ID you will need is the app ID, which can be found on the game page.

Next you will need to navigate to your steamapps directory, which in my case, was at C:\Program Files (x86)\Steam\steamapps, and open the appmanifest file containing your app ID with Notepad. Inside, under InstalledDepots, you will see the depot IDs for all your installed content for this game.

Now go back to SteamDB, where you will navigate to the “Depots” tab on the game page. For each depot you have installed, select the depot ID, then under the “Manifests” tab, record the manifest ID for the version you wish to downgrade to. The manifest ID is different for each depot, so you will need to do this for every depot you have installed.

Step 4: Download the depots

In PowerShell, change directory to where you extracted DepotDownloader.

> cd .\Downloads\depotdownloader-2.3.5\

Then for each depot/manifest ID pair you recorded, run the following command, substituting the relevant values.

> dotnet DepotDownloader.dll -app APP_ID -depot DEPOT_ID -manifest MANIFEST_ID -username YOUR_STEAM_USERNAME -password YOUR_STEAM_PASSWORD

This will download the depots into a depots directory in your current working directory, with one subdirectory for each depot ID. Keep this PowerShell open, we will use it later.

Step 5: Install the depots

At this point, fully exit Steam. Return to your steamapps directory and navigate into common. Rename the directory for your game to something that won’t conflict. I chose Sid Meier's Civilization VI.bak. Now create an empty directory with the original name, in my case, Sid Meier's Civilization VI.

In the PowerShell from before, we are going to create a new directory called output, then merge all the depots into it with the following commands.

> mkdir output
> cp -Recurse -Force .\depots\*\*\* .\output\

The content of the output directory can now be copied into the empty game directory you just created in steamapps. Now that you have done this, you should be able to reopen Steam and launch the game normally at the older version you targeted.