var mainScreenChanged: Signal3Emitted when user changes the workspace (2D, 3D, Script, AssetLib). Also works with custom screens defined by plugins.
var projectSettingsChanged: SimpleSignalEmitted when any project setting has changed.
var resourceSaved: Signal4Emitted when the given resource was saved on disc. See also [signal scene_saved].
var sceneChanged: Signal1Emitted when the scene is changed in the editor. The argument will return the root node of the scene that has just become active. If this scene is new and empty, the argument will be null.
var sceneClosed: Signal2Emitted when user closes a scene. The argument is a file path to the closed scene.
var sceneSaved: Signal5Emitted when a scene was saved on disc. The argument is a file path to the saved scene. See also [signal resource_saved].
func addAutoloadSingleton(name: String, path: String)Adds a script at path to the Autoload list as name.
func addControlToBottomPanel(control: Control?, title: String, shortcut: Shortcut?) -> Button?Adds a control to the bottom panel (together with Output, Debug, Animation, etc). Returns a reference to the button added. It’s up to you to hide/show the button when needed. When your plugin is deactivated, make sure to remove your custom control with removeControlFromBottomPanel(control:) and free it with queueFree.
func addControlToContainer(EditorPlugin.CustomControlContainer, control: Control?)Adds a custom control to a container (see CustomControlContainer). There are many locations where custom controls can be added in the editor UI.
func addControlToDock(slot: EditorPlugin.DockSlot, control: Control?, shortcut: Shortcut?)Adds the control to a specific dock slot (see DockSlot for options).
func addCustomType(String, base: String, script: Script?, icon: Texture2D?)Adds a custom type, which will appear in the list of nodes or resources. An icon can be optionally passed.
func addDebuggerPlugin(script: EditorDebuggerPlugin?)Adds a Script as debugger plugin to the Debugger. The script must extend EditorDebuggerPlugin.
func addExportPlugin(EditorExportPlugin?)Registers a new EditorExportPlugin. Export plugins are used to perform tasks when the project is being exported.
func addImportPlugin(importer: EditorImportPlugin?, firstPriority: Bool)Registers a new EditorImportPlugin. Import plugins are used to import custom and unsupported assets as a custom Resource type.
func addInspectorPlugin(EditorInspectorPlugin?)Registers a new EditorInspectorPlugin. Inspector plugins are used to extend EditorInspector and provide custom configuration tools for your object’s properties.
func addNode3dGizmoPlugin(EditorNode3DGizmoPlugin?)Registers a new EditorNode3DGizmoPlugin. Gizmo plugins are used to add custom gizmos to the 3D preview viewport for a Node3D.
func addResourceConversionPlugin(EditorResourceConversionPlugin?)Registers a new EditorResourceConversionPlugin. Resource conversion plugins are used to add custom resource converters to the editor inspector.
func addSceneFormatImporterPlugin(sceneFormatImporter: EditorSceneFormatImporter?, firstPriority: Bool)Registers a new EditorSceneFormatImporter. Scene importers are used to import custom 3D asset formats as scenes.
func addScenePostImportPlugin(sceneImportPlugin: EditorScenePostImportPlugin?, firstPriority: Bool)Add a EditorScenePostImportPlugin. These plugins allow customizing the import process of 3D assets by adding new options to the import dialogs.
func addTranslationParserPlugin(parser: EditorTranslationParserPlugin?)Registers a custom translation parser plugin for extracting translatable strings from custom files.
func addUndoRedoInspectorHookCallback(callable: Callable)Hooks a callback into the undo/redo action creation when a property is modified in the inspector. This allows, for example, to save other properties that may be lost when a given property is modified.
func getEditorInterface() -> EditorInterface?Returns the EditorInterface singleton instance.
func getPluginVersion() -> StringProvide the version of the plugin declared in the plugin.cfg config file.
func getScriptCreateDialog() -> ScriptCreateDialog?Gets the Editor’s dialog used for making scripts.
func getUndoRedo() -> EditorUndoRedoManager?Gets the undo/redo object. Most actions in the editor can be undoable, so use this object to make sure this happens when it’s worth it.
func hideBottomPanel()Minimizes the bottom panel.
func makeBottomPanelItemVisible(item: Control?)Makes a specific item in the bottom panel visible.
func queueSaveLayout()Queue save the project’s editor layout.
func removeAutoloadSingleton(name: String)Removes an Autoload name from the list.
func removeControlFromBottomPanel(control: Control?)Removes the control from the bottom panel. You have to manually queueFree the control.
func removeControlFromContainer(EditorPlugin.CustomControlContainer, control: Control?)Removes the control from the specified container. You have to manually queueFree the control.
func removeControlFromDocks(control: Control?)Removes the control from the dock. You have to manually queueFree the control.
func removeCustomType(String)Removes a custom type added by addCustomType(_:base:script:icon:).
func removeDebuggerPlugin(script: EditorDebuggerPlugin?)Removes the debugger plugin with given script from the Debugger.
func removeExportPlugin(EditorExportPlugin?)Removes an export plugin registered by addExportPlugin(_:).
func removeImportPlugin(importer: EditorImportPlugin?)Removes an import plugin registered by addImportPlugin(importer:firstPriority:).
func removeInspectorPlugin(EditorInspectorPlugin?)Removes an inspector plugin registered by addImportPlugin(importer:firstPriority:)
func removeNode3dGizmoPlugin(EditorNode3DGizmoPlugin?)Removes a gizmo plugin registered by addNode3dGizmoPlugin(_:).
func removeResourceConversionPlugin(EditorResourceConversionPlugin?)Removes a resource conversion plugin registered by addResourceConversionPlugin(_:).
func removeSceneFormatImporterPlugin(sceneFormatImporter: EditorSceneFormatImporter?)Removes a scene format importer registered by addSceneFormatImporterPlugin(sceneFormatImporter:firstPriority:).
func removeScenePostImportPlugin(sceneImportPlugin: EditorScenePostImportPlugin?)Remove the EditorScenePostImportPlugin, added with addScenePostImportPlugin(sceneImportPlugin:firstPriority:).
func removeTranslationParserPlugin(parser: EditorTranslationParserPlugin?)Removes a custom translation parser plugin registered by addTranslationParserPlugin(parser:).
func removeUndoRedoInspectorHookCallback(callable: Callable)Removes a callback previously added by addUndoRedoInspectorHookCallback(callable:).
func setDockTabIcon(control: Control?, icon: Texture2D?)Sets the tab icon for the given control in a dock slot. Setting to null removes the icon.
func setForceDrawOverForwardingEnabled()Enables calling of _forwardCanvasForceDrawOverViewport(viewportControl:) for the 2D editor and _forward3dForceDrawOverViewport(viewportControl:) for the 3D editor when their viewports are updated. You need to call this method only once and it will work permanently for this plugin.
func setInputEventForwardingAlwaysEnabled()Use this method if you always want to receive inputs from 3D view screen inside _forward3dGuiInput(viewportCamera:event:). It might be especially usable if your plugin will want to use raycast in the scene.
func updateOverlays() -> Int32Updates the overlays of the 2D and 3D editor viewport. Causes methods _forwardCanvasDrawOverViewport(viewportControl:), _forwardCanvasForceDrawOverViewport(viewportControl:), _forward3dDrawOverViewport(viewportControl:) and _forward3dForceDrawOverViewport(viewportControl:) to be called.