Anonymous edits have been disabled on the wiki. If you want to contribute please login or create an account.

Difference between revisions of "Glossary:Game data"

From PCGamingWiki, the wiki about fixing PC games
Line 68: Line 68:
 
===User profile===
 
===User profile===
 
{{ii}} <code>{{p|userprofile}}</code> points to the current user's profile folder.
 
{{ii}} <code>{{p|userprofile}}</code> points to the current user's profile folder.
{{ii}} For Windows Vista/7/8/10, this points to <code>C:\Users\(Username)\</code>.
+
{{ii}} For Windows Vista/7/8/2000, this points to <code>C:\Users\(Username)\</code>.
 
{{ii}} For Windows 2000/XP, this points to <code>C:\Documents and Settings\(Username)\</code>.
 
{{ii}} For Windows 2000/XP, this points to <code>C:\Documents and Settings\(Username)\</code>.
 
{{ii}} Some games use a path based on <code>{{p|username}}</code>; this method does not redirect when the user folder locations have been customised.
 
{{ii}} Some games use a path based on <code>{{p|username}}</code>; this method does not redirect when the user folder locations have been customised.

Revision as of 00:56, 20 July 2021

This page is a stub: it lacks content and/or basic article components. You can help to expand this page by adding an image or additional information.

Installation folder

The game's installation folder is where the game's files are stored, displayed as <path-to-game>. Save files are sometimes stored here as well but many newer games will put them in a different location.

Default Steam library

The default Steam library is in the same location as the Steam client (discussed later).

Other locations

Custom Steam library folder(s) can be seen in Steam, Settings, Downloads, Steam library folders.

Native software

Executables can be found in <steam library folder>/steamapps/common/<the name of the software>.

Software with Steam Play

Applies to Linux.

Most games store saves and settings in "My Documents" folder.

Folders can can be found in <steam library folder>/steamapps/compatdata/<steamid of software>/pfx/drive_c/users/steamuser/My Documents/ (and so forth)

Windows

  • For non-Steam games right click the shortcut and choose Open file location.
  • For Steam games right-click the game in the Steam library and choose Properties, then go to the Local files tab and click Browse local files.
  • Write operations against a location below %PROGRAMFILES%, %PROGRAMDATA%, or %WINDIR% are redirected to %LOCALAPPDATA%\VirtualStore on Windows Vista and later for processes running without elevation.[1][2]
    • To prevent this redirection many digital distribution platforms and MMOs therefor change the security permissions on their root folder(s) to allow write operations for regular users and non-elevated processes directly to the installation folder.
    • The Run as administrator option is used to elevate a process and allows it to run with elevated privileges, meaning it can write to the protected folders without having those writes be redirected to the VirtualStore folder.

macOS (OS X)

  • For non-Steam games open Finder and click Applications on the side. Some games will be in folders.
  • For Steam games right-click the game in the Steam library and choose Properties, then go to the Local files tab and click Browse local files.
  • Application data is located within the Application bundle. To open it, right-click on the application and click Show Package Contents.

Linux

  • For Steam games right-click the game in the Steam library and choose Properties, then go to the Local files tab and click Browse local files.
  • For GOG games, if you didn't change the destination folder during install, the default path is $HOME/GOG Games/HuniePop.

Client folders

Steam client

The Steam folder contains data for games using Steam integration; it uses the following locations by default:

  • 64-bit Windows: %PROGRAMFILES(X86)%\Steam[Note 1]
  • 32-bit Windows: %PROGRAMFILES%\Steam
  • macOS (OS X): ~/Library/Application Support/Steam/
  • Linux: ~/.steam/steam/

Origin client

The Origin Client folder contains data for games using Origin integration; it uses the following locations by default:

  • 64-bit Windows: %PROGRAMFILES(X86)%\Origin Games
  • 32-bit Windows: %PROGRAMFILES%\Origin Games

Ubisoft Connect

The Ubisoft Connect folder contains data for games using Ubisoft Connect integration; it uses the following locations by default:

  • 64-bit Windows: %PROGRAMFILES(X86)%\Ubisoft\Ubisoft Game Launcher
  • 32-bit Windows: %PROGRAMFILES%\Ubisoft\Ubisoft Game Launcher

Windows data paths

Documentation on how to incorporate these paths into any wiki articles can be found here.
To open the environmental variable path, either copy/paste or write the desired path variable to file explorer, to start menu search bar or to run dialog which can be opened with Win+R.
A list of the different paths for each version of Windows can be found here and a list of environment variables can be found here.
Note that some folders are hidden by default. To view them, enable "show hidden files and folders" and possibly disable "hide protected operating system files" in your Windows folder configuration.
Below, the letter C:\ refers to the drive where Windows is installed and on some computers this could be D:\ or another letter.
When running Windows games under Wine or Proton, the Windows 2000/XP paths are used unless otherwise noted (treat all backslashes as forward slashes).

User profile

%USERPROFILE% points to the current user's profile folder.
For Windows Vista/7/8/2000, this points to C:\Users\(Username)\.
For Windows 2000/XP, this points to C:\Documents and Settings\(Username)\.
Some games use a path based on %USERNAME%; this method does not redirect when the user folder locations have been customised.

Documents

The Documents folder is stored within the user profile folder. For Windows 2000/XP this folder is named My Documents.

User application data

There are multiple folders for application settings for user profiles.
On Windows Vista/7/8/10/2000, %APPDATA% points to C:\Users\(Username)\AppData\Roaming\, while %LOCALAPPDATA% points to C:\Users\(Username)\AppData\Local\ another possible location for app data.
Some newer games use %USERPROFILE%\AppData\LocalLow\, this location does not have a short environmental variable so must be specified in this longer form.
On Windows 2000/XP, %APPDATA% points to C:\Documents and Settings\(Username)\Application Data\, while C:\Documents and Settings\(Username)\Local Settings\Application Data\ is the other possible location with no default environment variable.

