Up to date

This page is up to date for Godot 4.2. If you still find outdated information, please open an issue.

EditorInterface

Inherits: Object

Godot editor's interface.

Description

EditorInterface gives you control over Godot editor's window. It allows customizing the window, saving and (re-)loading scenes, rendering mesh previews, inspecting and editing resources and objects, and provides access to EditorSettings, EditorFileSystem, EditorResourcePreview, ScriptEditor, the editor viewport, and information about scenes.

Note: This class shouldn't be instantiated directly. Instead, access the singleton directly by its name.

var editor_settings = EditorInterface.get_editor_settings()

Properties

bool

distraction_free_mode

bool

movie_maker_enabled

Methods

void

edit_node ( Node node )

void

edit_resource ( Resource resource )

void

edit_script ( Script script, int line=-1, int column=0, bool grab_focus=true )

Control

get_base_control ( ) const

EditorCommandPalette

get_command_palette ( ) const

String

get_current_directory ( ) const

String

get_current_feature_profile ( ) const

String

get_current_path ( ) const

Node

get_edited_scene_root ( ) const

VBoxContainer

get_editor_main_screen ( ) const

EditorPaths

get_editor_paths ( ) const

float

get_editor_scale ( ) const

EditorSettings

get_editor_settings ( ) const

Theme

get_editor_theme ( ) const

SubViewport

get_editor_viewport_2d ( ) const

SubViewport

get_editor_viewport_3d ( int idx=0 ) const

FileSystemDock

get_file_system_dock ( ) const

EditorInspector

get_inspector ( ) const

PackedStringArray

get_open_scenes ( ) const

String

get_playing_scene ( ) const

EditorFileSystem

get_resource_filesystem ( ) const

EditorResourcePreview

get_resource_previewer ( ) const

ScriptEditor

get_script_editor ( ) const

PackedStringArray

get_selected_paths ( ) const

EditorSelection

get_selection ( ) const

void

inspect_object ( Object object, String for_property="", bool inspector_only=false )

bool

is_playing_scene ( ) const

bool

is_plugin_enabled ( String plugin ) const

Texture2D[]

make_mesh_previews ( Mesh[] meshes, int preview_size )

void

mark_scene_as_unsaved ( )

void

open_scene_from_path ( String scene_filepath )

void

play_current_scene ( )

void

play_custom_scene ( String scene_filepath )

void

play_main_scene ( )

void

popup_dialog ( Window dialog, Rect2i rect=Rect2i(0, 0, 0, 0) )

void

popup_dialog_centered ( Window dialog, Vector2i minsize=Vector2i(0, 0) )

void

popup_dialog_centered_clamped ( Window dialog, Vector2i minsize=Vector2i(0, 0), float fallback_ratio=0.75 )

void

popup_dialog_centered_ratio ( Window dialog, float ratio=0.8 )

void

reload_scene_from_path ( String scene_filepath )

void

restart_editor ( bool save=true )

void

save_all_scenes ( )

Error

save_scene ( )

void

save_scene_as ( String path, bool with_preview=true )

void

select_file ( String file )

void

set_current_feature_profile ( String profile_name )

void

set_main_screen_editor ( String name )

void

set_plugin_enabled ( String plugin, bool enabled )

void

stop_playing_scene ( )


Property Descriptions

bool distraction_free_mode

  • void set_distraction_free_mode ( bool value )

  • bool is_distraction_free_mode_enabled ( )

If true, enables distraction-free mode which hides side docks to increase the space available for the main view.


bool movie_maker_enabled

  • void set_movie_maker_enabled ( bool value )

  • bool is_movie_maker_enabled ( )

If true, the Movie Maker mode is enabled in the editor. See MovieWriter for more information.


Method Descriptions

void edit_node ( Node node )

Edits the given Node. The node will be also selected if it's inside the scene tree.


void edit_resource ( Resource resource )

Edits the given Resource. If the resource is a Script you can also edit it with edit_script to specify the line and column position.


void edit_script ( Script script, int line=-1, int column=0, bool grab_focus=true )

Edits the given Script. The line and column on which to open the script can also be specified. The script will be open with the user-configured editor for the script's language which may be an external editor.


Control get_base_control ( ) const

Returns the main container of Godot editor's window. For example, you can use it to retrieve the size of the container and place your controls accordingly.

Warning: Removing and freeing this node will render the editor useless and may cause a crash.


EditorCommandPalette get_command_palette ( ) const

Returns the editor's EditorCommandPalette instance.

Warning: Removing and freeing this node will render a part of the editor useless and may cause a crash.


String get_current_directory ( ) const

Returns the current directory being viewed in the FileSystemDock. If a file is selected, its base directory will be returned using String.get_base_dir instead.


String get_current_feature_profile ( ) const

Returns the name of the currently activated feature profile. If the default profile is currently active, an empty string is returned instead.

In order to get a reference to the EditorFeatureProfile, you must load the feature profile using EditorFeatureProfile.load_from_file.

Note: Feature profiles created via the user interface are loaded from the feature_profiles directory, as a file with the .profile extension. The editor configuration folder can be found by using EditorPaths.get_config_dir.


String get_current_path ( ) const

Returns the current path being viewed in the FileSystemDock.


Node get_edited_scene_root ( ) const

Returns the edited (current) scene's root Node.


VBoxContainer get_editor_main_screen ( ) const

Returns the editor control responsible for main screen plugins and tools. Use it with plugins that implement EditorPlugin._has_main_screen.

Warning: Removing and freeing this node will render a part of the editor useless and may cause a crash.


EditorPaths get_editor_paths ( ) const

Returns the EditorPaths singleton.


