.. _doc_packaging_godot: Packaging Godot =============== Starting with 2.0, Godot has features to make it easier to package it for application repositories. Default behaviour ----------------- 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``. If ``APPDATA`` doesn't exist, Godot checks the ``HOME`` environment variable. The per-user directory is then the ".godot" subdir of ``$HOME``. This meets common operating system standards. Global template path (Unix only) -------------------------------- The ``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 called ``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 format as ``engine.cfg``, etc). So far it can contain a list of pre-loaded project in this format: :: [init_projects] list=["demos/2d/platformer", "demos/2d/isometric"] The paths are relative to the executable location, and will be added to the file ``editor_settings.xml`` when this is created for the first time.