Shared profile

%PUBLIC% or %ALLUSERSPROFILE% contain application settings shared between all users.
For Windows Vista/7/8/10, %PUBLIC% points to C:\Users\Public\.
For Windows 2000/XP, %ALLUSERSPROFILE% points to the C:\Documents and Settings\All Users\.

Shared application data

%PROGRAMDATA% or %ALLUSERSPROFILE% contain application settings shared between all users.
On Windows Vista/7/8/10, %PROGRAMDATA% points to a hidden folder at C:\ProgramData\.
On Windows 2000/XP, %ALLUSERSPROFILE%\Application Data\ points to C:\Documents and Settings\All Users\Application Data\.

Shared applications

%PROGRAMFILES% always points to the appropriate Program Files folder based on the bitness of the running process. For 32-bit processes, it typically resolves to C:\Program Files on 32-bit Windows and C:\Program Files (x86) on 64-bit Windows. For 64-bit processes, it typically resolves to C:\Program Files.
64-bit Windows often have two more, but almost never used, environmental variables. %ProgramFiles(x86)% points to the 32-bit folder (typically C:\Program Files (x86)) whereas %ProgramW6432% points to the 64-bit folder (typically C:\Program Files), both regardless of the bitness of the running process.

Windows registry

  1. Open the Registry Editor:
    • Vista and later: open the Start screen/Start menu, type regedit, press Enter.
    • Windows XP: press Win+R, type regedit, press Enter.
  2. Go to the folder named.

HKEY_LOCAL_MACHINE

On 64-bit systems, 32-bit programs writing to HKEY_LOCAL_MACHINE\SOFTWARE are redirected to the Wow6432Node underneath, so HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node.[5]
32-bit programs writing to HKEY_LOCAL_MACHINE\SOFTWARE without elevation are redirected to HKEY_CURRENT_USER\Software\Classes\VirtualStore\MACHINE\SOFTWARE on Windows Vista and later.[6]
The above two bullets can happen simultaneously, so 32-bit programs running without elevation on 64-bit systems that are attempting to write to HKEY_LOCAL_MACHINE\SOFTWARE will be redirected to HKEY_CURRENT_USER\Software\Classes\VirtualStore\MACHINE\SOFTWARE\Wow6432Node on Windows Vista and later.

HKEY_CURRENT_USER

On 64-bit systems, note that 32-bit programs writing to HKEY_CURRENT_USER\Software are not redirected to the Wow6432Node underneath but are instead left untouched and allowed to write to HKEY_CURRENT_USER\Software. This is in contrast with writes to HKEY_LOCAL_MACHINE which are redirected by Windows.

User ID

A User ID is a unique identifier used to identify accounts. Files are sometimes saved to user specific location such as using profile name or numbered ID in filename/path indicated by <user-id>. This can vary between users.

Steam

Steam has multiple user ids, but the one most commonly used by users is the steamID64 which contains 17 numbers and starts with 7656.
The customURL is a customizable id which can be set in the Steam profile settings.

Origin

Origin uses randomized characters including letters (a-Z) and numbers mixed together, ending with two hyphens. For example, Hawaii_Beach has the following ID: BobyAWXzmLlf6NasXubNEw--

Ubisoft Connect

Ubisoft uses the GUID format.

macOS (OS X) paths

$HOME refers to the user's home folder, for example /Users/user/, where the account name is "user".

Note: The hidden Library folder can be reached via "Finder > Shift+ Command+G > ~/Library > Go" path.

Linux paths

The correct place on Linux to store save data and configuration files are specified by the XDG base directory specification.

XDG paths

Most distributions do not set a default option for these environmental variables.
Games using $XDG_DATA_HOME should default to $HOME/.local/share for the save path.
Games using $XDG_CONFIG_HOME should default to $HOME/.config for the configuration path.

Note: a game using the fall-back paths doesn't guarantee it is following the XDG specification. For example, Game Maker and Unity 4 titles do not actually use the relevant environmental variables, despite using the correct fall-back path.

Home

$HOME refers to the user's home folder, for example /home/user, where the account name is "user".


Notes

  1. The default installation folder of Steam is C:\Program Files (x86)\Steam on 64-bit Windows.[3] This essentially means that on 64bit Windows, Steam is being installed to %PROGRAMFILES(X86)% as that particular environmental variable only exists in 64-bit Windows and points to C:\Program Files (x86) regardless of bitness of the running process. Technically speaking, the Steam installer actually makes use of %PROGRAMFILES% on both 32-bit and 64-bit Windows, however as the installer itself is 32-bit even on 64-bit Windows, %PROGRAMFILES% points to C:\Program Files (x86) for the installer process, and so it gets installed there. Because of this, we use %PROGRAMFILES(X86)% to refer to the install location on 64-bit Windows, as the alternative would be much too cumbersome to perform for the average user.[4]

References

  1. Windows Vista Application Development Requirements for User Account Control Compatibility - MSDN
  2. Security: Inside Windows Vista User Account Control - TechNet
  3. Verified by User:Aemony on 2020-07-21
    I just uninstalled Steam and reinstalled it to confirm this, using a fresh download of the installer.
  4. Verified by User:Aemony on 2020-07-21
    Imagine asking the average user to run the 32-bit command prompt by running %WINDIR%\SysWOW64\cmd.exe, then type in explorer %PROGRAMFILES% and hit Enter solely to be taken to the C:\Program Files (x86) location the 'proper' way. Pointing them to %PROGRAMFILES(X86)% so much easier.
  5. 32-bit and 64-bit Application Data in the Registry (Windows) - MSDN
  6. Registry Virtualization in Windows Vista - MSDN