Inheritance #
- AudioServer
- CameraServer
- ClassDB
- DisplayServer
- EditorFileSystemDirectory
- EditorInterface
- EditorPaths
- EditorSelection
- EditorUndoRedoManager
- EditorVCSInterface
- Engine
- EngineDebugger
- FramebufferCacheRD
- GDExtensionManager
- Geometry2D
- Geometry3D
- IP
- Input
- InputMap
- JNISingleton
- JSONRPC
- JavaClassWrapper
- JavaScriptBridge
- MainLoop (1)
- Marshalls
- MovieWriter
- NativeMenu
- NavigationMeshGenerator
- NavigationServer2D
- NavigationServer3D
- Node (21)
- OS
- OpenXRExtensionWrapperExtension
- OpenXRInteractionProfileMetadata
- Performance
- PhysicsDirectBodyState2D (1)
- PhysicsDirectBodyState3D (1)
- PhysicsDirectSpaceState2D (1)
- PhysicsDirectSpaceState3D (1)
- PhysicsServer2D (1)
- PhysicsServer2DManager
- PhysicsServer3D (1)
- PhysicsServer3DManager
- PhysicsServer3DRendering
ServerHandler
- ProjectSettings
- RefCounted (121)
- RenderData (2)
- RenderSceneData (2)
- RenderingDevice
- RenderingServer
- ResourceLoader
- ResourceSaver
- ResourceUID
- ScriptLanguage (1)
- ShaderIncludeDB
- TextServerManager
- ThemeDB
- TileData
- Time
- TranslationServer
- TreeItem
- UndoRedo
- UniformSetCacheRD
- WorkerThreadPool
- XRServer
- XRVRS
Table of contents
-
var distraction_free_mode: bool -
var movie_maker_enabled: bool -
func edit_node(node: Node) -> void -
func edit_resource(resource: Resource) -> void -
func edit_script(grab_focus: bool = true) -> void -
const func get_base_control() -> Control -
const func get_command_palette() -> EditorCommandPalette -
const func get_current_directory() -> String -
const func get_current_feature_profile() -> String -
const func get_current_path() -> String -
const func get_edited_scene_root() -> Node -
const func get_editor_main_screen() -> VBoxContainer -
const func get_editor_paths() -> EditorPaths -
const func get_editor_scale() -> float -
const func get_editor_settings() -> EditorSettings -
const func get_editor_theme() -> Theme -
const func get_editor_toaster() -> EditorToaster -
const func get_editor_undo_redo() -> EditorUndoRedoManager -
const func get_editor_viewport_2d() -> SubViewport -
const func get_editor_viewport_3d(idx: int = 0) -> SubViewport -
const func get_file_system_dock() -> FileSystemDock -
const func get_inspector() -> EditorInspector -
const func get_open_scenes() -> PackedStringArray -
const func get_playing_scene() -> String -
const func get_resource_filesystem() -> EditorFileSystem -
const func get_resource_previewer() -> EditorResourcePreview -
const func get_script_editor() -> ScriptEditor -
const func get_selected_paths() -> PackedStringArray -
const func get_selection() -> EditorSelection -
func inspect_object(inspector_only: bool = false) -> void -
const func is_multi_window_enabled() -> bool -
const func is_playing_scene() -> bool -
const func is_plugin_enabled(plugin: String) -> bool -
func make_mesh_previews(preview_size: int) -> Texture2D[] -
func mark_scene_as_unsaved() -> void -
func open_scene_from_path(set_inherited: bool = false) -> void -
func play_current_scene() -> void -
func play_custom_scene(scene_filepath: String) -> void -
func play_main_scene() -> void -
func popup_create_dialog(type_blocklist: StringName[] = []) -> void -
func popup_dialog(rect: Rect2i = Rect2i(0, 0, 0, 0)) -> void -
func popup_dialog_centered(minsize: Vector2i = Vector2i(0, 0)) -> void -
func popup_dialog_centered_clamped(fallback_ratio: float = 0.75) -> void -
func popup_dialog_centered_ratio(ratio: float = 0.8) -> void -
func popup_method_selector(current_value: String = "") -> void -
func popup_node_selector(current_value: Node = null) -> void -
func popup_property_selector(current_value: String = "") -> void -
func popup_quick_open(base_types: StringName[] = []) -> void -
func reload_scene_from_path(scene_filepath: String) -> void -
func restart_editor(save: bool = true) -> void -
func save_all_scenes() -> void -
func save_scene() -> intError -
func save_scene_as(with_preview: bool = true) -> void -
func select_file(file: String) -> void -
func set_current_feature_profile(profile_name: String) -> void -
func set_main_screen_editor(name: String) -> void -
func set_plugin_enabled(enabled: bool) -> void -
func stop_playing_scene() -> void
EditorInterface #
editor, not_builtin_classes, singleton
Godot editor's interface.
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.
GDScript
var editor_settings = EditorInterface.get_editor_settings()C#
// In C# you can access it via the static Singleton property.
EditorSettings settings = EditorInterface.Singleton.GetEditorSettings(); Members #
var distraction_free_mode: bool#
If true, enables distraction-free mode which hides side docks to increase the space available for the main view.
var movie_maker_enabled: bool#
If true, the Movie Maker mode is enabled in the editor. See MovieWriter for more information.
Methods #
func edit_node(node: Node) -> void#
Edits the given Node. The node will be also selected if it's inside the scene tree.
func edit_resource(resource: Resource) -> void#
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.
func edit_script(grab_focus: bool = true) -> void#
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.
const func get_base_control() -> Control#
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.
const func get_command_palette() -> EditorCommandPalette#
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.
const func get_current_directory() -> String#
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.
const func get_current_feature_profile() -> String#
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.
const func get_current_path() -> String#
Returns the current path being viewed in the FileSystemDock.
const func get_editor_main_screen() -> VBoxContainer#
Returns the editor control responsible for main screen plugins and tools. Use it with plugins that implement EditorPlugin._has_main_screen.
Note: This node is a VBoxContainer, which means that if you add a Control child to it, you need to set the child's Control.size_flags_vertical to Control.SIZE_EXPAND_FILL to make it use the full available space.
Warning: Removing and freeing this node will render a part of the editor useless and may cause a crash.
const func get_editor_paths() -> EditorPaths#
Returns the EditorPaths singleton.
const func get_editor_scale() -> float#
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.
const func get_editor_settings() -> EditorSettings#
Returns the editor's EditorSettings instance.
const func get_editor_theme() -> Theme#
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.
const func get_editor_toaster() -> EditorToaster#
Returns the editor's EditorToaster.
const func get_editor_undo_redo() -> EditorUndoRedoManager#
Returns the editor's EditorUndoRedoManager.
const func get_editor_viewport_2d() -> SubViewport#
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.
const func get_editor_viewport_3d(idx: int = 0) -> SubViewport#
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.
const func get_file_system_dock() -> FileSystemDock#
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.
const func get_inspector() -> EditorInspector#
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.
const func get_open_scenes() -> PackedStringArray#
Returns an Array with the file paths of the currently opened scenes.
const func get_playing_scene() -> String#
Returns the name of the scene that is being played. If no scene is currently being played, returns an empty string.
const func get_resource_filesystem() -> EditorFileSystem#
Returns the editor's EditorFileSystem instance.
const func get_resource_previewer() -> EditorResourcePreview#
Returns the editor's EditorResourcePreview instance.
const func get_script_editor() -> ScriptEditor#
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.
const func get_selected_paths() -> PackedStringArray#
Returns an array containing the paths of the currently selected files (and directories) in the FileSystemDock.
const func get_selection() -> EditorSelection#
Returns the editor's EditorSelection instance.
func inspect_object(inspector_only: bool = false) -> void#
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.
const func is_multi_window_enabled() -> bool#
Returns true if multiple window support is enabled in the editor. Multiple window support is enabled if all of these statements are true:
- EditorSettings.interface/multi_window/enable is true.
- EditorSettings.interface/editor/single_window_mode is false.
- Viewport.gui_embed_subwindows is false. This is forced to true on platforms that don't support multiple windows such as Web, or when the --single-window command line argument is used.
const func is_playing_scene() -> bool#
Returns true if a scene is currently being played, false otherwise. Paused scenes are considered as being played.
const func is_plugin_enabled(plugin: String) -> bool#
Returns true if the specified plugin is enabled. The plugin name is the same as its directory name.
func make_mesh_previews(preview_size: int) -> Texture2D[]#
Returns mesh previews rendered at the given size as an Array of Texture2Ds.
func mark_scene_as_unsaved() -> void#
Marks the current scene tab as unsaved.
func open_scene_from_path(set_inherited: bool = false) -> void#
Opens the scene at the given path. If set_inherited is true, creates a new inherited scene.
func play_current_scene() -> void#
Plays the currently active scene.
func play_custom_scene(scene_filepath: String) -> void#
Plays the scene specified by its filepath.
func play_main_scene() -> void#
Plays the main scene.
func popup_create_dialog(type_blocklist: StringName[] = []) -> void#
Pops up an editor dialog for creating an object.
The callback must take a single argument of type StringName which will contain the type name of the selected object or be empty if no item is selected.
The base_type specifies the base type of objects to display. For example, if you set this to "Resource", all types derived from Resource will display in the create dialog.
The current_type will be passed in the search box of the create dialog, and the specified type can be immediately selected when the dialog pops up. If the current_type is not derived from base_type, there will be no result of the type in the dialog.
The dialog_title allows you to define a custom title for the dialog. This is useful if you want to accurately hint the usage of the dialog. If the dialog_title is an empty string, the dialog will use "Create New 'Base Type'" as the default title.
The type_blocklist contains a list of type names, and the types in the blocklist will be hidden from the create dialog.
Note: Trying to list the base type in the type_blocklist will hide all types derived from the base type from the create dialog.
func popup_dialog(rect: Rect2i = Rect2i(0, 0, 0, 0)) -> void#
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.
func popup_dialog_centered(minsize: Vector2i = Vector2i(0, 0)) -> void#
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.
func popup_dialog_centered_clamped(fallback_ratio: float = 0.75) -> void#
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.
func popup_dialog_centered_ratio(ratio: float = 0.8) -> void#
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.
func popup_method_selector(current_value: String = "") -> void#
Pops up an editor dialog for selecting a method from object. The callback must take a single argument of type String which will contain the name of the selected method or be empty if the dialog is canceled. If current_value is provided, the method will be selected automatically in the method list, if it exists.
func popup_node_selector(current_value: Node = null) -> void#
Pops up an editor dialog for selecting a Node from the edited scene. The callback must take a single argument of type NodePath. It is called on the selected NodePath or the empty path ^"" if the dialog is canceled. If valid_types is provided, the dialog will only show Nodes that match one of the listed Node types. If current_value is provided, the Node will be automatically selected in the tree, if it exists.
Example: Display the node selection dialog as soon as this node is added to the tree for the first time:
func _ready():
if Engine.is_editor_hint():
EditorInterface.popup_node_selector(_on_node_selected, ["Button"])
func _on_node_selected(node_path):
if node_path.is_empty():
print("node selection canceled")
else:
print("selected ", node_path)func popup_property_selector(current_value: String = "") -> void#
Pops up an editor dialog for selecting properties from object. The callback must take a single argument of type NodePath. It is called on the selected property path (see NodePath.get_as_property_path) or the empty path ^"" if the dialog is canceled. If type_filter is provided, the dialog will only show properties that match one of the listed Variant.Type values. If current_value is provided, the property will be selected automatically in the property list, if it exists.
func _ready():
if Engine.is_editor_hint():
EditorInterface.popup_property_selector(this, _on_property_selected, [TYPE_INT])
func _on_property_selected(property_path):
if property_path.is_empty():
print("property selection canceled")
else:
print("selected ", property_path)func popup_quick_open(base_types: StringName[] = []) -> void#
Pops up an editor dialog for quick selecting a resource file. The callback must take a single argument of type String which will contain the path of the selected resource or be empty if the dialog is canceled. If base_types is provided, the dialog will only show resources that match these types. Only types deriving from Resource are supported.
func reload_scene_from_path(scene_filepath: String) -> void#
Reloads the scene at the given path.
func restart_editor(save: bool = true) -> void#
Restarts the editor. This closes the editor and then opens the same project. If save is true, the project will be saved before restarting.
func save_all_scenes() -> void#
Saves all opened scenes in the editor.
func save_scene() -> intError#
Saves the currently active scene. Returns either OK or ERR_CANT_CREATE.
func save_scene_as(with_preview: bool = true) -> void#
Saves the currently active scene as a file at path.
func select_file(file: String) -> void#
Selects the file, with the path provided by file, in the FileSystem dock.
func set_current_feature_profile(profile_name: String) -> void#
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.
func set_main_screen_editor(name: String) -> void#
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, [code skip-lint]Script, or AssetLib for default tabs).
func set_plugin_enabled(enabled: bool) -> void#
Sets the enabled status of a plugin. The plugin name is the same as its directory name.
func stop_playing_scene() -> void#
Stops the scene that is currently playing.