EditorSettings¶
Inherits: Resource < Reference < 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.
Property names use slash delimiters to distinguish sections. Setting values can be of any Variant type. It's recommended to use snake_case
for editor settings to be consistent with the Godot editor itself.
Accessing the settings can be done using the following methods, such as:
# `settings.set("some/property", value)` also works as this class overrides `_set()` internally.
settings.set_setting("some/property",value)
# `settings.get("some/property", value)` also works as this class overrides `_get()` internally.
settings.get_setting("some/property")
var list_of_settings = settings.get_property_list()
Note: This class shouldn't be instantiated directly. Instead, access the singleton using EditorInterface.get_editor_settings.
Properties¶
text_editor/completion/put_callhint_tooltip_below_current_line |
|
text_editor/navigation/stay_in_script_editor_on_node_selected |
|
Methods¶
void |
add_property_info ( Dictionary info ) |
void |
|
get_favorites ( ) const |
|
get_project_metadata ( String section, String key, Variant default=null ) const |
|
get_project_settings_dir ( ) const |
|
get_recent_dirs ( ) const |
|
get_setting ( String name ) const |
|
get_settings_dir ( ) const |
|
has_setting ( String name ) const |
|
property_can_revert ( String name ) |
|
property_get_revert ( String name ) |
|
void |
set_favorites ( PoolStringArray dirs ) |
void |
set_initial_value ( String name, Variant value, bool update_current ) |
void |
set_project_metadata ( String section, String key, Variant data ) |
void |
set_recent_dirs ( PoolStringArray dirs ) |
void |
set_setting ( String name, Variant value ) |
Signals¶
settings_changed ( )
Emitted after any editor setting has changed.
Constants¶
NOTIFICATION_EDITOR_SETTINGS_CHANGED = 10000
Emitted after any editor setting has changed. It's used by various editor plugins to update their visuals on theme changes or logic on configuration changes.
Property Descriptions¶
bool docks/filesystem/always_show_folders
If true
, displays folders in the FileSystem dock's bottom pane when split mode is enabled. If false
, only files will be displayed in the bottom pane. Split mode can be toggled by pressing the icon next to the res://
folder path.
Note: This setting has no effect when split mode is disabled (which is the default).
int docks/filesystem/thumbnail_size
The thumbnail size to use in the FileSystem dock (in pixels). See also filesystem/file_dialog/thumbnail_size.
float docks/property_editor/auto_refresh_interval
The refresh interval to use for the inspector dock's properties. The effect of this setting is mainly noticeable when adjusting gizmos in the 2D/3D editor and looking at the inspector at the same time. Lower values make the inspector more often, but take up more CPU time.
float docks/property_editor/subresource_hue_tint
The tint intensity to use for the subresources background in the inspector dock. The tint is used to distinguish between different subresources in the inspector. Higher values result in a more noticeable background color difference.
bool docks/scene_tree/start_create_dialog_fully_expanded
If true
, the Create dialog (Create New Node/Create New Resource) will start with all its sections expanded. Otherwise, sections will be collapsed until the user starts searching (which will automatically expand sections as needed).
Color editors/2d/bone_color1
The "start" stop of the color gradient to use for bones in the 2D skeleton editor.
Color editors/2d/bone_color2
The "end" stop of the color gradient to use for bones in the 2D skeleton editor.
Color editors/2d/bone_ik_color
The color to use for inverse kinematics-enabled bones in the 2D skeleton editor.
Color editors/2d/bone_outline_color
The outline color to use for non-selected bones in the 2D skeleton editor. See also editors/2d/bone_selected_color.
int editors/2d/bone_outline_size
The outline size in the 2D skeleton editor (in pixels). See also editors/2d/bone_width.
Color editors/2d/bone_selected_color
The color to use for selected bones in the 2D skeleton editor. See also editors/2d/bone_outline_color.
int editors/2d/bone_width
The bone width in the 2D skeleton editor (in pixels). See also editors/2d/bone_outline_size.
bool editors/2d/constrain_editor_view
If true
, prevents the 2D editor viewport from leaving the scene. Limits are calculated dynamically based on nodes present in the current scene. If false
, the 2D editor viewport will be able to move freely, but you risk getting lost when zooming out too far. You can refocus on the scene by selecting a node then pressing F.
Color editors/2d/grid_color
The grid color to use in the 2D editor.
Color editors/2d/guides_color
The guides color to use in the 2D editor. Guides can be created by dragging the mouse cursor from the rulers.
int editors/2d/pan_speed
The pan speed factor when scrolling the mouse wheel on the 2D editor viewport. Only effective if editors/2d/scroll_to_pan is true
.
bool editors/2d/scroll_to_pan
If true
, scrolling the mouse wheel will pan vertically instead of zoom in the 2D editor. Holding Shift at the same time will pan horizontally instead of vertically. See editors/2d/pan_speed to adjust the scrolling speed.
Note: If true
, holding Ctrl will temporarily override this behavior and will zoom instead of pan.
bool editors/2d/simple_panning
If true
, allows panning in the 2D editor viewport by holding Space, without having to hold any mouse buttons at the same time. This can be useful to improve navigation usability when using a trackpad.
Color editors/2d/smart_snapping_line_color
The color to use when drawing smart snapping lines in the 2D editor. The smart snapping lines will automatically display when moving 2D nodes if smart snapping is enabled in the Snapping Options menu at the top of the 2D editor viewport.
Color editors/2d/viewport_border_color
The color of the viewport border in the 2D editor. This border represents the viewport's size at the base resolution defined in the Project Settings. Objects placed outside this border will not be visible unless a Camera2D node is used, or unless the window is resized and the stretch mode is set to disabled
.
bool editors/2d/warped_mouse_panning
If true
, wraps around the mouse cursor when it reaches one of the 2D editor viewport's edges. This makes panning over large areas easier, as you don't have to stop and reposition the mouse every time it's about to hit the screen's borders.
float editors/3d/default_fov
The default camera field of view to use in the 3D editor (in degrees). The camera field of view can be adjusted on a per-scene basis using the View menu at the top of the 3D editor. If a scene had its camera field of view adjusted using the View menu, this setting is ignored in the scene in question. This setting is also ignored while a Camera3D node is being previewed in the editor.
float editors/3d/default_z_far
The default camera far clip distance to use in the 3D editor (in degrees). Higher values make it possible to view objects placed further away from the camera, at the cost of lower precision in the depth buffer (which can result in visible Z-fighting in the distance). The camera far clip distance can be adjusted on a per-scene basis using the View menu at the top of the 3D editor. If a scene had its camera far clip distance adjusted using the View menu, this setting is ignored in the scene in question. This setting is also ignored while a Camera3D node is being previewed in the editor.
float editors/3d/default_z_near
The default camera near clip distance to use in the 3D editor (in degrees). Lower values make it possible to view objects placed closer to the camera, at the cost of lower precision in the depth buffer (which can result in visible Z-fighting in the distance). The camera near clip distance can be adjusted on a per-scene basis using the View menu at the top of the 3D editor. If a scene had its camera near clip distance adjusted using the View menu, this setting is ignored in the scene in question. This setting is also ignored while a Camera3D node is being previewed in the editor.
int editors/3d/freelook/freelook_activation_modifier
The modifier key to use to enable freelook in the 3D editor (on top of pressing the right mouse button).
Note: Regardless of this setting, the freelook toggle keyboard shortcut (Shift + F by default) is always available.
Note: On certain window managers on Linux, the Alt key will be intercepted by the window manager when clicking a mouse button at the same time. This means Godot will not see the modifier key as being pressed.
float editors/3d/freelook/freelook_base_speed
The base 3D freelook speed in units per second. This can be adjusted by using the mouse wheel while in freelook mode, or by holding down the "fast" or "slow" modifier keys (Shift and Alt by default, respectively).
float editors/3d/freelook/freelook_inertia
The inertia of the 3D freelook camera. Higher values make the camera start and stop slower, which looks smoother but adds latency.
The navigation scheme to use when freelook is enabled in the 3D editor. Some of the navigation schemes below may be more convenient when designing specific levels in the 3D editor.
Default: The "Freelook Forward", "Freelook Backward", "Freelook Up" and "Freelook Down" keys will move relative to the camera, taking its pitch angle into account for the movement.
Partially Axis-Locked: The "Freelook Forward" and "Freelook Backward" keys will move relative to the camera, taking its pitch angle into account for the movement. The "Freelook Up" and "Freelook Down" keys will move in an "absolute" manner, not taking the camera's pitch angle into account for the movement.
Fully Axis-Locked: The "Freelook Forward", "Freelook Backward", "Freelook Up" and "Freelook Down" keys will move in an "absolute" manner, not taking the camera's pitch angle into account for the movement.
See also editors/3d/navigation/navigation_scheme.
float editors/3d/freelook/freelook_sensitivity
The mouse sensitivity to use while freelook mode is active in the 3D editor. See also editors/3d/navigation_feel/orbit_sensitivity.
bool editors/3d/freelook/freelook_speed_zoom_link
If true
, freelook speed is linked to the zoom value used in the camera orbit mode in the 3D editor.
float editors/3d/grid_division_level_bias
The grid division bias to use in the 3D editor. Negative values will cause small grid divisions to appear earlier, whereas positive values will cause small grid divisions to appear later.
int editors/3d/grid_division_level_max
The smallest grid division to use in the 3D editor, specified as a power of 2. The grid will not be able to get larger than 1 ^ grid_division_level_max
units. By default, this means grid divisions cannot get smaller than 100 units each, no matter how far away the camera is from the grid.
int editors/3d/grid_division_level_min
The smallest grid division to use in the 3D editor, specified as a power of 2. The grid will not be able to get smaller than 1 ^ grid_division_level_min
units. By default, this means grid divisions cannot get smaller than 1 unit each, no matter how close the camera is from the grid.
int editors/3d/grid_size
The grid size in units. Higher values prevent the grid from appearing "cut off" at certain angles, but make the grid more demanding to render. Depending on the camera's position, the grid may not be fully visible since a shader is used to fade it progressively.
bool editors/3d/grid_xy_plane
If true
, render the grid on an XY plane. This can be useful for 3D side-scrolling games.
bool editors/3d/grid_xz_plane
If true
, render the grid on an XZ plane.
bool editors/3d/grid_yz_plane
If true
, render the grid on an YZ plane. This can be useful for 3D side-scrolling games.
int editors/3d/lightmap_baking_number_of_cpu_threads
The number of CPU threads to use for baking lightmaps with BakedLightmap. A value of 0
will use all CPU logical cores, while positive values will set the maximum number of CPU threads that can be used when baking lightmaps. Negative values will use all CPU cores minus the amount specified in the negative number.
Using less CPU cores than the total amount of cores available will slow down lightmap baking, but will allow other tasks on the PC to be more reactive while lightmaps are baking.
If true
, enables 3-button mouse emulation mode. This is useful on laptops when using a trackpad.
When 3-button mouse emulation mode is enabled, the pan, zoom and orbit modifiers can always be used in the 3D editor viewport, even when not holding down any mouse button.
Note: No matter the orbit modifier configured in editors/3d/navigation/orbit_modifier, Alt will always remain usable for orbiting in this mode to improve usability with graphics tablets.
If true
, allows using the top row 0-9 keys to function as their equivalent numpad keys for 3D editor navigation. This should be enabled on keyboards that have no numeric keypad available.
If true
, invert the horizontal mouse axis when panning or orbiting in the 3D editor. This setting does not apply to freelook mode.
If true
, invert the vertical mouse axis when panning, orbiting, or using freelook mode in the 3D editor.
The navigation scheme to use in the 3D editor. Changing this setting will affect the mouse buttons that must be held down to perform certain operations in the 3D editor viewport.
Godot Middle mouse button to orbit, Shift + Middle mouse button to pan. Mouse wheel to zoom.
Maya: Alt + Left mouse button to orbit. Middle mouse button to pan, Shift + Middle mouse button to pan 10 times faster. Mouse wheel to zoom.
Modo: Alt + Left mouse button to orbit. Alt + Shift + Left mouse button to pan. Ctrl + Alt + Left mouse button to zoom.
See also editors/3d/freelook/freelook_navigation_scheme.
Note: On certain window managers on Linux, the Alt key will be intercepted by the window manager when clicking a mouse button at the same time. This means Godot will not see the modifier key as being pressed.
The modifier key that must be held to orbit in the 3D editor.
Note: If editors/3d/navigation/emulate_3_button_mouse is true
, Alt will always remain usable for orbiting to improve usability with graphics tablets.
Note: On certain window managers on Linux, the Alt key will be intercepted by the window manager when clicking a mouse button at the same time. This means Godot will not see the modifier key as being pressed.
The modifier key that must be held to pan in the 3D editor.
Note: On certain window managers on Linux, the Alt key will be intercepted by the window manager when clicking a mouse button at the same time. This means Godot will not see the modifier key as being pressed.
If true
, warps the mouse around the 3D viewport while panning in the 3D editor. This makes it possible to pan over a large area without having to exit panning then mouse the mouse back constantly.
The modifier key that must be held to zoom in the 3D editor.
Note: On certain window managers on Linux, the Alt key will be intercepted by the window manager when clicking a mouse button at the same time. This means Godot will not see the modifier key as being pressed.
The mouse cursor movement direction to use when zooming by moving the mouse. This does not affect zooming with the mouse wheel.
The inertia to use when orbiting in the 3D editor. Higher values make the camera start and stop slower, which looks smoother but adds latency.
The mouse sensitivity to use when orbiting in the 3D editor. See also editors/3d/freelook/freelook_sensitivity.
The inertia to use when panning in the 3D editor. Higher values make the camera start and stop slower, which looks smoother but adds latency.
The inertia to use when zooming in the 3D editor. Higher values make the camera start and stop slower, which looks smoother but adds latency.
Color editors/3d/primary_grid_color
The color to use for the primary 3D grid. The color's alpha channel affects the grid's opacity.
int editors/3d/primary_grid_steps
If set above 0, where a primary grid line should be drawn. By default, primary lines are configured to be more visible than secondary lines. This helps with measurements in the 3D editor. See also editors/3d/primary_grid_color and editors/3d/secondary_grid_color.
Color editors/3d/secondary_grid_color
The color to use for the secondary 3D grid. This is generally a less visible color than editors/3d/primary_grid_color. The color's alpha channel affects the grid's opacity.
Color editors/3d/selection_box_color
The color to use for the selection box that surrounds selected nodes in the 3D editor viewport. The color's alpha channel influences the selection box's opacity.
Color editors/3d_gizmos/gizmo_colors/instanced
The color override to use for 3D editor gizmos if the Spatial in question is part of an instanced scene file (from the perspective of the current scene).
Color editors/3d_gizmos/gizmo_colors/joint
The 3D editor gizmo color for Joints and PhysicalBones.
Color editors/3d_gizmos/gizmo_colors/shape
The 3D editor gizmo color for CollisionShapes, VehicleWheels, RayCasts and SpringArms.
bool editors/animation/autorename_animation_tracks
If true
, automatically updates animation tracks' target paths when renaming or reparenting nodes in the Scene tree dock.
bool editors/animation/confirm_insert_track
If true
, display a confirmation dialog when adding a new track to an animation by pressing the "key" icon next to a property.
bool editors/animation/default_create_bezier_tracks
If true
, create a Bezier track instead of a standard track when pressing the "key" icon next to a property. Bezier tracks provide more control over animation curves, but are more difficult to adjust quickly.
bool editors/animation/default_create_reset_tracks
If true
, create a RESET
track when creating a new animation track. This track can be used to restore the animation to a "default" state.
Color editors/animation/onion_layers_future_color
The modulate color to use for "future" frames displayed in the animation editor's onion skinning feature.
Color editors/animation/onion_layers_past_color
The modulate color to use for "past" frames displayed in the animation editor's onion skinning feature.
float editors/grid_map/pick_distance
The maximum distance at which tiles can be placed on a GridMap, relative to the camera position (in 3D units).
int editors/grid_map/preview_size
The size of tiles in the GridMap editor sidebar (in pixels).
int editors/poly_editor/point_grab_radius
The radius of each point's clickable area in 2D and 3D polygon editors (in pixels). Increase this value if you are having trouble selecting points in polygon editors. However, increasing this value may make it more difficult to select points located close to each other.
bool editors/poly_editor/show_previous_outline
If true
, displays a gray outline matching the polygon's previous shape while dragging one of the points.
float editors/visual_editors/minimap_opacity
The opacity of the minimap displayed in the bottom-right corner of the visual script and visual shader editors.
String filesystem/directories/autoscan_project_path
The folder where projects should be scanned for (recursively), in a way similar to the project manager's Scanbutton. This can be set to the same value as filesystem/directories/default_project_path for convenience.
Note: Setting this path to a folder with very large amounts of files/folders can slow down the project manager startup significantly. To keep the project manager quick to start up, it is recommended to set this value to a folder as "specific" as possible.
String filesystem/directories/default_project_path
The folder where new projects should be created by default when clicking the project manager's New Project button. This can be set to the same value as filesystem/directories/autoscan_project_path for convenience.
int filesystem/file_dialog/display_mode
The display mode to use in the editor's file dialogs.
Thumbnails takes more space, but displays dynamic resource thumbnails, making resources easier to preview without having to open them.
List is more compact but doesn't display dynamic resource thumbnails. Instead, it displays static icons based on the file extension.
If true
, display hidden files in the editor's file dialogs. Files that have names starting with .
are considered hidden (e.g. .hidden_file
).
int filesystem/file_dialog/thumbnail_size
The thumbnail size to use in the editor's file dialogs (in pixels). See also docks/filesystem/thumbnail_size.
bool filesystem/on_save/compress_binary_resources
If true
, uses lossless compression for binary resources.
bool filesystem/on_save/safe_save_on_backup_then_rename
If true
, when saving a file, the editor will rename the old file to a different name, save a new file, then only remove the old file once the new file has been saved. This makes loss of data less likely to happen if the editor or operating system exits unexpectedly while saving (e.g. due to a crash or power outage).
Note: On Windows, this feature can interact negatively with certain antivirus programs. In this case, you may have to set this to false
to prevent file locking issues.
int interface/editor/accept_dialog_cancel_ok_buttons
How to position the Cancel and OK buttons in the editor's AcceptDialogs. Different platforms have different standard behaviors for this, which can be overridden using this setting. This is useful if you use Godot both on Windows and macOS/Linux and your Godot muscle memory is stronger than your OS specific one.
Auto follows the platform convention: Cancel first on macOS and Linux, OK first on Windows.
Cancel First forces the ordering Cancel/OK.
OK First forces the ordering OK/Cancel.
bool interface/editor/automatically_open_screenshots
If true
, automatically opens screenshots with the default program associated to .png
files after a screenshot is taken using the Editor > Take Screenshot action.
String interface/editor/code_font
The font to use for the script editor. Must be a resource of a Font type such as a .ttf
or .otf
font file.
int interface/editor/code_font_size
The size of the font in the script editor. This setting does not impact the font size of the Output panel (see run/output/font_size).
float interface/editor/custom_display_scale
The custom editor scale factor to use. This can be used for displays with very high DPI where a scale factor of 200% is not sufficient.
Note: Only effective if interface/editor/display_scale is set to Custom.
bool interface/editor/dim_editor_on_dialog_popup
If true
, darkens the rest of the editor when a modal dialog is open. If you need to pick colors on the rest of the editor while in modal dialog, disable this option.
int interface/editor/display_scale
The display scale factor to use for the editor interface. Higher values are more suited to hiDPI/Retina displays.
If set to Auto, the editor scale is automatically determined based on the screen resolution and reported display DPI. This heuristic is not always ideal, which means you can get better results by setting the editor scale manually.
If set to Custom, the scaling value in interface/editor/custom_display_scale will be used.
String interface/editor/editor_language
The language to use for the editor interface.
Translations are provided by the community. If you spot a mistake, contribute to editor translations on Weblate!
bool interface/editor/font_antialiased
If true
, enables FreeType's font antialiasing on the editor fonts. Most fonts are not designed to look good with antialiasing disabled, so it's recommended to leave this enabled unless you're using a pixel art font.
int interface/editor/font_hinting
The font hinting mode to use for the editor fonts. FreeType supports the following font hinting modes:
None: Don't use font hinting when rasterizing the font. This results in a smooth font, but it can look blurry.
Light: Use hinting on the X axis only. This is a compromise between font sharpness and smoothness.
Normal: Use hinting on both X and Y axes. This results in a sharp font, but it doesn't look very smooth.
If set to Auto, the font hinting mode will be set to match the current operating system in use. This means the Light hinting mode will be used on Windows and Linux, and the None hinting mode will be used on macOS.
float interface/editor/low_processor_mode_sleep_usec
The amount of sleeping between frames when the low-processor usage mode is enabled (in microseconds). Higher values will result in lower CPU/GPU usage, which can improve battery life on laptops. However, higher values will result in a less responsive editor. The default value is set to allow for maximum smoothness on monitors up to 144 Hz. See also interface/editor/unfocused_low_processor_mode_sleep_usec.
String interface/editor/main_font
The font to use for the editor interface. Must be a resource of a Font type such as a .ttf
or .otf
font file.
String interface/editor/main_font_bold
The font to use for bold text in the editor interface. Must be a resource of a Font type such as a .ttf
or .otf
font file.
int interface/editor/main_font_size
The size of the font in the editor interface.
bool interface/editor/quit_confirmation
If true
, displays a confirmation dialog when exiting the editor when there are no unsaved changes.
Note: Regardless of this setting, the editor will always display a quit confirmation dialog when there are unsaved changes.
bool interface/editor/save_each_scene_on_quit
If true
, the editor will save all scenes when confirming the Save action when quitting the editor or quitting to the project list. If false
, the editor will ask to save each scene individually.
bool interface/editor/separate_distraction_mode
If true
, the editor's Script tab will have a separate distraction mode setting from the 2D/3D/AssetLib tabs. If false
, the distraction-free mode toggle is shared between all tabs.
float interface/editor/unfocused_low_processor_mode_sleep_usec
When the editor window is unfocused, the amount of sleeping between frames when the low-processor usage mode is enabled (in microseconds). Higher values will result in lower CPU/GPU usage, which can improve battery life on laptops (in addition to improving the running project's performance if the editor has to redraw continuously). However, higher values will result in a less responsive editor. The default value is set to limit the editor to 20 FPS when the editor window is unfocused. See also interface/editor/low_processor_mode_sleep_usec.
int interface/inspector/max_array_dictionary_items_per_page
The number of Array or Dictionary items to display on each "page" in the inspector. Higher values allow viewing more values per page, but take more time to load. This increased load time is noticeable when selecting nodes that have array or dictionary properties in the editor.
int interface/scene_tabs/minimum_width
The minimum width to use for each scene tab (in pixels). Only effective if interface/scene_tabs/resize_if_many_tabs is true
.
bool interface/scene_tabs/resize_if_many_tabs
If true
, sets the scene tabs' minimum width to interface/scene_tabs/minimum_width.
bool interface/scene_tabs/show_script_button
If true
, show a button next to each scene tab that opens the scene's "dominant" script when clicked. The "dominant" script is the one that is at the highest level in the scene's hierarchy.
bool interface/scene_tabs/show_thumbnail_on_hover
If true
, display an automatically-generated thumbnail when hovering scene tabs with the mouse. Scene thumbnails are generated when saving the scene.
Color interface/theme/accent_color
The color to use for "highlighted" user interface elements in the editor (pressed and hovered items).
float interface/theme/additional_spacing
The spacing to add for buttons and list items in the editor (in pixels). Increasing this value is useful to improve usability on touch screens, at the cost of reducing the amount of usable screen real estate.
Color interface/theme/base_color
The base color to use for user interface elements in the editor. Secondary colors (such as darker/lighter variants) are derived from this color.
int interface/theme/border_size
The border size to use for interface elements (in pixels).
float interface/theme/contrast
The contrast factor to use when deriving the editor theme's base color (see interface/theme/base_color). When using a positive values, the derived colors will be darker than the base color. This contrast factor can be set to a negative value, which will make the derived colors brighter than the base color. Negative contrast rates often look better for light themes.
String interface/theme/custom_theme
The custom theme resource to use for the editor. Must be a Godot theme resource in .tres
or .res
format.
bool interface/theme/highlight_tabs
If true
, makes the background of selected tabs more contrasted in the editor theme (brighter on dark themes, darker on light themes).
int interface/theme/icon_and_font_color
The icon and font color scheme to use in the editor.
Auto determines the color scheme to use automatically based on interface/theme/base_color.
Dark makes fonts and icons light (suitable for dark themes).
Light makes fonts and icons dark (suitable for light themes). Icon colors are automatically converted by the editor following this set of rules.
String interface/theme/preset
The editor theme preset to use.
float interface/theme/relationship_line_opacity
The opacity to use when drawing relationship lines in the editor's Tree-based GUIs (such as the Scene tree dock).
bool interface/theme/use_graph_node_headers
If true
, use colored header backgrounds for individual GraphNodes in the visual script and visual shader editors. This can improve usability when frequently using these editors at low zoom levels.
bool interface/touchscreen/enable_long_press_as_right_click
If true
, long press on touchscreen is treated as right click.
Note: Defaults to true
on touchscreen devices.
bool interface/touchscreen/enable_pan_and_scale_gestures
If true
, enable two finger pan and scale gestures on touchscreen devices.
Note: Defaults to true
on touchscreen devices.
bool interface/touchscreen/increase_scrollbar_touch_area
If true
, increases the scrollbar touch area to improve usability on touchscreen devices.
Note: Defaults to true
on touchscreen devices.
float interface/touchscreen/scale_gizmo_handles
Specify the multiplier to apply to the scale for the editor gizmo handles to improve usability on touchscreen devices.
Note: Defaults to 1
on non-touchscreen devices.
String network/debug/remote_host
The address to listen to when starting the remote debugger. This can be set to 0.0.0.0
to allow external clients to connect to the remote debugger (instead of restricting the remote debugger to connections from localhost
).
int network/debug/remote_port
The port to listen to when starting the remote debugger. Godot will try to use port numbers above the configured number if the configured number is already taken by another application.
String network/http_proxy/host
The host to use to contact the HTTP and HTTPS proxy in the editor (for the asset library and export template downloads). See also network/http_proxy/port.
Note: Godot currently doesn't automatically use system proxy settings, so you have to enter them manually here if needed.
int network/http_proxy/port
The port number to use to contact the HTTP and HTTPS proxy in the editor (for the asset library and export template downloads). See also network/http_proxy/host.
Note: Godot currently doesn't automatically use system proxy settings, so you have to enter them manually here if needed.
String network/ssl/editor_ssl_certificates
The SSL certificate bundle to use for HTTP requests made within the editor (e.g. from the AssetLib tab). If left empty, the included Mozilla certificate bundle will be used.
int project_manager/sorting_order
The sorting order to use in the project manager. When changing the sorting order in the project manager, this setting is set permanently in the editor settings.
bool run/auto_save/save_before_running
If true
, saves all scenes and scripts automatically before running the project. Setting this to false
prevents the editor from saving if there are no changes which can speed up the project startup slightly, but it makes it possible to run a project that has unsaved changes. (Unsaved changes will not be visible in the running project.)
bool run/output/always_clear_output_on_play
If true
, the editor will clear the Output panel when running the project.
bool run/output/always_close_output_on_stop
If true
, the editor will collapse the Output panel when stopping the project.
bool run/output/always_open_output_on_play
If true
, the editor will expand the Output panel when running the project.
int run/output/font_size
The size of the font in the Output panel at the bottom of the editor. This setting does not impact the font size of the script editor (see interface/editor/code_font_size).
int run/window_placement/android_window
The Android window to display the project on when starting the project from the editor.
Note: Only available in the Android editor.
int run/window_placement/rect
The window mode to use to display the project when starting the project from the editor.
Vector2 run/window_placement/rect_custom_position
The custom position to use when starting the project from the editor (in pixels from the top-left corner). Only effective if run/window_placement/rect is set to Custom Position.
int run/window_placement/screen
The monitor to display the project on when starting the project from the editor.
bool text_editor/appearance/code_folding
If true
, displays the folding arrows next to indented code sections and allows code folding. If false
, hides the folding arrows next to indented code sections and disallows code folding.
int text_editor/appearance/line_length_guideline_hard_column
The column at which to display a subtle line as a line length guideline for scripts. This should generally be greater than text_editor/appearance/line_length_guideline_soft_column.
int text_editor/appearance/line_length_guideline_soft_column
The column at which to display a very subtle line as a line length guideline for scripts. This should generally be lower than text_editor/appearance/line_length_guideline_hard_column.
bool text_editor/appearance/line_numbers_zero_padded
If true
, displays line numbers with zero padding (e.g. 007
instead of 7
).
bool text_editor/appearance/show_bookmark_gutter
If true
, displays a gutter at the left containing icons for bookmarks.
bool text_editor/appearance/show_breakpoint_gutter
If true
, shows breakpoint gutter and its icons. If false
, breakpoints will still be active but it won't be possible to add or remove breakpoints.
bool text_editor/appearance/show_info_gutter
If true
, displays a gutter at the left containing icons for methods with signal connections.
bool text_editor/appearance/show_line_length_guidelines
If true
, displays line length guidelines to help you keep line lengths in check. See also text_editor/appearance/line_length_guideline_soft_column and text_editor/appearance/line_length_guideline_soft_column.
bool text_editor/appearance/show_line_numbers
If true
, displays line numbers in the gutter at the left.
bool text_editor/appearance/word_wrap
If true
, wraps long lines over multiple lines to avoid horizontal scrolling. This is a display-only feature; it does not actually insert line breaks in your scripts.
bool text_editor/completion/add_type_hints
If true
, adds static typing hints such as -> void
and : int
when performing method definition autocompletion.
bool text_editor/completion/auto_brace_complete
If true
, automatically completes braces when making use of code completion.
Vector2 text_editor/completion/callhint_tooltip_offset
The offset to use when displaying callhints (non-interactive tooltips that appear during function autocompletion) in the script editor (in pixels). Not to be confused with the code completion dialog, which is interactive.
float text_editor/completion/code_complete_delay
The delay in seconds after which autocompletion suggestions should be displayed when the user stops typing.
bool text_editor/completion/complete_file_paths
If true
, provides autocompletion suggestions for file paths in methods such as load()
and preload()
.
float text_editor/completion/idle_parse_delay
The delay in seconds after which the script editor should check for errors when the user stops typing.
bool text_editor/completion/put_callhint_tooltip_below_current_line
If true
, the code completion tooltip will appear below the current line unless there is no space on screen below the current line. If false
, the code completion tooltip will appear above the current line.
bool text_editor/completion/use_single_quotes
If true
, performs string autocompletion with single quotes. If false
, performs string autocompletion with double quotes (which matches the GDScript style guide).
bool text_editor/cursor/block_caret
If true
, use a block-shaped caret instead of a line-shaped caret in the script editor.
bool text_editor/cursor/caret_blink
If true
, makes the caret blink according to text_editor/cursor/caret_blink_speed. Disabling this setting can improve battery life on laptops if you spend long amounts of time in the script editor, since it will reduce the frequency at which the editor needs to be redrawn.
float text_editor/cursor/caret_blink_speed
The interval at which to blink the caret (in seconds). See also text_editor/cursor/caret_blink.
bool text_editor/cursor/right_click_moves_caret
If true
, the caret will be moved when right-clicking somewhere in the script editor (like when left-clicking or middle-clicking). If false
, the caret will only be moved when left-clicking or middle-clicking somewhere.
bool text_editor/cursor/scroll_past_end_of_file
If true
, allows scrolling past the end of the file in the script editor.
bool text_editor/files/auto_reload_and_parse_scripts_on_save
If true
, automatically reloads and parses scripts in the editor when they are saved. This is mainly relevant for tool
scripts which run in the editor.
bool text_editor/files/auto_reload_scripts_on_external_change
If true
, automatically reloads scripts in the editor when they have been modified and saved by external editors.
int text_editor/files/autosave_interval_secs
If set to a value greater than 0
, automatically saves the current script following the specified interval (in seconds). This can be used to prevent data loss if the editor crashes.
bool text_editor/files/restore_scripts_on_load
If true
, reopens scripts that were opened in the last session when the editor is reopened on a given project.
bool text_editor/files/trim_trailing_whitespace_on_save
If true
, trims trailing whitespace when saving a script. Trailing whitespace refers to tab and space characters placed at the end of lines. Since these serve no practical purpose, they can and should be removed to make version control diffs less noisy.
int text_editor/help/help_font_size
The font size to use for the editor help (built-in class reference).
int text_editor/help/help_source_font_size
The font size to use for code samples in the editor help (built-in class reference).
int text_editor/help/help_title_font_size
The font size to use for headings in the editor help (built-in class reference).
bool text_editor/help/show_help_index
If true
, displays a table of contents at the left of the editor help (at the location where the members overview would appear when editing a script).
Color text_editor/highlighting/background_color
The script editor's background color. If set to a translucent color, the editor theme's base color will be visible behind.
Color text_editor/highlighting/base_type_color
The script editor's base type color (used for types like Vector2, Vector3, ...).
Color text_editor/highlighting/bookmark_color
The script editor's bookmark icon color (displayed in the gutter).
Color text_editor/highlighting/brace_mismatch_color
The script editor's brace mismatch color. Used when the caret is currently on a mismatched brace, parenthesis or bracket character.
Color text_editor/highlighting/breakpoint_color
The script editor's breakpoint icon color (displayed in the gutter).
Color text_editor/highlighting/caret_background_color
The script editor's caret background color.
Note: This setting has no effect as it's currently unused.
Color text_editor/highlighting/caret_color
The script editor's caret color.
Color text_editor/highlighting/code_folding_color
The script editor's color for the code folding icon (displayed in the gutter).
Color text_editor/highlighting/comment_color
The script editor's comment color.
Note: In GDScript, unlike Python, multiline strings are not considered to be comments, and will use the string highlighting color instead.
Color text_editor/highlighting/completion_background_color
The script editor's autocompletion box background color.
Color text_editor/highlighting/completion_existing_color
The script editor's autocompletion box background color to highlight existing characters in the completion results. This should be a translucent color so that text_editor/highlighting/completion_selected_color can be seen behind.
Color text_editor/highlighting/completion_font_color
The script editor's autocompletion box text color.
Color text_editor/highlighting/completion_scroll_color
The script editor's autocompletion box scroll bar color.
Color text_editor/highlighting/completion_selected_color
The script editor's autocompletion box background color for the currently selected line.
Color text_editor/highlighting/control_flow_keyword_color
The script editor's control flow keyword color (used for keywords like if
, for
, return
, ...).
Color text_editor/highlighting/current_line_color
The script editor's background color for the line the caret is currently on. This should be set to a translucent color so that it can display on top of other line color modifiers such as text_editor/highlighting/mark_color.
Color text_editor/highlighting/engine_type_color
The script editor's engine type color (Vector2, Vector3, Color, ...).
Color text_editor/highlighting/executing_line_color
The script editor's color for the debugger's executing line icon (displayed in the gutter).
Color text_editor/highlighting/function_color
The script editor's function call color.
Note: When using the GDScript syntax highlighter, this is replaced by the function definition color configured in the syntax theme for function definitions (e.g. func _ready():
).
bool text_editor/highlighting/highlight_all_occurrences
If true
, highlights all occurrences of the currently selected text in the script editor. See also text_editor/highlighting/word_highlighted_color.
bool text_editor/highlighting/highlight_current_line
If true
, colors the background of the line the caret is currently on with text_editor/highlighting/current_line_color.
bool text_editor/highlighting/highlight_type_safe_lines
If true
, highlights type-safe lines by displaying their line number color with text_editor/highlighting/safe_line_number_color instead of text_editor/highlighting/line_number_color. Type-safe lines are lines of code where the type of all variables is known at compile-time. These type-safe lines will run faster in Godot 4.0 and later thanks to typed instructions.
Color text_editor/highlighting/keyword_color
The script editor's non-control flow keyword color (used for keywords like var
, func
, some built-in methods, ...).
Color text_editor/highlighting/line_length_guideline_color
The script editor's color for the line length guideline. The "hard" line length guideline will be drawn with this color, whereas the "soft" line length guideline will be drawn with an opacity twice as low.
Color text_editor/highlighting/line_number_color
The script editor's color for line numbers. See also text_editor/highlighting/safe_line_number_color.
Color text_editor/highlighting/mark_color
The script editor's background color for lines with errors. This should be set to a translucent color so that it can display on top of other line color modifiers such as text_editor/highlighting/current_line_color.
Color text_editor/highlighting/member_variable_color
The script editor's color for member variables on objects (e.g. self.some_property
).
Note: This color is not used for local variable declaration and access.
Color text_editor/highlighting/number_color
The script editor's color for numbers (integer and floating-point).
Color text_editor/highlighting/safe_line_number_color
The script editor's color for type-safe line numbers. See also text_editor/highlighting/line_number_color.
Note: Only displayed if text_editor/highlighting/highlight_type_safe_lines is true
.
Color text_editor/highlighting/search_result_border_color
The script editor's color for the border of search results. This border helps bring further attention to the search result. Set this color's opacity to 0 to disable the border.
Color text_editor/highlighting/search_result_color
The script editor's background color for search results.
Color text_editor/highlighting/selection_color
The script editor's background color for the currently selected text.
Color text_editor/highlighting/string_color
The script editor's color for strings (single-line and multi-line).
Color text_editor/highlighting/symbol_color
The script editor's color for operators (( ) [ ] { } + - * /
, ...).
bool text_editor/highlighting/syntax_highlighting
If true
, enables syntax highlighting in the script editor. Keywords and symbols are colored depending on their purpose in the code.
Color text_editor/highlighting/text_color
The script editor's color for text not highlighted by any syntax highlighting rule.
Color text_editor/highlighting/text_selected_color
The script editor's background color for text. This should be set to a translucent color so that it can display on top of other line color modifiers such as text_editor/highlighting/current_line_color.
Color text_editor/highlighting/user_type_color
The script editor's color for user-defined types (using class_name
).
Color text_editor/highlighting/word_highlighted_color
The script editor's color for words highlighted by selecting them. Only visible if text_editor/highlighting/highlight_all_occurrences is true
.
bool text_editor/indent/auto_indent
If true
, automatically indents code when pressing the Enter key based on blocks above the new line.
bool text_editor/indent/convert_indent_on_save
If true
, converts indentation to match the script editor's indentation settings when saving a script. See also text_editor/indent/type.
bool text_editor/indent/draw_spaces
If true
, draws space characters as centered points.
bool text_editor/indent/draw_tabs
If true
, draws tab characters as chevrons.
int text_editor/indent/size
When using tab indentation, determines the length of each tab. When using space indentation, determines how many spaces are inserted when pressing Tab and when automatic indentation is performed.
int text_editor/indent/type
The indentation style to use (tabs or spaces).
Note: The GDScript style guide recommends using tabs for indentation. It is advised to change this setting only if you need to work on a project that currently uses spaces for indentation.
If true
, allows drag-and-dropping text in the script editor to move text. Disable this if you find yourself accidentally drag-and-dropping text in the script editor.
The width of the minimap in the script editor (in pixels).
If true
, the mouse's additional side buttons will be usable to navigate in the script editor's file history. Set this to false
if you're using the side buttons for other purposes (such as a push-to-talk button in a VoIP program).
If true
, draws an overview of the script near the scroll bar. The minimap can be left-clicked to scroll directly to a location in an "absolute" manner.
If true
, allows scrolling in sub-line intervals and enables a smooth scrolling animation when using the mouse wheel to scroll.
Note: text_editor/navigation/smooth_scrolling currently behaves poorly in projects where ProjectSettings.physics/common/physics_fps has been increased significantly from its default value (60
). In this case, it is recommended to disable this setting.
If true
, prevents automatically switching between the Script and 2D/3D screens when selecting a node in the Scene tree dock.
The number of pixels to scroll with every mouse wheel increment. Higher values make the script scroll by faster when using the mouse wheel.
Note: You can hold down Alt while using the mouse wheel to temporarily scroll 5 times faster.
bool text_editor/script_list/show_members_overview
If true
, displays an overview of the current script's member variables and functions at the left of the script editor. See also text_editor/tools/sort_members_outline_alphabetically.
String text_editor/theme/color_theme
The syntax theme to use in the script editor.
You can save your own syntax theme from your current settings by using File > Theme > Save As... at the top of the script editor. The syntax theme will then be available locally in the list of color themes.
You can find additional syntax themes to install in the godot-syntax-themes repository.
int text_editor/theme/line_spacing
The space to add between lines (in pixels). Greater line spacing can help improve readability at the cost of displaying fewer lines on screen.
bool text_editor/tools/sort_members_outline_alphabetically
If true
, sorts the members outline (located at the left of the script editor) using alphabetical order. If false
, sorts the members outline depending on the order in which members are found in the script.
Note: Only effective if text_editor/script_list/show_members_overview is true
.
Method Descriptions¶
void add_property_info ( Dictionary info )
Adds a custom property info to a property. The dictionary must contain:
name
: String (the name of the property)type
: int (see Variant.Type)optionally
hint
: int (see PropertyHint) andhint_string
: 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)
void erase ( String property )
Erases the setting whose name is specified by property
.
PoolStringArray get_favorites ( ) const
Returns the list of favorite files and directories for this project.
Variant get_project_metadata ( String section, String key, Variant default=null ) const
Returns project-specific metadata for the section
and key
specified. If the metadata doesn't exist, default
will be returned instead. See also set_project_metadata.
String get_project_settings_dir ( ) const
Returns the project-specific settings path. Projects all have a unique subdirectory inside the settings path where project-specific settings are saved.
PoolStringArray get_recent_dirs ( ) const
Returns the list of recently visited folders in the file dialog for this project.
Variant get_setting ( String name ) const
Returns the value of the setting specified by name
. This is equivalent to using Object.get on the EditorSettings instance.
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
bool has_setting ( String name ) const
Returns true
if the setting specified by name
exists, false
otherwise.
bool property_can_revert ( String name )
Returns true
if the setting specified by name
can have its value reverted to the default value, false
otherwise. When this method returns true
, a Revert button will display next to the setting in the Editor Settings.
Variant property_get_revert ( String name )
Returns the default value of the setting specified by name
. This is the value that would be applied when clicking the Revert button in the Editor Settings.
void set_favorites ( PoolStringArray dirs )
Sets the list of favorite files and directories for this project.
void set_initial_value ( String name, Variant value, bool update_current )
Sets the initial value of the setting specified by name
to value
. This is used to provide a value for the Revert button in the Editor Settings. If update_current
is true, the current value of the setting will be set to value
as well.
void set_project_metadata ( String section, String key, Variant data )
Sets project-specific metadata with the section
, key
and data
specified. This metadata is stored outside the project folder and therefore won't be checked into version control. See also get_project_metadata.
void set_recent_dirs ( PoolStringArray dirs )
Sets the list of recently visited folders in the file dialog for this project.
void set_setting ( String name, Variant value )
Sets the value
of the setting specified by name
. This is equivalent to using Object.set on the EditorSettings instance.