Data paths

Path separators

For the sake of supporting as many platforms as possible, Godot only accepts UNIX-style path separators (/). These work on all platforms, including Windows.

A path like C:\Projects will become C:/Projects.

Resource path

As mentioned in the Command line tutorial, Godot considers that a project exists in any given folder that contains a project.godot text file, even if such file is empty.

Accessing project files can be done by opening any path with res:// as a base. For example, a texture located in the root of the project folder may be opened from the following path: res://some_texture.png.

User path (persistent data)

While the project is running, it is a common scenario that the resource path will be read-only, due to it being inside a package, self-contained executable, or system-wide install location.

Storing persistent files in such scenarios should be done by using the user:// prefix, for example: user://game_save.txt.

On some devices (for example, mobile and consoles), this path is unique to the project. On desktop operating systems, the engine uses the typical ~/.local/share/godot/app_userdata/Name on macOS and Linux, and %APPDATA%/Name on Windows. Name is taken from the application name defined in the Project Settings, but it can be overridden on a per-platform basis using feature tags.

Editor data paths

The editor uses different paths for user data, user settings and cache depending on the platform. By default, these paths are:

Type Location
User data
  • Windows: %APPDATA%\Godot\
  • macOS: ~/Library/Application Support/Godot/
  • Linux: ~/.local/share/godot/
User settings
  • Windows: %APPDATA%\Godot\
  • macOS: ~/Library/Application Support/Godot/
  • Linux: ~/.config/godot/
Cache
  • Windows: %TEMP%\Godot\
  • macOS: ~/Library/Caches/Godot/
  • Linux: ~/.cache/godot/
  • User data contains export templates and project-specific data.
  • User settings contains editor settings, text editor themes, script templates, etc.
  • Cache contains temporary data. It can safely be removed when Godot is closed.

Godot complies with the XDG Base Directory Specification on all platforms. Environment variables can be overridden as per the specification to change the editor (and project) data paths.

Self-contained mode

If you create a file called ._sc_ or _sc_ in the same directory as the editor binary, Godot will enable self-contained mode. This will make Godot write all user data to a directory named editor_data/ in the same directory as the editor binary. This is useful to create a “portable” installation, which can then be placed on an USB drive.

The Steam release of Godot uses self-contained mode by default.