How to get Steam to recognize existing game files from a different source?

Let's say I have a game bought on retail/other digital download and installed on my hard drive. I buy the same game (or a minor variant of it, say the GOTY edition) on Steam. It should be possible to use the existing installation to avoid the generally big downloads. This is very useful as it saves both bandwidth and time.

Previously, as far as I understood, Steam downloaded the game files directly to steam\steamapps\common\<game_name>. Since this folder would be created on starting the download, pausing and closing steam, copying the game files to this folder and then validating game files would make Steam absorb as much as possible and just download the missing files.

Currently, Steam downloads the files to steam\steamapps\downloading\<game_id> and then moves them over to the aforementioned folder once the download finishes. So first of all, what the final folder would be is not clear. So what would be the correct way of doing the same thing, that is, make steam use as much of the existing files as possible? Should the files be copied to downloading\*\, or should I figure out the actual folder (say via googling) and copy the files to steamapps\common\*\?

More specifically, I had a retail copy of Arkham City installed and I just bought the GOTY version on Steam. Now I tried both of the above things, in either case, the validating does not seem to do anything. Assuming I have the correct folder name steamapps\common\Batman Arkham City GOTY, according to this, if I copy the files there, Steam seems to just continue with its 17GB download. If I copy it to steamapps\downloading\200260 then the download keeps stopping every few seconds with "Disk Write Error" after modifying 1 or 2 files, and I have to keep hitting resume.


I think the following is the correct way to currently do what I wanted:

  1. Ensure that Steam thinks the game is not installed. Close Steam just to be sure.
  2. Copy the game files to SteamApps\common\<game_name>, where <game_name> is to be found out via googling/equivalent. In my specific instance, this was Batman Arkham City GOTY.
  3. Launch Steam and install the game. The installation will go through a "Discovering existing files for _" stage.
  4. Watch and wait as it downloads only the missing parts.

I still have to download 9.8 GB though (instead of 17) in my specific case.


I have found best way.
Steam -> Setting -> Download -> Steam Library Folder -> Add you old folder

Ideal folder structure that i added
Main Folder
- SteamApps
  - common
    - dota 2 beta
    - dota 2 test
  - downloading
  - temp
  - appmanifest_xxx
- steam.dll
- steam2.dll

Actually you can bind a steam app folder simply from the steam gui!

view -> settings -> download -> steam library folder

and then choose your shared steam folder. Also now steam let you choose where download games; i hove NOT tested cross-gaming (using the same folder on windows and linux), but just relinked my folder (somehow steam lost track of my external HDD) and everythings work fine.

Tested having game in different HDD/partition and works fine. If you Start up steam without external HDD, a reboot of steam is needed to let it "see" the folder


Issue solved:

Hope this helps you guys.

  1. Go to View > Settings > Downloads
  2. On STEAM LIBRARY FOLDERS add the folder on the unit where you want to have your games (must be empty, Steam will prompt if not) and close.
  3. Go to that folder and you should have the following structure:
    • new_folder>
      • SteamApps> <- create this folder! (no ">"...)
      • common> <--- create this folder! (where games go)
      • downloading> <--- won't exist unless are downloading something
      • appmanifest_xxx.acf <--- copy all the appmanifest_xxx.acf files you have
  4. Copy all the games folders from your old .../common/ folder to the new location (into the new .../common/ folder you just created).

At this point games will not work. This will make your Steam recognize your games...

  1. Copy all appmanifest_xxx.acf files from from the old .../steamapps/ folder into the new one. THIS IS WHAT MAKES STEAM SEE THE GAMES. For each game there is one manifest.

  2. Play the game.

Regards,

efezeta12