Starting with 2.0, Godot has features to make it easier to package it for application repositories.
Per default, Godot stores all settings and installed templates in a per-user directory.
First Godot checks the
APPDATA environment variable. If it exists, the per-user directory
is the “Godot” subdirectory of
APPDATA doesn’t exist, Godot checks the
HOME environment variable. The per-user
directory is then the “.godot” subdir of
This meets common operating system standards.
Global template path (Unix only)¶
unix_global_settings_path build variable is meant for Unix/Linux distro packagers
who want to package export templates together with godot. It allows to put the export
templates on a hardcoded path.
To use it, pass the desired path via the scons
unix_global_settings_path build variable
when building the editor. The export templates then live at the “templates” subdirectory
of the path specified.
Templates installed at the per-user location still override the system wide templates.
This option is only available on unix based platforms.
Self contained mode¶
The self contained mode can be used to package godot for distribution systems where godot
doesn’t live at a fixed location. If the godot editor finds a
._sc_ file in the directory
the executable is located, godot will continue in “self contained mode”.
In self contained mode, all config files are located next to the executable in a directory
editor_data. Godot doesn’t read or write to the per-user location anymore.
The contents of the
._sc_ file (when not empty) are read with the ConfigFile api (same
engine.cfg, etc). So far it can contain a list of pre-loaded project in this
[init_projects] list=["demos/2d/platformer", "demos/2d/isometric"]
The paths are relative to the executable location, and will be added to the file
when this is created for the first time.