float get_editor_scale ( ) const

Returns the actual scale of the editor UI (1.0 being 100% scale). This can be used to adjust position and dimensions of the UI added by plugins.

Note: This value is set via the interface/editor/display_scale and interface/editor/custom_display_scale editor settings. Editor must be restarted for changes to be properly applied.


EditorSettings get_editor_settings ( ) const

Returns the editor's EditorSettings instance.


Theme get_editor_theme ( ) const

Returns the editor's Theme.

Note: When creating custom editor UI, prefer accessing theme items directly from your GUI nodes using the get_theme_* methods.


SubViewport get_editor_viewport_2d ( ) const

Returns the 2D editor SubViewport. It does not have a camera. Instead, the view transforms are done directly and can be accessed with Viewport.global_canvas_transform.


SubViewport get_editor_viewport_3d ( int idx=0 ) const

Returns the specified 3D editor SubViewport, from 0 to 3. The viewport can be used to access the active editor cameras with Viewport.get_camera_3d.


FileSystemDock get_file_system_dock ( ) const

Returns the editor's FileSystemDock instance.

Warning: Removing and freeing this node will render a part of the editor useless and may cause a crash.


EditorInspector get_inspector ( ) const

Returns the editor's EditorInspector instance.

Warning: Removing and freeing this node will render a part of the editor useless and may cause a crash.


PackedStringArray get_open_scenes ( ) const

Returns an Array with the file paths of the currently opened scenes.


String get_playing_scene ( ) const

Returns the name of the scene that is being played. If no scene is currently being played, returns an empty string.


EditorFileSystem get_resource_filesystem ( ) const

Returns the editor's EditorFileSystem instance.


EditorResourcePreview get_resource_previewer ( ) const

Returns the editor's EditorResourcePreview instance.


ScriptEditor get_script_editor ( ) const

Returns the editor's ScriptEditor instance.

Warning: Removing and freeing this node will render a part of the editor useless and may cause a crash.


PackedStringArray get_selected_paths ( ) const

Returns an array containing the paths of the currently selected files (and directories) in the FileSystemDock.


EditorSelection get_selection ( ) const

Returns the editor's EditorSelection instance.


void inspect_object ( Object object, String for_property="", bool inspector_only=false )

Shows the given property on the given object in the editor's Inspector dock. If inspector_only is true, plugins will not attempt to edit object.


bool is_playing_scene ( ) const

Returns true if a scene is currently being played, false otherwise. Paused scenes are considered as being played.


bool is_plugin_enabled ( String plugin ) const

Returns true if the specified plugin is enabled. The plugin name is the same as its directory name.


Texture2D[] make_mesh_previews ( Mesh[] meshes, int preview_size )

Returns mesh previews rendered at the given size as an Array of Texture2Ds.


void mark_scene_as_unsaved ( )

Marks the current scene tab as unsaved.


void open_scene_from_path ( String scene_filepath )

Opens the scene at the given path.


void play_current_scene ( )

Plays the currently active scene.


void play_custom_scene ( String scene_filepath )

Plays the scene specified by its filepath.


void play_main_scene ( )

Plays the main scene.


void popup_dialog ( Window dialog, Rect2i rect=Rect2i(0, 0, 0, 0) )

Pops up the dialog in the editor UI with Window.popup_exclusive. The dialog must have no current parent, otherwise the method fails.

See also Window.set_unparent_when_invisible.


void popup_dialog_centered ( Window dialog, Vector2i minsize=Vector2i(0, 0) )

Pops up the dialog in the editor UI with Window.popup_exclusive_centered. The dialog must have no current parent, otherwise the method fails.

See also Window.set_unparent_when_invisible.


void popup_dialog_centered_clamped ( Window dialog, Vector2i minsize=Vector2i(0, 0), float fallback_ratio=0.75 )

Pops up the dialog in the editor UI with Window.popup_exclusive_centered_clamped. The dialog must have no current parent, otherwise the method fails.

See also Window.set_unparent_when_invisible.


void popup_dialog_centered_ratio ( Window dialog, float ratio=0.8 )

Pops up the dialog in the editor UI with Window.popup_exclusive_centered_ratio. The dialog must have no current parent, otherwise the method fails.

See also Window.set_unparent_when_invisible.


void reload_scene_from_path ( String scene_filepath )

Reloads the scene at the given path.


void restart_editor ( bool save=true )

Restarts the editor. This closes the editor and then opens the same project. If save is true, the project will be saved before restarting.


void save_all_scenes ( )

Saves all opened scenes in the editor.


Error save_scene ( )

Saves the currently active scene. Returns either @GlobalScope.OK or @GlobalScope.ERR_CANT_CREATE.


void save_scene_as ( String path, bool with_preview=true )

Saves the currently active scene as a file at path.


void select_file ( String file )

Selects the file, with the path provided by file, in the FileSystem dock.


void set_current_feature_profile ( String profile_name )

Selects and activates the specified feature profile with the given profile_name. Set profile_name to an empty string to reset to the default feature profile.

A feature profile can be created programmatically using the EditorFeatureProfile class.

Note: The feature profile that gets activated must be located in the feature_profiles directory, as a file with the .profile extension. If a profile could not be found, an error occurs. The editor configuration folder can be found by using EditorPaths.get_config_dir.


void set_main_screen_editor ( String name )

Sets the editor's current main screen to the one specified in name. name must match the title of the tab in question exactly (e.g. 2D, 3D, Script, or AssetLib for default tabs).


void set_plugin_enabled ( String plugin, bool enabled )

Sets the enabled status of a plugin. The plugin name is the same as its directory name.


void stop_playing_scene ( )

Stops the scene that is currently playing.