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.
[b]Note:[/b] This class shouldn't be instantiated directly. Instead, access the singleton using [method EditorPlugin.get_editor_interface].
</description>
<tutorials>
</tutorials>
<methods>
<methodname="edit_node">
<returntype="void"/>
<argumentindex="0"name="node"type="Node"/>
<description>
Edits the given [Node]. The node will be also selected if it's inside the scene tree.
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.
</description>
</method>
<methodname="get_base_control">
<returntype="Control"/>
<description>
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.
[b]Warning:[/b] Removing and freeing this node will render the editor useless and may cause a crash.
</description>
</method>
<methodname="get_current_path"qualifiers="const">
<returntype="String"/>
<description>
Returns the current path being viewed in the [FileSystemDock].
</description>
</method>
<methodname="get_edited_scene_root">
<returntype="Node"/>
<description>
Returns the edited (current) scene's root [Node].
</description>
</method>
<methodname="get_editor_scale"qualifiers="const">
<returntype="float"/>
<description>
Returns the actual scale of the editor UI ([code]1.0[/code] being 100% scale). This can be used to adjust position and dimensions of the UI added by plugins.
[b]Note:[/b] This value is set via the [code]interface/editor/display_scale[/code] and [code]interface/editor/custom_display_scale[/code] editor settings. Editor must be restarted for changes to be properly applied.
</description>
</method>
<methodname="get_editor_settings">
<returntype="EditorSettings"/>
<description>
Returns the editor's [EditorSettings] instance.
</description>
</method>
<methodname="get_editor_viewport">
<returntype="Control"/>
<description>
Returns the main editor control. Use this as a parent for main screens.
[b]Note:[/b] This returns the main editor control containing the whole editor, not the 2D or 3D viewports specifically.
[b]Warning:[/b] Removing and freeing this node will render a part of the editor useless and may cause a crash.
</description>
</method>
<methodname="get_file_system_dock">
<returntype="FileSystemDock"/>
<description>
Returns the editor's [FileSystemDock] instance.
[b]Warning:[/b] Removing and freeing this node will render a part of the editor useless and may cause a crash.
</description>
</method>
<methodname="get_inspector"qualifiers="const">
<returntype="EditorInspector"/>
<description>
Returns the editor's [EditorInspector] instance.
[b]Warning:[/b] Removing and freeing this node will render a part of the editor useless and may cause a crash.
</description>
</method>
<methodname="get_open_scenes"qualifiers="const">
<returntype="Array"/>
<description>
Returns an [Array] with the file paths of the currently opened scenes.
Returns the path of the directory currently selected in the [FileSystemDock]. If a file is selected, its base directory will be returned using [method String.get_base_dir] instead.
Shows the given property on the given [code]object[/code] in the editor's Inspector dock. If [code]inspector_only[/code] is [code]true[/code], plugins will not attempt to edit [code]object[/code].
</description>
</method>
<methodname="is_playing_scene"qualifiers="const">
<returntype="bool"/>
<description>
Returns [code]true[/code] if a scene is currently being played, [code]false[/code] otherwise. Paused scenes are considered as being played.
Sets the editor's current main screen to the one specified in [code]name[/code]. It will also make the editor's tab button at the top to be visible if it weren't. [code]name[/code] must match the text of the tab in question exactly like: [code]2D[/code], [code]3D[/code], [code]Script[/code].
Sets whether the specified main screen's button is visible or not. Will not change the main screen. [code]name[/code] must match the text of the tab in question exactly like: [code]2D[/code], [code]3D[/code], [code]Script[/code], [code]AssetLib[/code].