:github_url: hide

.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
.. DO NOT EDIT THIS FILE, but the EditorSettings.xml source instead.
.. The source is found in doc/classes or modules/<name>/doc_classes.

.. _class_EditorSettings:

EditorSettings
==============

**Inherits:** :ref:`Resource<class_Resource>` **<** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`

Object that holds the project-independent editor settings.

Description
-----------

Object that holds the project-independent editor settings. These settings are generally visible in the **Editor > Editor Settings** menu.

Accessing the settings is done by using the regular :ref:`Object<class_Object>` API, such as:

::

    settings.set(prop,value)
    settings.get(prop)
    list_of_settings = settings.get_property_list()

Methods
-------

+---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void                                              | :ref:`add_property_info<class_EditorSettings_method_add_property_info>` **(** :ref:`Dictionary<class_Dictionary>` info **)**                                                                                     |
+---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void                                              | :ref:`erase<class_EditorSettings_method_erase>` **(** :ref:`String<class_String>` property **)**                                                                                                                 |
+---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`get_favorites<class_EditorSettings_method_get_favorites>` **(** **)** const                                                                                                                                |
+---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Variant<class_Variant>`                     | :ref:`get_project_metadata<class_EditorSettings_method_get_project_metadata>` **(** :ref:`String<class_String>` section, :ref:`String<class_String>` key, :ref:`Variant<class_Variant>` default=null **)** const |
+---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`String<class_String>`                       | :ref:`get_project_settings_dir<class_EditorSettings_method_get_project_settings_dir>` **(** **)** const                                                                                                          |
+---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`get_recent_dirs<class_EditorSettings_method_get_recent_dirs>` **(** **)** const                                                                                                                            |
+---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Variant<class_Variant>`                     | :ref:`get_setting<class_EditorSettings_method_get_setting>` **(** :ref:`String<class_String>` name **)** const                                                                                                   |
+---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`String<class_String>`                       | :ref:`get_settings_dir<class_EditorSettings_method_get_settings_dir>` **(** **)** const                                                                                                                          |
+---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>`                           | :ref:`has_setting<class_EditorSettings_method_has_setting>` **(** :ref:`String<class_String>` name **)** const                                                                                                   |
+---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>`                           | :ref:`property_can_revert<class_EditorSettings_method_property_can_revert>` **(** :ref:`String<class_String>` name **)**                                                                                         |
+---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Variant<class_Variant>`                     | :ref:`property_get_revert<class_EditorSettings_method_property_get_revert>` **(** :ref:`String<class_String>` name **)**                                                                                         |
+---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void                                              | :ref:`set_favorites<class_EditorSettings_method_set_favorites>` **(** :ref:`PackedStringArray<class_PackedStringArray>` dirs **)**                                                                               |
+---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void                                              | :ref:`set_initial_value<class_EditorSettings_method_set_initial_value>` **(** :ref:`StringName<class_StringName>` name, :ref:`Variant<class_Variant>` value, :ref:`bool<class_bool>` update_current **)**        |
+---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void                                              | :ref:`set_project_metadata<class_EditorSettings_method_set_project_metadata>` **(** :ref:`String<class_String>` section, :ref:`String<class_String>` key, :ref:`Variant<class_Variant>` data **)**               |
+---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void                                              | :ref:`set_recent_dirs<class_EditorSettings_method_set_recent_dirs>` **(** :ref:`PackedStringArray<class_PackedStringArray>` dirs **)**                                                                           |
+---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void                                              | :ref:`set_setting<class_EditorSettings_method_set_setting>` **(** :ref:`String<class_String>` name, :ref:`Variant<class_Variant>` value **)**                                                                    |
+---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

Signals
-------

.. _class_EditorSettings_signal_settings_changed:

- **settings_changed** **(** **)**

Emitted when editor settings change.

Constants
---------

.. _class_EditorSettings_constant_NOTIFICATION_EDITOR_SETTINGS_CHANGED:

- **NOTIFICATION_EDITOR_SETTINGS_CHANGED** = **10000** --- Emitted when editor settings change. It used by various editor plugins to update their visuals on theme changes or logic on configuration changes.

