C:\Program Files (x86)\Steam\steamapps\common\<GameName>\installscript.vdf Sometimes it resides in a subdirectory like _CommonRedist or directly in the game root. It is present for all games—only those requiring custom install logic.
| Directive | Description | |-----------|-------------| | Run Process | Executes external processes. Can be nested. | | Registry | Creates/updates registry keys and values. | | FileMove / FileCopy | Moves or copies files after depot extraction. | | DeleteFile / DeleteFolder | Cleans temporary or obsolete files. | | RequireAdmin | Forces admin privileges for certain actions (Windows). | | WaitForProcess | Pauses until a launched process finishes. | | InstallScript root | Mandatory root object name. | Variable Substitutions: Steam replaces special placeholders at runtime:
"HKEY_CURRENT_USER\\Software\\MyStudio\\MyGame" "SaveDir" "#InstallPath\\Saves" "ConfigVersion" "2" installscript.vdf
| Variable | Expanded to | |----------|-------------| | #InstallPath | User’s chosen installation directory (e.g., C:\Program Files (x86)\Steam\steamapps\common\MyGame ) | | #SteamPath | Root Steam installation folder | | #SteamAppId | Numeric App ID of the game | | #RuntimeDir | Steam runtime directory (Linux/macOS compatibility) | On a Windows system with Steam installed, installscript.vdf is found inside a game’s depot folder:
"Run Process" "DXSetup" "command" "#SteamPath\\steamapps\\common\\MyGame\\_CommonRedist\\DirectX\\Jun2010\\DXSETUP.exe" "parameters" "/silent" "WaitForProcess" "1" "VC2015Setup" "command" "#SteamPath\\steamapps\\common\\MyGame\\_CommonRedist\\vcredist\\2015\\vc_redist.x64.exe" "parameters" "/quiet /norestart" "WaitForProcess" "1" Can be nested
"FileMove"
"Run Process" // optional block for pre/post-install commands "command_1" // e.g., "#SteamPath\\redist\\vcredist_x64.exe" "command_2" // e.g., "-quiet -norestart" "process_1" // array of commands to run sequentially "command" "#SteamPath\\some.exe" "parameters" "/S" "RunProcess" "command" "cmd.exe" "parameters" "/c echo Done > log.txt" "Registry" "HKEY_LOCAL_MACHINE\\SOFTWARE\\MyGame" "InstallPath" "#InstallPath" "Version" "1.0.0" "FileMove" "source" "temp\\data.dat" "dest" "game\\data.dat" | | DeleteFile / DeleteFolder | Cleans temporary
"source" "#InstallPath\\data\\settings.default.ini" "dest" "#InstallPath\\settings.ini"