File paths in Godot projects
To make supporting multiple platforms easier, Godot only accepts UNIX-style path separators (/
). These work on all platforms, including Windows.
Instead of writing paths like C:\Projects
, in Godot, you should write C:/Projects
.
Godot considers that a project exists in any folder that contains a project.godot
text file, even if the file is empty. The folder that contains this file is your project’s root folder.
You can access any file relative to it by writing paths starting with res://
, which stands for resources. For example, you can access an image file character.png
located in the project’s root folder in code with the following path: res://character.png
.
To store persistent data files, like the player’s save or settings, you want to use user://
instead of res://
as your path’s prefix. This is because when the game is running, the project’s file system will likely be read-only.
The user://
prefix points to a different directory on the user’s device. Unlike res://
, the directory pointed at by user://
is guaranteed to be writable to, even in an exported project.
On desktop platforms, the actual directory paths for are:
[project_name]
is based on the application name defined in the Project Settings, but you can override it on a per-platform basis using .
On mobile platforms, this path is unique to the project and is not accessible by other applications for security reasons.
On HTML5 exports, user://
will refer to a virtual filesystem stored on the device via IndexedDB. (Interaction with the main filesystem can still be performed through the JavaScript singleton.)
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 |
|
User data (when project setting is |
|
| |
Cache |
|
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. You can override environment variables following the specification to change the editor and project data paths.
Note
If you use , the editor data paths will be located in subfolders in ~/.var/app/org.godotengine.Godot/
.
If you create a file called ._sc_
or _sc_
in the same directory as the editor binary, Godot will enable self-contained mode. This mode makes Godot write all user data to a directory named in the same directory as the editor binary. You can use it to create a portable installation of the editor.
The uses self-contained mode by default.
Self-contained mode is not supported in exported projects yet. To read and write files relative to the executable path, use OS.get_executable_path(). Note that writing files in the executable path only works if the executable is placed in a writable location (i.e. not Program Files or another directory that is read-only for regular users).