<?xml version="1.0" encoding="UTF-8" ?> <class name="EditorScript" inherits="RefCounted" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd"> <brief_description> Base script that can be used to add extension functions to the editor. </brief_description> <description> Scripts extending this class and implementing its [method _run] method can be executed from the Script Editor's [b]File > Run[/b] menu option (or by pressing [kbd]Ctrl + Shift + X[/kbd]) while the editor is running. This is useful for adding custom in-editor functionality to Godot. For more complex additions, consider using [EditorPlugin]s instead. [b]Note:[/b] Extending scripts need to have [code]tool[/code] mode enabled. [b]Example script:[/b] [codeblocks] [gdscript] @tool extends EditorScript func _run(): print("Hello from the Godot Editor!") [/gdscript] [csharp] using Godot; [Tool] public partial class HelloEditor : EditorScript { public override void _Run() { GD.Print("Hello from the Godot Editor!"); } } [/csharp] [/codeblocks] [b]Note:[/b] The script is run in the Editor context, which means the output is visible in the console window started with the Editor (stdout) instead of the usual Godot [b]Output[/b] dock. [b]Note:[/b] EditorScript is [RefCounted], meaning it is destroyed when nothing references it. This can cause errors during asynchronous operations if there are no references to the script. </description> <tutorials> </tutorials> <methods> <method name="_run" qualifiers="virtual"> <return type="void" /> <description> This method is executed by the Editor when [b]File > Run[/b] is used. </description> </method> <method name="add_root_node"> <return type="void" /> <param index="0" name="node" type="Node" /> <description> Adds [param node] as a child of the root node in the editor context. [b]Warning:[/b] The implementation of this method is currently disabled. </description> </method> <method name="get_editor_interface" qualifiers="const" is_deprecated="true"> <return type="EditorInterface" /> <description> Returns the [EditorInterface] singleton instance. [i]Deprecated.[/i] [EditorInterface] is a global singleton and can be accessed directly by its name. </description> </method> <method name="get_scene" qualifiers="const"> <return type="Node" /> <description> Returns the Editor's currently active scene. </description> </method> </methods> </class>