Skip to main content

EditorScript

Inherits: RefCounted < Object

Base script that can be used to add extension functions to the editor.

Description

Scripts extending this class and implementing its _run() method can be executed from the Script Editor's File > Run menu option (or by pressing :kbd:Ctrl + Shift + X) while the editor is running. This is useful for adding custom in-editor functionality to Redot. For more complex additions, consider using EditorPlugin\ s instead.

If a script extending this class also has a global class name, it will be included in the editor's command palette.

\ Note: Extending scripts need to have tool mode enabled.

\ Example: Running the following script prints "Hello from the Redot Editor!":

    @tool
extends EditorScript

func _run():
print("Hello from the Redot Editor!")
    using Godot;

[Tool]
public partial class HelloEditor : EditorScript
{
public override void _Run()
{
GD.Print("Hello from the Redot Editor!");
}
}

\ Note: 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.

Methods

void_run\ (\ ) virtual required
voidadd_root_node\ (\ node: Node\ )
EditorInterfaceget_editor_interface\ (\ ) const
Nodeget_scene\ (\ ) const

Method Descriptions

void _run\ (\ ) virtual required 🔗

This method is executed by the Editor when File > Run is used.


void add_root_node\ (\ node: Node\ ) 🔗

Makes node root of the currently opened scene. Only works if the scene is empty. If the node is a scene instance, an inheriting scene will be created.


EditorInterface get_editor_interface\ (\ ) const 🔗

Deprecated: EditorInterface is a global singleton and can be accessed directly by its name.

Returns the EditorInterface singleton instance.


Node get_scene\ (\ ) const 🔗

Returns the edited (current) scene's root Node. Equivalent of EditorInterface.get_edited_scene_root().