Method Descriptions
-------------------

.. _class_EditorSettings_method_add_property_info:

- void **add_property_info** **(** :ref:`Dictionary<class_Dictionary>` info **)**

Adds a custom property info to a property. The dictionary must contain:

- ``name``: :ref:`String<class_String>` (the name of the property)

- ``type``: :ref:`int<class_int>` (see :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>`)

- optionally ``hint``: :ref:`int<class_int>` (see :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>`) and ``hint_string``: :ref:`String<class_String>`

**Example:**

::

    editor_settings.set("category/property_name", 0)
    
    var property_info = {
        "name": "category/property_name",
        "type": TYPE_INT,
        "hint": PROPERTY_HINT_ENUM,
        "hint_string": "one,two,three"
    }
    
    editor_settings.add_property_info(property_info)

----

.. _class_EditorSettings_method_erase:

- void **erase** **(** :ref:`String<class_String>` property **)**

Erase a given setting (pass full property path).

----

.. _class_EditorSettings_method_get_favorites:

- :ref:`PackedStringArray<class_PackedStringArray>` **get_favorites** **(** **)** const

Gets the list of favorite files and directories for this project.

----

.. _class_EditorSettings_method_get_project_metadata:

- :ref:`Variant<class_Variant>` **get_project_metadata** **(** :ref:`String<class_String>` section, :ref:`String<class_String>` key, :ref:`Variant<class_Variant>` default=null **)** const

----

.. _class_EditorSettings_method_get_project_settings_dir:

- :ref:`String<class_String>` **get_project_settings_dir** **(** **)** const

Gets the specific project settings path. Projects all have a unique sub-directory inside the settings path where project specific settings are saved.

----

.. _class_EditorSettings_method_get_recent_dirs:

- :ref:`PackedStringArray<class_PackedStringArray>` **get_recent_dirs** **(** **)** const

Gets the list of recently visited folders in the file dialog for this project.

----

.. _class_EditorSettings_method_get_setting:

- :ref:`Variant<class_Variant>` **get_setting** **(** :ref:`String<class_String>` name **)** const

----

.. _class_EditorSettings_method_get_settings_dir:

- :ref:`String<class_String>` **get_settings_dir** **(** **)** const

Gets the global settings path for the engine. Inside this path, you can find some standard paths such as:

``settings/tmp`` - Used for temporary storage of files

``settings/templates`` - Where export templates are located

----

.. _class_EditorSettings_method_has_setting:

- :ref:`bool<class_bool>` **has_setting** **(** :ref:`String<class_String>` name **)** const

----

.. _class_EditorSettings_method_property_can_revert:

- :ref:`bool<class_bool>` **property_can_revert** **(** :ref:`String<class_String>` name **)**

----

.. _class_EditorSettings_method_property_get_revert:

- :ref:`Variant<class_Variant>` **property_get_revert** **(** :ref:`String<class_String>` name **)**

----

.. _class_EditorSettings_method_set_favorites:

- void **set_favorites** **(** :ref:`PackedStringArray<class_PackedStringArray>` dirs **)**

Sets the list of favorite files and directories for this project.

----

.. _class_EditorSettings_method_set_initial_value:

- void **set_initial_value** **(** :ref:`StringName<class_StringName>` name, :ref:`Variant<class_Variant>` value, :ref:`bool<class_bool>` update_current **)**

----

.. _class_EditorSettings_method_set_project_metadata:

- void **set_project_metadata** **(** :ref:`String<class_String>` section, :ref:`String<class_String>` key, :ref:`Variant<class_Variant>` data **)**

----

.. _class_EditorSettings_method_set_recent_dirs:

- void **set_recent_dirs** **(** :ref:`PackedStringArray<class_PackedStringArray>` dirs **)**

Sets the list of recently visited folders in the file dialog for this project.

----

.. _class_EditorSettings_method_set_setting:

- void **set_setting** **(** :ref:`String<class_String>` name, :ref:`Variant<class_Variant>` value **)**

