GodotSharpEditor is a manager for objects associated with edited scenes. Each scene has its own undo history and ensures that each action performed in the editor gets associated with a proper scene. For actions not related to scenes ( edits, external resources, etc.), a separate global history is used. The usage is mostly the same as . You create and commit actions and the manager automatically decides under-the-hood what scenes it belongs to. The scene is deduced based on the first operation in an action, using the object from the operation. The rules are as follows: - If the object is a , use the currently edited scene; - If the object is a built-in resource, use the scene from its path; - If the object is external resource or anything else, use global history. This guessing can sometimes yield false results, so you can provide a custom context object when creating an action. is intended to be used by Godot editor plugins. You can obtain it using . For non-editor uses or plugins that don't need to integrate with the editor's undo history, use instead. The manager's API is mostly the same as in , so you can refer to its documentation for more examples. The main difference is that uses object + method name for actions, instead of . Global history not associated with any scene, but with external resources etc. History associated with remote inspector. Used when live editing a running project. Invalid "null" history. It's a special value, not associated with any object. Create a new action. After this is called, do all your calls to , , , and , then commit the action with . The way actions are merged is dictated by the argument. See for details. If object is provided, it will be used for deducing target history (instead of using the first operation). The way undo operation are ordered in actions is dictated by . When is undo option are ordered in the same order they were added. Which means the first operation to be added will be the first to be undone. Commits the action. If is (default), all "do" methods/properties are called/set when this function is called. Returns if the is currently committing the action, i.e. running its "do" method or property change (see ). Forces the next operation (e.g. ) to use the action's history rather than guessing it from the object. This is sometimes needed when a history can't be correctly determined, like for a nested resource that doesn't have a path yet. This method should only be used when absolutely necessary, otherwise it might cause invalid history state. For most of complex cases, the custom_context parameter of is sufficient. Register a method that will be called when the action is committed (i.e. the "do" action). If this is the first operation, the will be used to deduce target undo history. Register a method that will be called when the action is committed (i.e. the "do" action). If this is the first operation, the will be used to deduce target undo history. Register a method that will be called when the action is undone (i.e. the "undo" action). If this is the first operation, the will be used to deduce target undo history. Register a method that will be called when the action is undone (i.e. the "undo" action). If this is the first operation, the will be used to deduce target undo history. Register a property value change for "do". If this is the first operation, the will be used to deduce target undo history. Register a property value change for "undo". If this is the first operation, the will be used to deduce target undo history. Register a reference for "do" that will be erased if the "do" history is lost. This is useful mostly for new nodes created for the "do" call. Do not use for resources. Register a reference for "undo" that will be erased if the "undo" history is lost. This is useful mostly for nodes removed with the "do" call (not the "undo" call!). Returns the history ID deduced from the given . It can be used with . Returns the object associated with the given history . above 0 are mapped to the opened scene tabs (but it doesn't match their order). of 0 or lower have special meaning (see ). Best used with . This method is only provided in case you need some more advanced methods of (but keep in mind that directly operating on the object might affect editor's stability). Clears the given undo history. You can clear history for a specific scene, global history, or for all scenes at once if is . If is , the undo history version will be increased, marking it as unsaved. Useful for operations that modify the scene, but don't support undo. var scene_root = EditorInterface.get_edited_scene_root() var undo_redo = EditorInterface.get_editor_undo_redo() undo_redo.clear_history(undo_redo.get_object_history_id(scene_root)) Note: If you want to mark an edited scene as unsaved without clearing its history, use instead. Emitted when the list of actions in any history has changed, either when an action is committed or a history is cleared. Emitted when the version of any history has changed as a result of undo or redo call. Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached name for the 'create_action' method. Cached name for the 'commit_action' method. Cached name for the 'is_committing_action' method. Cached name for the 'force_fixed_history' method. Cached name for the 'add_do_method' method. Cached name for the 'add_undo_method' method. Cached name for the 'add_do_property' method. Cached name for the 'add_undo_property' method. Cached name for the 'add_do_reference' method. Cached name for the 'add_undo_reference' method. Cached name for the 'get_object_history_id' method. Cached name for the 'get_history_undo_redo' method. Cached name for the 'clear_history' method. Cached StringNames for the signals contained in this class, for fast lookup. Cached name for the 'history_changed' signal. Cached name for the 'version_changed' signal. Object that holds all the available Commands and their shortcuts text. These Commands can be accessed through Editor > Command Palette menu. Command key names use slash delimiters to distinguish sections, for example: "example/command1" then example will be the section name. EditorCommandPalette commandPalette = EditorInterface.Singleton.GetCommandPalette(); // ExternalCommand is a function that will be called with the command is executed. Callable commandCallable = new Callable(this, MethodName.ExternalCommand); commandPalette.AddCommand("command", "test/command", commandCallable) Note: This class shouldn't be instantiated directly. Instead, access the singleton using . Adds a custom command to EditorCommandPalette. - : (Name of the Command. This is displayed to the user.) - : (Name of the key for a particular Command. This is used to uniquely identify the Command.) - : (Callable of the Command. This will be executed when the Command is selected.) - : (Shortcut text of the Command if available.) Removes the custom command from EditorCommandPalette. - : (Name of the key for a particular Command.) Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached name for the 'add_command' method. Cached name for the 'remove_command' method. Cached StringNames for the signals contained in this class, for fast lookup. allows for the addition of custom options in the editor's context menu. Currently, context menus are supported for three commonly used areas: the file system, scene tree, and editor script list panel. Context menu of Scene dock. will be called with a list of paths to currently selected nodes, while option callback will receive the list of currently selected nodes. Context menu of FileSystem dock. and option callback will be called with list of paths of the currently selected files. The "Create..." submenu of FileSystem dock's context menu. and option callback will be called with list of paths of the currently selected files. Context menu of Scene dock. will be called with the path to the currently edited script, while option callback will receive reference to that script. Called when creating a context menu, custom options can be added by using the or functions. contains currently selected paths (depending on menu), which can be used to conditionally add options. Registers a shortcut associated with the plugin's context menu. This method should be called once (e.g. in plugin's ). will be called when user presses the specified while the menu's context is in effect (e.g. FileSystem dock is focused). Callback should take single argument; array contents depend on context menu slot. func _init(): add_menu_shortcut(SHORTCUT, handle) Add custom option to the context menu of the plugin's specified slot. When the option is activated, will be called. Callback should take single argument; array contents depend on context menu slot. func _popup_menu(paths): add_context_menu_item("File Custom options", handle, ICON) If you want to assign shortcut to the menu item, use instead. Add custom option to the context menu of the plugin's specified slot. The option will have the assigned and reuse its callback. The shortcut has to be registered beforehand with . func _init(): add_menu_shortcut(SHORTCUT, handle) func _popup_menu(paths): add_context_menu_item_from_shortcut("File Custom options", SHORTCUT, ICON) Add a submenu to the context menu of the plugin's specified slot. The submenu is not automatically handled, you need to connect to its signals yourself. Also the submenu is freed on every popup, so provide a new every time. func _popup_menu(paths): var popup_menu = PopupMenu.new() popup_menu.add_item("Blue") popup_menu.add_item("White") popup_menu.id_pressed.connect(_on_color_submenu_option) add_context_menu_item("Set Node Color", popup_menu) Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached name for the '_popup_menu' method. Cached name for the 'add_menu_shortcut' method. Cached name for the 'add_context_menu_item' method. Cached name for the 'add_context_menu_item_from_shortcut' method. Cached name for the 'add_context_submenu_item' method. Cached StringNames for the signals contained in this class, for fast lookup. provides functions related to the editor side of the debugger. To interact with the debugger, an instance of this class must be added to the editor via . Once added, the callback will be called for every available to the plugin, and when new ones are created (the sessions may be inactive during this stage). You can retrieve the available s via or get a specific one via . To connect on the running game side, use the singleton: Note: While the game is running, @GlobalScope.print and similar functions called in the editor do not print anything, the Output Log prints only game messages. Override this method to be notified when a breakpoint is set in the editor. Override this method to be notified when all breakpoints are cleared in the editor. Override this method to process incoming messages. The is the ID of the that received the . Use to retrieve the session. This method should return if the message is recognized. Override this method to be notified when a breakpoint line has been clicked in the debugger breakpoint panel. Override this method to enable receiving messages from the debugger. If is "my_message" then messages starting with "my_message:" will be passes to the method. Override this method to be notified whenever a new is created. Note that the session may be inactive during this stage. Returns the with the given . Returns an array of currently available to this debugger plugin. Note: Sessions in the array may be inactive, check their state via . Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached name for the '_breakpoint_set_in_tree' method. Cached name for the '_breakpoints_cleared_in_tree' method. Cached name for the '_capture' method. Cached name for the '_goto_script_line' method. Cached name for the '_has_capture' method. Cached name for the '_setup_session' method. Cached name for the 'get_session' method. Cached name for the 'get_sessions' method. Cached StringNames for the signals contained in this class, for fast lookup. This class cannot be directly instantiated and must be retrieved via a . You can add tabs to the session UI via , send messages via , and toggle s via . Sends the given to the attached remote instance, optionally passing additionally . See for how to retrieve those messages. Toggle the given on the attached remote instance, optionally passing additionally . See for more details. Returns if the attached remote instance is currently in the debug loop. Returns if the attached remote instance can be debugged. Returns if the debug session is currently attached to a remote instance. Adds the given to the debug session UI in the debugger bottom panel. The 's node name will be used as the tab title. Removes the given from the debug session UI in the debugger bottom panel. Enables or disables a specific breakpoint based on , updating the Editor Breakpoint Panel accordingly. Emitted when a remote instance is attached to this session (i.e. the session becomes active). Emitted when a remote instance is detached from this session (i.e. the session becomes inactive). Represents the method that handles the event of a class. Emitted when the attached remote instance enters a break state. If canDebug is , the remote instance will enter the debug loop. Emitted when the attached remote instance exits a break state. Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached name for the 'send_message' method. Cached name for the 'toggle_profiler' method. Cached name for the 'is_breaked' method. Cached name for the 'is_debuggable' method. Cached name for the 'is_active' method. Cached name for the 'add_session_tab' method. Cached name for the 'remove_session_tab' method. Cached name for the 'set_breakpoint' method. Cached StringNames for the signals contained in this class, for fast lookup. Cached name for the 'started' signal. Cached name for the 'stopped' signal. Cached name for the 'breaked' signal. Cached name for the 'continued' signal. Base resource that provides the functionality of exporting a release build of a project to a platform, from the editor. Stores platform-specific metadata such as the name and supported features of the platform, and performs the exporting of projects, PCK files, and ZIP files. Uses an export template for the platform provided at the time of project exporting. Used in scripting by to configure platform-specific customization of scenes and resources. See and for more details. Invalid message type used as the default value when no type is specified. Message type for informational messages that have no effect on the export. Message type for warning messages that should be addressed but still allow to complete the export. Message type for error messages that must be addressed and fail the export. Flag is set if remotely debugged project is expected to use remote file system. If set, will add --remove-fs and --remote-fs-password (if password is set in the editor settings) command line arguments to the list. Flag is set if remote debug is enabled. If set, will add --remote-debug and --breakpoints (if breakpoints are selected in the script editor or added by the plugin) command line arguments to the list. Flag is set if remotely debugged project is running on the localhost. If set, will use localhost instead of EditorSettings.network/debug/remote_host as remote debugger host. Flag is set if "Visible Collision Shapes" remote debug option is enabled. If set, will add --debug-collisions command line arguments to the list. Flag is set if Visible Navigation" remote debug option is enabled. If set, will add --debug-navigation command line arguments to the list. Returns the name of the export operating system handled by this class, as a friendly string. Possible return values are Windows, Linux, macOS, Android, iOS, and Web. Create a new preset for this platform. Locates export template for the platform, and returns with the following keys: path: String and error: String. This method is provided for convenience and custom export platforms aren't required to use it or keep export templates stored in the same way official templates are. Returns array of s for this platform. Saves PCK archive and returns with the following keys: result: Error, so_files: Array (array of the shared/static objects which contains dictionaries with the following keys: path: String, tags: PackedStringArray, and target_folder: String). If is , PCK content is appended to the end of file and return additionally include following keys: embedded_start: int (embedded PCK offset) and embedded_size: int (embedded PCK size). Saves ZIP archive and returns with the following keys: result: Error, so_files: Array (array of the shared/static objects which contains dictionaries with the following keys: path: String, tags: PackedStringArray, and target_folder: String). Saves patch PCK archive and returns with the following keys: result: Error, so_files: Array (array of the shared/static objects which contains dictionaries with the following keys: path: String, tags: PackedStringArray, and target_folder: String). Saves patch ZIP archive and returns with the following keys: result: Error, so_files: Array (array of the shared/static objects which contains dictionaries with the following keys: path: String, tags: PackedStringArray, and target_folder: String). Generates array of command line arguments for the default export templates for the debug flags and editor settings. Exports project files for the specified preset. This method can be used to implement custom export format, other than PCK and ZIP. One of the callbacks is called for each exported file. is called for all exported files and have the following arguments: file_path: String, file_data: PackedByteArray, file_index: int, file_count: int, encryption_include_filters: PackedStringArray, encryption_exclude_filters: PackedStringArray, encryption_key: PackedByteArray. is called for exported native shared/static libraries and have the following arguments: file_path: String, tags: PackedStringArray, target_folder: String. Note: file_index and file_count are intended for progress tracking only and aren't necesserely unique and precise. Creates a full project at for the specified . Creates a PCK archive at for the specified . Create a ZIP archive at for the specified . Creates a patch PCK archive at for the specified , containing only the files that have changed since the last patch. Note: is an optional override of the set of patches defined in the export preset. When empty the patches defined in the export preset will be used instead. If the parameter is null, then the default value is Array.Empty<string>(). Creates a patch PCK archive at for the specified , containing only the files that have changed since the last patch. Note: is an optional override of the set of patches defined in the export preset. When empty the patches defined in the export preset will be used instead. Create a patch ZIP archive at for the specified , containing only the files that have changed since the last patch. Note: is an optional override of the set of patches defined in the export preset. When empty the patches defined in the export preset will be used instead. If the parameter is null, then the default value is Array.Empty<string>(). Create a patch ZIP archive at for the specified , containing only the files that have changed since the last patch. Note: is an optional override of the set of patches defined in the export preset. When empty the patches defined in the export preset will be used instead. Clears the export log. Adds a message to the export log that will be displayed when exporting ends. Returns number of messages in the export log. Returns message type, for the message with . Returns message category, for the message with . Returns message text, for the message with . Returns most severe message type currently present in the export log. Executes specified command on the remote host via SSH protocol and returns command output in the . Executes specified command on the remote host via SSH protocol and returns command output in the . Executes specified command on the remote host via SSH protocol and returns process ID (on the remote host) without waiting for command to finish. Executes specified command on the remote host via SSH protocol and returns process ID (on the remote host) without waiting for command to finish. Uploads specified file over SCP protocol to the remote host. Uploads specified file over SCP protocol to the remote host. Returns array of core file names that always should be exported regardless of preset config. Returns additional files that should always be exported regardless of preset configuration, and are not part of the project source. The returned contains filename keys () and their corresponding raw data ([]). Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached name for the 'get_os_name' method. Cached name for the 'create_preset' method. Cached name for the 'find_export_template' method. Cached name for the 'get_current_presets' method. Cached name for the 'save_pack' method. Cached name for the 'save_zip' method. Cached name for the 'save_pack_patch' method. Cached name for the 'save_zip_patch' method. Cached name for the 'gen_export_flags' method. Cached name for the 'export_project_files' method. Cached name for the 'export_project' method. Cached name for the 'export_pack' method. Cached name for the 'export_zip' method. Cached name for the 'export_pack_patch' method. Cached name for the 'export_zip_patch' method. Cached name for the 'clear_messages' method. Cached name for the 'add_message' method. Cached name for the 'get_message_count' method. Cached name for the 'get_message_type' method. Cached name for the 'get_message_category' method. Cached name for the 'get_message_text' method. Cached name for the 'get_worst_message_type' method. Cached name for the 'ssh_run_on_remote' method. Cached name for the 'ssh_run_on_remote_no_wait' method. Cached name for the 'ssh_push_to_remote' method. Cached name for the 'get_forced_export_files' method. Cached name for the 'get_internal_export_files' method. Cached StringNames for the signals contained in this class, for fast lookup. Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached StringNames for the signals contained in this class, for fast lookup. External implementations should inherit from this class. To use , register it using the method first. Optional. Returns , if specified is valid and can be exported. Use and to set error details. Usual implementation can call and to determine if export is possible. Optional. Called by the editor before platform is unregistered. Optional. Creates a PCK archive at for the specified . This method is called when "Export PCK/ZIP" button is pressed in the export dialog, with "Export as Patch" disabled, and PCK is selected as a file type. Optional. Creates a patch PCK archive at for the specified , containing only the files that have changed since the last patch. This method is called when "Export PCK/ZIP" button is pressed in the export dialog, with "Export as Patch" enabled, and PCK is selected as a file type. Note: The patches provided in have already been loaded when this method is called and are merely provided as context. When empty the patches defined in the export preset have been loaded instead. Required. Creates a full project at for the specified . This method is called when "Export" button is pressed in the export dialog. This method implementation can call or to use default PCK/ZIP export process, or calls and implement custom callback for processing each exported file. Optional. Create a ZIP archive at for the specified . This method is called when "Export PCK/ZIP" button is pressed in the export dialog, with "Export as Patch" disabled, and ZIP is selected as a file type. Optional. Create a ZIP archive at for the specified , containing only the files that have changed since the last patch. This method is called when "Export PCK/ZIP" button is pressed in the export dialog, with "Export as Patch" enabled, and ZIP is selected as a file type. Note: The patches provided in have already been loaded when this method is called and are merely provided as context. When empty the patches defined in the export preset have been loaded instead. Required. Returns array of supported binary extensions for the full project export. Optional. Returns protocol used for remote debugging. Default implementation return tcp://. Optional. Returns device architecture for one-click deploy. Optional. Validates and returns visibility for the specified . Default implementation return for all options. Optional. Validates and returns warning message for the specified . Default implementation return empty string for all options. Optional. Returns a property list, as an of dictionaries. Each must at least contain the name: StringName and type: Variant.Type entries. Additionally, the following keys are supported: - hint: PropertyHint - hint_string: String - usage: PropertyUsageFlags - class_name: StringName - default_value: Variant, default value of the property. - update_visibility: bool, if set to , is called for each property when this property is changed. - required: bool, if set to , this property warnings are critical, and should be resolved to make export possible. This value is a hint for the implementation, and not used by the engine directly. See also . Required. Returns platform logo displayed in the export dialog, logo should be 32x32 adjusted to the current editor scale, see . Required. Returns export platform name. Optional. Returns one-click deploy menu item icon for the specified , icon should be 16x16 adjusted to the current editor scale, see . Optional. Returns one-click deploy menu item label for the specified . Optional. Returns one-click deploy menu item tooltip for the specified . Optional. Returns number one-click deploy devices (or other one-click option displayed in the menu). Optional. Returns tooltip of the one-click deploy menu button. Required. Returns target OS name. Required. Returns array of platform specific features. Required. Returns array of platform specific features for the specified . Optional. Returns icon of the one-click deploy menu button, icon should be 16x16 adjusted to the current editor scale, see . Required. Returns if export configuration is valid. Required. Returns if project configuration is valid. Optional. Returns if specified file is a valid executable (native executable or script) for the target platform. Optional. Returns if one-click deploy options are changed and editor interface should be updated. Optional. This method is called when one-click deploy menu option is selected. Implementation should export project to a temporary location, upload and run it on the specific , or perform another action associated with the menu item. Optional. Returns if export options list is changed and presets should be updated. Sets current configuration error message text. This method should be called only from the , , or implementations. Returns current configuration error message text. This method should be called only from the , , or implementations. Set to is export templates are missing from the current configuration. This method should be called only from the , , or implementations. Returns is export templates are missing from the current configuration. This method should be called only from the , , or implementations. Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached name for the '_can_export' method. Cached name for the '_cleanup' method. Cached name for the '_export_pack' method. Cached name for the '_export_pack_patch' method. Cached name for the '_export_project' method. Cached name for the '_export_zip' method. Cached name for the '_export_zip_patch' method. Cached name for the '_get_binary_extensions' method. Cached name for the '_get_debug_protocol' method. Cached name for the '_get_device_architecture' method. Cached name for the '_get_export_option_visibility' method. Cached name for the '_get_export_option_warning' method. Cached name for the '_get_export_options' method. Cached name for the '_get_logo' method. Cached name for the '_get_name' method. Cached name for the '_get_option_icon' method. Cached name for the '_get_option_label' method. Cached name for the '_get_option_tooltip' method. Cached name for the '_get_options_count' method. Cached name for the '_get_options_tooltip' method. Cached name for the '_get_os_name' method. Cached name for the '_get_platform_features' method. Cached name for the '_get_preset_features' method. Cached name for the '_get_run_icon' method. Cached name for the '_has_valid_export_configuration' method. Cached name for the '_has_valid_project_configuration' method. Cached name for the '_is_executable' method. Cached name for the '_poll_export' method. Cached name for the '_run' method. Cached name for the '_should_update_export_options' method. Cached name for the 'set_config_error' method. Cached name for the 'get_config_error' method. Cached name for the 'set_config_missing_templates' method. Cached name for the 'get_config_missing_templates' method. Cached StringNames for the signals contained in this class, for fast lookup. Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached StringNames for the signals contained in this class, for fast lookup. Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached StringNames for the signals contained in this class, for fast lookup. Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached StringNames for the signals contained in this class, for fast lookup. The base class for the desktop platform exporters. These include Windows and Linux/BSD, but not macOS. See the classes inheriting this one for more details. Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached StringNames for the signals contained in this class, for fast lookup. The Web exporter customizes how a web build is handled. In the editor's "Export" window, it is created when adding a new "Web" preset. Note: Godot on Web is rendered inside a <canvas> tag. Normally, the canvas cannot be positioned or resized manually, but otherwise acts as the main of the application. Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached StringNames for the signals contained in this class, for fast lookup. The Windows exporter customizes how a Windows build is handled. In the editor's "Export" window, it is created when adding a new "Windows" preset. Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached StringNames for the signals contained in this class, for fast lookup. s are automatically invoked whenever the user exports the project. Their most common use is to determine what files are being included in the exported project. For each plugin, is called at the beginning of the export process and then is called for each exported file. To use , register it using the method first. Return if this plugin will customize resources based on the platform and features used. When enabled, and will be called and must be implemented. Return if this plugin will customize scenes based on the platform and features used. When enabled, and will be called and must be implemented. Note: will only be called for scenes that have been modified since the last export. Customize a resource. If changes are made to it, return the same or a new resource. Otherwise, return . When a new resource is returned, will be replaced by a copy of the new resource. The argument is only used when customizing an actual file, otherwise this means that this resource is part of another one and it will be empty. Implementing this method is required if returns . Note: When customizing any of the following types and returning another resource, the other resource should not be skipped using in : - - - - - - Customize a scene. If changes are made to it, return the same or a new scene. Otherwise, return . If a new scene is returned, it is up to you to dispose of the old one. Implementing this method is required if returns . This is called when the customization process for resources ends. This is called when the customization process for scenes ends. Virtual method to be overridden by the user. It is called when the export starts and provides all information about the export. is the list of features for the export, is for debug builds, is the target path for the exported project. is only used when running a runnable profile, e.g. when using native run on Android. Virtual method to be overridden by the user. Called when the export is finished. Virtual method to be overridden by the user. Called for each exported file before and . The arguments can be used to identify the file. is the path of the file, is the represented by the file (e.g. ), and is the list of features for the export. Calling inside this callback will make the file not included in the export. Virtual method to be overridden by the user. This is called to retrieve the set of Android dependencies provided by this plugin. Each returned Android dependency should have the format of an Android remote binary dependency: org.godot.example:my-plugin:0.0.0 For more information see Android documentation on dependencies. Note: Only supported on Android and requires EditorExportPlatformAndroid.gradle_build/use_gradle_build to be enabled. Virtual method to be overridden by the user. This is called to retrieve the URLs of Maven repositories for the set of Android dependencies provided by this plugin. For more information see Gradle documentation on dependency management. Note: Google's Maven repo and the Maven Central repo are already included by default. Note: Only supported on Android and requires EditorExportPlatformAndroid.gradle_build/use_gradle_build to be enabled. Virtual method to be overridden by the user. This is called to retrieve the local paths of the Android libraries archive (AAR) files provided by this plugin. Note: Relative paths must be relative to Godot's res://addons/ directory. For example, an AAR file located under res://addons/hello_world_plugin/HelloWorld.release.aar can be returned as an absolute path using res://addons/hello_world_plugin/HelloWorld.release.aar or a relative path using hello_world_plugin/HelloWorld.release.aar. Note: Only supported on Android and requires EditorExportPlatformAndroid.gradle_build/use_gradle_build to be enabled. Virtual method to be overridden by the user. This is used at export time to update the contents of the activity element in the generated Android manifest. Note: Only supported on Android and requires EditorExportPlatformAndroid.gradle_build/use_gradle_build to be enabled. Virtual method to be overridden by the user. This is used at export time to update the contents of the application element in the generated Android manifest. Note: Only supported on Android and requires EditorExportPlatformAndroid.gradle_build/use_gradle_build to be enabled. Virtual method to be overridden by the user. This is used at export time to update the contents of the manifest element in the generated Android manifest. Note: Only supported on Android and requires EditorExportPlatformAndroid.gradle_build/use_gradle_build to be enabled. Return a hash based on the configuration passed (for both scenes and resources). This helps keep separate caches for separate export configurations. Implementing this method is required if returns . Return a [] of additional features this preset, for the given , should have. Optional. Validates and returns the visibility for the specified . The default implementation returns for all options. Check the requirements for the given and return a non-empty warning string if they are not met. Note: Use to check the value of the export options. Return a list of export options that can be configured for this export plugin. Each element in the return value is a with the following keys: - option: A dictionary with the structure documented by , but all keys are optional. - default_value: The default value for this option. - update_visibility: An optional boolean value. If set to , the preset will emit when the option is changed. Return a of override values for export options, that will be used instead of user-provided values. Overridden options will be hidden from the user interface. class MyExportPlugin extends EditorExportPlugin: func _get_name() -> String: return "MyExportPlugin" func _supports_platform(platform) -> bool: if platform is EditorExportPlatformPC: # Run on all desktop platforms including Windows, MacOS and Linux. return true return false func _get_export_options_overrides(platform) -> Dictionary: # Override "Embed PCK" to always be enabled. return { "binary_format/embed_pck": true, } Return the name identifier of this plugin (for future identification by the exporter). The plugins are sorted by name before exporting. Implementing this method is required. Return , if the result of has changed and the export options of preset corresponding to should be updated. Return if the plugin supports the given . Adds a shared object or a directory containing only shared objects with the given and destination . Note: In case of macOS exports, those shared objects will be added to Frameworks directory of app bundle. In case of a directory code-sign will error if you place non code object in directory. Adds a shared object or a directory containing only shared objects with the given and destination . Note: In case of macOS exports, those shared objects will be added to Frameworks directory of app bundle. In case of a directory code-sign will error if you place non code object in directory. Adds a static lib from the given to the iOS project. Adds a custom file to be exported. is the virtual path that can be used to load the file, is the binary data of the file. When called inside and is , the current file will not be exported, but instead remapped to this custom file. is ignored when called in other places. will not be imported, so consider using to remap imported resources. Adds a custom file to be exported. is the virtual path that can be used to load the file, is the binary data of the file. When called inside and is , the current file will not be exported, but instead remapped to this custom file. is ignored when called in other places. will not be imported, so consider using to remap imported resources. Adds a static library (*.a) or dynamic library (*.dylib, *.framework) to Linking Phase in iOS's Xcode project. Adds a dynamic library (*.dylib, *.framework) to Linking Phase in iOS's Xcode project and embeds it into resulting binary. Note: For static libraries (*.a) works in same way as . Note: This method should not be used for System libraries as they are already present on the device. Adds content for iOS Property List files. Adds linker flags for the iOS export. Adds an iOS bundle file from the given to the exported project. Adds a C++ code to the iOS export. The final code is created from the code appended by each active export plugin. Adds file or directory matching to PlugIns directory of macOS app bundle. Note: This is useful only for macOS exports. To be called inside . Skips the current file, so it's not included in the export. Returns the current value of an export option supplied by . Returns currently used export preset. Returns currently used export platform. Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached name for the '_begin_customize_resources' method. Cached name for the '_begin_customize_scenes' method. Cached name for the '_customize_resource' method. Cached name for the '_customize_scene' method. Cached name for the '_end_customize_resources' method. Cached name for the '_end_customize_scenes' method. Cached name for the '_export_begin' method. Cached name for the '_export_end' method. Cached name for the '_export_file' method. Cached name for the '_get_android_dependencies' method. Cached name for the '_get_android_dependencies_maven_repos' method. Cached name for the '_get_android_libraries' method. Cached name for the '_get_android_manifest_activity_element_contents' method. Cached name for the '_get_android_manifest_application_element_contents' method. Cached name for the '_get_android_manifest_element_contents' method. Cached name for the '_get_customization_configuration_hash' method. Cached name for the '_get_export_features' method. Cached name for the '_get_export_option_visibility' method. Cached name for the '_get_export_option_warning' method. Cached name for the '_get_export_options' method. Cached name for the '_get_export_options_overrides' method. Cached name for the '_get_name' method. Cached name for the '_should_update_export_options' method. Cached name for the '_supports_platform' method. Cached name for the 'add_shared_object' method. Cached name for the 'add_ios_project_static_lib' method. Cached name for the 'add_file' method. Cached name for the 'add_ios_framework' method. Cached name for the 'add_ios_embedded_framework' method. Cached name for the 'add_ios_plist_content' method. Cached name for the 'add_ios_linker_flags' method. Cached name for the 'add_ios_bundle_file' method. Cached name for the 'add_ios_cpp_code' method. Cached name for the 'add_macos_plugin_file' method. Cached name for the 'skip' method. Cached name for the 'get_option' method. Cached name for the 'get_export_preset' method. Cached name for the 'get_export_platform' method. Cached StringNames for the signals contained in this class, for fast lookup. Export preset configuration. Instances of by editor UI and intended to be used a read-only configuration passed to the methods when exporting the project. Returns if preset has specified property. Returns array of files to export. Returns of files selected in the "Resources" tab of the export dialog. Dictionary keys are file names and values are export mode - "strip, "keep", or "remove". See also . Returns number of files selected in the "Resources" tab of the export dialog. Returns if specified file is exported. Returns file export mode for the specified file. Returns export preset name. Returns if "Runnable" toggle is enabled in the export dialog. Returns , is "Advanced" toggle is enabled in the export dialog. Returns if dedicated server export mode is selected in the export dialog. Returns export file filter mode selected in the "Resources" tab of the export dialog. Returns file filters to include during export. Returns file filters to exclude during export. Returns string with a comma separated list of custom features. Returns the list of packs on which to base a patch export on. Returns export target path. Returns file filters to include during PCK encryption. Returns file filters to exclude during PCK encryption. Returns , PCK encryption is enabled in the export dialog. Returns , PCK directory encryption is enabled in the export dialog. Returns PCK encryption key. Returns script export mode. Returns export option value or value of environment variable if it is set. Returns the preset's version number, or fall back to the ProjectSettings.application/config/version project setting if set to an empty string. If is , formats the returned version number to be compatible with Windows executable metadata. Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached name for the 'has' method. Cached name for the 'get_files_to_export' method. Cached name for the 'get_customized_files' method. Cached name for the 'get_customized_files_count' method. Cached name for the 'has_export_file' method. Cached name for the 'get_file_export_mode' method. Cached name for the 'get_preset_name' method. Cached name for the 'is_runnable' method. Cached name for the 'are_advanced_options_enabled' method. Cached name for the 'is_dedicated_server' method. Cached name for the 'get_export_filter' method. Cached name for the 'get_include_filter' method. Cached name for the 'get_exclude_filter' method. Cached name for the 'get_custom_features' method. Cached name for the 'get_patches' method. Cached name for the 'get_export_path' method. Cached name for the 'get_encryption_in_filter' method. Cached name for the 'get_encryption_ex_filter' method. Cached name for the 'get_encrypt_pck' method. Cached name for the 'get_encrypt_directory' method. Cached name for the 'get_encryption_key' method. Cached name for the 'get_script_export_mode' method. Cached name for the 'get_or_env' method. Cached name for the 'get_version' method. Cached StringNames for the signals contained in this class, for fast lookup. An editor feature profile can be used to disable specific features of the Godot editor. When disabled, the features won't appear in the editor, which makes the editor less cluttered. This is useful in education settings to reduce confusion or when working in a team. For example, artists and level designers could use a feature profile that disables the script editor to avoid accidentally making changes to files they aren't supposed to edit. To manage editor feature profiles visually, use Editor > Manage Feature Profiles... at the top of the editor window. The 3D editor. If this feature is disabled, the 3D editor won't display but 3D nodes will still display in the Create New Node dialog. The Script tab, which contains the script editor and class reference browser. If this feature is disabled, the Script tab won't display. The AssetLib tab. If this feature is disabled, the AssetLib tab won't display. Scene tree editing. If this feature is disabled, the Scene tree dock will still be visible but will be read-only. The Node dock. If this feature is disabled, signals and groups won't be visible and modifiable from the editor. The FileSystem dock. If this feature is disabled, the FileSystem dock won't be visible. The Import dock. If this feature is disabled, the Import dock won't be visible. The History dock. If this feature is disabled, the History dock won't be visible. The Game tab, which allows embedding the game window and selecting nodes by clicking inside of it. If this feature is disabled, the Game tab won't display. Represents the size of the enum. If is , disables the class specified by . When disabled, the class won't appear in the Create New Node dialog. Returns if the class specified by is disabled. When disabled, the class won't appear in the Create New Node dialog. If is , disables editing for the class specified by . When disabled, the class will still appear in the Create New Node dialog but the Inspector will be read-only when selecting a node that extends the class. Returns if editing for the class specified by is disabled. When disabled, the class will still appear in the Create New Node dialog but the Inspector will be read-only when selecting a node that extends the class. If is , disables editing for in the class specified by . When a property is disabled, it won't appear in the Inspector when selecting a node that extends the class specified by . Returns if is disabled in the class specified by . When a property is disabled, it won't appear in the Inspector when selecting a node that extends the class specified by . If is , disables the editor feature specified in . When a feature is disabled, it will disappear from the editor entirely. Returns if the is disabled. When a feature is disabled, it will disappear from the editor entirely. Returns the specified 's human-readable name. Saves the editor feature profile to a file in JSON format. It can then be imported using the feature profile manager's Import button or the method. Note: Feature profiles created via the user interface are saved in the feature_profiles directory, as a file with the .profile extension. The editor configuration folder can be found by using . Loads an editor feature profile from a file. The file must follow the JSON format obtained by using the feature profile manager's Export button or the method. 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 . Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached name for the 'set_disable_class' method. Cached name for the 'is_class_disabled' method. Cached name for the 'set_disable_class_editor' method. Cached name for the 'is_class_editor_disabled' method. Cached name for the 'set_disable_class_property' method. Cached name for the 'is_class_property_disabled' method. Cached name for the 'set_disable_feature' method. Cached name for the 'is_feature_disabled' method. Cached name for the 'get_feature_name' method. Cached name for the 'save_to_file' method. Cached name for the 'load_from_file' method. Cached StringNames for the signals contained in this class, for fast lookup. is an enhanced version of available only to editor plugins. Additional features include list of favorited/recent files and the ability to see files as thumbnails grid instead of list. The can select only one file. Accepting the window will open the file. The can select multiple files. Accepting the window will open all files. The can select only one directory. Accepting the window will open the directory. The can select a file or directory. Accepting the window will open it. The can select only one file. Accepting the window will save the file. The can only view res:// directory contents. The can only view user:// directory contents. The can view the entire local file system. The displays resources as thumbnails. The displays resources as a list of filenames. The location from which the user may select a file, including res://, user://, and the local file system. The view format in which the displays resources to the user. The dialog's open or save mode, which affects the selection behavior. See . The currently occupied directory. The currently selected file. The file system path in the address bar. The available file type filters. For example, this shows only .png and .gd files: set_filters(PackedStringArray(["*.png ; PNG Images","*.gd ; GDScript Files"])). Multiple file types can also be specified in a single filter. "*.png, *.jpg, *.jpeg ; Supported Images" will show both PNG and JPEG files when selected. The number of additional s and es in the dialog. If , hidden files and directories will be visible in the . This property is synchronized with EditorSettings.filesystem/file_dialog/show_hidden_files. If , the will not warn the user before overwriting files. Removes all filters except for "All Files (*.*)". Adds a comma-delimited file name option to the with an optional , which restricts what files can be picked. A should be of the form "filename.extension", where filename and extension can be * to match any string. Filters starting with . (i.e. empty filenames) are not allowed. For example, a of "*.tscn, *.scn" and a of "Scenes" results in filter text "Scenes (*.tscn, *.scn)". Returns the name of the or with index . Returns an array of values of the with index . Returns the default value index of the or with index . Sets the name of the or with index . Sets the option values of the with index . Sets the option values of the with index . Sets the default value index of the or with index . Adds an additional to the file dialog. If is empty, a is added instead. should be an index of the value in the . If is empty it should be either 1 (checked), or 0 (unchecked). Adds an additional to the file dialog. If is empty, a is added instead. should be an index of the value in the . If is empty it should be either 1 (checked), or 0 (unchecked). Returns a with the selected values of the additional s and/or es. keys are names and values are selected value indices. Clear the filter for file names. Sets the value of the filter for file names. Returns the value of the filter for file names. Returns the used to display the file system. Warning: This is a required internal node, removing and freeing it may cause a crash. If you wish to hide it or any of its children, use their property. Returns the LineEdit for the selected file. Warning: This is a required internal node, removing and freeing it may cause a crash. If you wish to hide it or any of its children, use their property. Adds the given to the side of the file dialog with the given text on top. Only one side menu is allowed. Shows the at the default size and position for file dialogs in the editor, and selects the file name if there is a current file. Notify the that its view of the data is no longer accurate. Updates the view contents on next view update. Represents the method that handles the event of a class. Emitted when a file is selected. Represents the method that handles the event of a class. Emitted when multiple files are selected. Represents the method that handles the event of a class. Emitted when a directory is selected. Represents the method that handles the event of a class. Emitted when the filter for file names changes. Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached name for the 'access' property. Cached name for the 'display_mode' property. Cached name for the 'file_mode' property. Cached name for the 'current_dir' property. Cached name for the 'current_file' property. Cached name for the 'current_path' property. Cached name for the 'filters' property. Cached name for the 'option_count' property. Cached name for the 'show_hidden_files' property. Cached name for the 'disable_overwrite_warning' property. Cached StringNames for the methods contained in this class, for fast lookup. Cached name for the 'clear_filters' method. Cached name for the 'add_filter' method. Cached name for the 'set_filters' method. Cached name for the 'get_filters' method. Cached name for the 'get_option_name' method. Cached name for the 'get_option_values' method. Cached name for the 'get_option_default' method. Cached name for the 'set_option_name' method. Cached name for the 'set_option_values' method. Cached name for the 'set_option_default' method. Cached name for the 'set_option_count' method. Cached name for the 'get_option_count' method. Cached name for the 'add_option' method. Cached name for the 'get_selected_options' method. Cached name for the 'clear_filename_filter' method. Cached name for the 'set_filename_filter' method. Cached name for the 'get_filename_filter' method. Cached name for the 'get_current_dir' method. Cached name for the 'get_current_file' method. Cached name for the 'get_current_path' method. Cached name for the 'set_current_dir' method. Cached name for the 'set_current_file' method. Cached name for the 'set_current_path' method. Cached name for the 'set_file_mode' method. Cached name for the 'get_file_mode' method. Cached name for the 'get_vbox' method. Cached name for the 'get_line_edit' method. Cached name for the 'set_access' method. Cached name for the 'get_access' method. Cached name for the 'set_show_hidden_files' method. Cached name for the 'is_showing_hidden_files' method. Cached name for the 'set_display_mode' method. Cached name for the 'get_display_mode' method. Cached name for the 'set_disable_overwrite_warning' method. Cached name for the 'is_overwrite_warning_disabled' method. Cached name for the 'add_side_menu' method. Cached name for the 'popup_file_dialog' method. Cached name for the 'invalidate' method. Cached StringNames for the signals contained in this class, for fast lookup. Cached name for the 'file_selected' signal. Cached name for the 'files_selected' signal. Cached name for the 'dir_selected' signal. Cached name for the 'filename_filter_changed' signal. This object holds information of all resources in the filesystem, their types, etc. Note: This class shouldn't be instantiated directly. Instead, access the singleton using . Gets the root directory object. Returns if the filesystem is being scanned. Returns the scan progress for 0 to 1 if the FS is being scanned. Scan the filesystem for changes. Check if the source of any imported resource changed. Add a file in an existing directory, or schedule file information to be updated on editor restart. Can be used to update text files saved by an external program. This will not import the file. To reimport, call or methods. Returns a view into the filesystem at . Returns the resource type of the file, given the full path. This returns a string such as "Resource" or "GDScript", not a file extension such as ".gd". Reimports a set of files. Call this if these files or their .import files were directly edited by script or an external program. If the file type changed or the file was newly created, use or . Note: This function blocks until the import is finished. However, the main loop iteration, including timers and , will occur during the import process due to progress bar updates. Avoid calls to or while an import is in progress. Reimports a set of files. Call this if these files or their .import files were directly edited by script or an external program. If the file type changed or the file was newly created, use or . Note: This function blocks until the import is finished. However, the main loop iteration, including timers and , will occur during the import process due to progress bar updates. Avoid calls to or while an import is in progress. Emitted if the filesystem changed. Emitted when the list of global script classes gets updated. Represents the method that handles the event of a class. Emitted if the source of any imported file changed. Represents the method that handles the event of a class. Emitted before a resource is reimported. Represents the method that handles the event of a class. Emitted if a resource is reimported. Represents the method that handles the event of a class. Emitted if at least one resource is reloaded when the filesystem is scanned. Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached name for the 'get_filesystem' method. Cached name for the 'is_scanning' method. Cached name for the 'get_scanning_progress' method. Cached name for the 'scan' method. Cached name for the 'scan_sources' method. Cached name for the 'update_file' method. Cached name for the 'get_filesystem_path' method. Cached name for the 'get_file_type' method. Cached name for the 'reimport_files' method. Cached StringNames for the signals contained in this class, for fast lookup. Cached name for the 'filesystem_changed' signal. Cached name for the 'script_classes_updated' signal. Cached name for the 'sources_changed' signal. Cached name for the 'resources_reimporting' signal. Cached name for the 'resources_reimported' signal. Cached name for the 'resources_reload' signal. A more generalized, low-level variation of the directory concept. Returns the number of subdirectories in this directory. Returns the subdirectory at index . Returns the number of files in this directory. Returns the name of the file at index . Returns the path to the file at index . Returns the resource type of the file at index . This returns a string such as "Resource" or "GDScript", not a file extension such as ".gd". Returns the name of the script class defined in the file at index . If the file doesn't define a script class using the class_name syntax, this will return an empty string. Returns the base class of the script class defined in the file at index . If the file doesn't define a script class using the class_name syntax, this will return an empty string. Returns if the file at index imported properly. Returns the name of this directory. Returns the path to this directory. Returns the parent directory for this directory or if called on a directory at res:// or user://. Returns the index of the file with name or -1 if not found. Returns the index of the directory with name or -1 if not found. Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached name for the 'get_subdir_count' method. Cached name for the 'get_subdir' method. Cached name for the 'get_file_count' method. Cached name for the 'get_file' method. Cached name for the 'get_file_path' method. Cached name for the 'get_file_type' method. Cached name for the 'get_file_script_class_name' method. Cached name for the 'get_file_script_class_extends' method. Cached name for the 'get_file_import_is_valid' method. Cached name for the 'get_name' method. Cached name for the 'get_path' method. Cached name for the 'get_parent' method. Cached name for the 'find_file_index' method. Cached name for the 'find_dir_index' method. Cached StringNames for the signals contained in this class, for fast lookup. This class is used to query and configure a certain import format. It is used in conjunction with asset format import plugins. Return the file extensions supported. Return whether this importer is active. Query support. Return if import must not continue. Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached name for the '_get_file_extensions' method. Cached name for the '_is_active' method. Cached name for the '_query' method. Cached StringNames for the signals contained in this class, for fast lookup. s provide a way to extend the editor's resource import functionality. Use them to import resources from custom files or to provide alternatives to the editor's existing importers. EditorImportPlugins work by associating with specific file extensions and a resource type. See and . They may optionally specify some import presets that affect the import process. EditorImportPlugins are responsible for creating the resources and saving them in the .godot/imported directory (see ProjectSettings.application/config/use_hidden_project_data_directory). Below is an example EditorImportPlugin that imports a from a file with the extension ".special" or ".spec": using Godot; public partial class MySpecialPlugin : EditorImportPlugin { public override string _GetImporterName() { return "my.special.plugin"; } public override string _GetVisibleName() { return "Special Mesh"; } public override string[] _GetRecognizedExtensions() { return new string[] { "special", "spec" }; } public override string _GetSaveExtension() { return "mesh"; } public override string _GetResourceType() { return "Mesh"; } public override int _GetPresetCount() { return 1; } public override string _GetPresetName(int presetIndex) { return "Default"; } public override Godot.Collections.Array<Godot.Collections.Dictionary> _GetImportOptions(string path, int presetIndex) { return new Godot.Collections.Array<Godot.Collections.Dictionary> { new Godot.Collections.Dictionary { { "name", "myOption" }, { "default_value", false }, } }; } public override Error _Import(string sourceFile, string savePath, Godot.Collections.Dictionary options, Godot.Collections.Array<string> platformVariants, Godot.Collections.Array<string> genFiles) { using var file = FileAccess.Open(sourceFile, FileAccess.ModeFlags.Read); if (file.GetError() != Error.Ok) { return Error.Failed; } var mesh = new ArrayMesh(); // Fill the Mesh with data read in "file", left as an exercise to the reader. string filename = $"{savePath}.{_GetSaveExtension()}"; return ResourceSaver.Save(mesh, filename); } } To use , register it using the method first. Tells whether this importer can be run in parallel on threads, or, on the contrary, it's only safe for the editor to call it from the main thread, for one file at a time. If this method is not overridden, it will return by default. If this importer's implementation is thread-safe and can be run in parallel, override this with to optimize for concurrency. Gets the format version of this importer. Increment this version when making incompatible changes to the format of the imported resources. Gets the options and default values for the preset at this index. Returns an Array of Dictionaries with the following keys: name, default_value, property_hint (optional), hint_string (optional), usage (optional). Gets the order of this importer to be run when importing resources. Importers with lower import orders will be called first, and higher values will be called later. Use this to ensure the importer runs after the dependencies are already imported. The default import order is 0 unless overridden by a specific importer. See for some predefined values. Gets the unique name of the importer. This method can be overridden to hide specific import options if conditions are met. This is mainly useful for hiding options that depend on others if one of them is disabled. public void _GetOptionVisibility(string option, Godot.Collections.Dictionary options) { // Only show the lossy quality setting if the compression mode is set to "Lossy". if (option == "compress/lossy_quality" && options.ContainsKey("compress/mode")) { return (int)options["compress/mode"] == CompressLossy; // This is a constant you set } return true; } Returns to make all options always visible. Gets the number of initial presets defined by the plugin. Use to get the default options for the preset and to get the name of the preset. Gets the name of the options preset at this index. Gets the priority of this plugin for the recognized extension. Higher priority plugins will be preferred. The default priority is 1.0. Gets the list of file extensions to associate with this loader (case-insensitive). e.g. ["obj"]. Gets the Godot resource type associated with this loader. e.g. "Mesh" or "Animation". Gets the extension used to save this resource in the .godot/imported directory (see ProjectSettings.application/config/use_hidden_project_data_directory). Gets the name to display in the import window. You should choose this name as a continuation to "Import as", e.g. "Import as Special Mesh". Imports into with the import specified. The and arrays will be modified by this function. This method must be overridden to do the actual importing work. See this class' description for an example of overriding this method. This function can only be called during the callback and it allows manually importing resources from it. This is useful when the imported file generates external resources that require importing (as example, images). Custom parameters for the ".import" file can be passed via the . Additionally, in cases where multiple importers can handle a file, the can be specified to force a specific one. This function performs a resource import and returns immediately with a success or error code. defines optional extra metadata which will be stored as generator_parameters in the remap section of the .import file, for example to store a md5 hash of the source data. Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached name for the '_can_import_threaded' method. Cached name for the '_get_format_version' method. Cached name for the '_get_import_options' method. Cached name for the '_get_import_order' method. Cached name for the '_get_importer_name' method. Cached name for the '_get_option_visibility' method. Cached name for the '_get_preset_count' method. Cached name for the '_get_preset_name' method. Cached name for the '_get_priority' method. Cached name for the '_get_recognized_extensions' method. Cached name for the '_get_resource_type' method. Cached name for the '_get_save_extension' method. Cached name for the '_get_visible_name' method. Cached name for the '_import' method. Cached name for the 'append_import_external_resource' method. Cached StringNames for the signals contained in this class, for fast lookup. This is the control that implements property editing in the editor's Settings dialogs, the Inspector dock, etc. To get the used in the editor's Inspector dock, use . will show properties in the same order as the array returned by . If a property's name is path-like (i.e. if it contains forward slashes), will create nested sections for "directories" along the path. For example, if a property is named highlighting/gdscript/node_path_color, it will be shown as "Node Path Color" inside the "GDScript" section nested inside the "Highlighting" section. If a property has usage, it will group subsequent properties whose name starts with the property's hint string. The group ends when a property does not start with that hint string or when a new group starts. An empty group name effectively ends the current group. will create a top-level section for each group. For example, if a property with group usage is named Collide With and its hint string is collide_with_, a subsequent collide_with_area property will be shown as "Area" inside the "Collide With" section. There is also a special case: when the hint string contains the name of a property, that property is grouped too. This is mainly to help grouping properties like font, font_color and font_size (using the hint string font_). If a property has usage, a subgroup will be created in the same way as a group, and a second-level section will be created for each subgroup. Note: Unlike sections created from path-like property names, won't capitalize the name for sections created from groups. So properties with group usage usually use capitalized names instead of snake_cased names. Shows the properties of the given in this inspector for editing. To clear the inspector, call this method with . Note: If you want to edit an object in the editor's main inspector, use the edit_* methods in instead. Gets the path of the currently selected property. Returns the object currently selected in this inspector. Creates a property editor that can be used by plugin UI to edit the specified property of an . Represents the method that handles the event of a class. Emitted when a property is selected in the inspector. Represents the method that handles the event of a class. Emitted when a property is keyed in the inspector. Properties can be keyed by clicking the "key" icon next to a property when the Animation panel is toggled. Represents the method that handles the event of a class. Emitted when a property is removed from the inspector. Represents the method that handles the event of a class. Emitted when a resource is selected in the inspector. Represents the method that handles the event of a class. Emitted when the Edit button of an has been pressed in the inspector. This is mainly used in the remote scene tree Inspector. Represents the method that handles the event of a class. Emitted when a property is edited in the inspector. Represents the method that handles the event of a class. Emitted when a boolean property is toggled in the inspector. Note: This signal is never emitted if the internal autoclear property enabled. Since this property is always enabled in the editor inspector, this signal is never emitted by the editor itself. Emitted when the object being edited by the inspector has changed. Emitted when a property that requires a restart to be applied is edited in the inspector. This is only used in the Project Settings and Editor Settings. Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached name for the 'edit' method. Cached name for the 'get_selected_path' method. Cached name for the 'get_edited_object' method. Cached name for the 'instantiate_property_editor' method. Cached StringNames for the signals contained in this class, for fast lookup. Cached name for the 'property_selected' signal. Cached name for the 'property_keyed' signal. Cached name for the 'property_deleted' signal. Cached name for the 'resource_selected' signal. Cached name for the 'object_id_selected' signal. Cached name for the 'property_edited' signal. Cached name for the 'property_toggled' signal. Cached name for the 'edited_object_changed' signal. Cached name for the 'restart_requested' signal. allows adding custom property editors to . When an object is edited, the function is called and must return if the object type is supported. If supported, the function will be called, allowing to place custom controls at the beginning of the class. Subsequently, the and are called for every category and property. They offer the ability to add custom controls to the inspector too. Finally, will be called. On each of these calls, the "add" functions can be called. To use , register it using the method first. Returns if this object can be handled by this plugin. Called to allow adding controls at the beginning of the property list for . Called to allow adding controls at the beginning of a category in the property list for . Called to allow adding controls at the end of the property list for . Called to allow adding controls at the beginning of a group or a sub-group in the property list for . Called to allow adding property-specific editors to the property list for . The added editor control must extend . Returning removes the built-in editor for this property, otherwise allows to insert a custom editor before the built-in one. Adds a custom control, which is not necessarily a property editor. Adds a property editor for an individual property. The control must extend . There can be multiple property editors for a property. If is , this newly added editor will be displayed after all the other editors of the property whose is . For example, the editor uses this parameter to add an "Edit Region" button for below the regular editor. can be used to choose a custom label for the property editor in the inspector. If left empty, the label is computed from the name of the property instead. Adds an editor that allows modifying multiple properties. The control must extend . Adds an editor that allows modifying multiple properties. The control must extend . Adds a property editor for an individual property. The control must extend . There can be multiple property editors for a property. If is , this newly added editor will be displayed after all the other editors of the property whose is . For example, the editor uses this parameter to add an "Edit Region" button for below the regular editor. can be used to choose a custom label for the property editor in the inspector. If left empty, the label is computed from the name of the property instead. Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached name for the '_can_handle' method. Cached name for the '_parse_begin' method. Cached name for the '_parse_category' method. Cached name for the '_parse_end' method. Cached name for the '_parse_group' method. Cached name for the '_parse_property' method. Cached name for the 'add_custom_control' method. Cached name for the 'add_property_editor' method. Cached name for the 'add_property_editor_for_multiple_properties' method. Cached StringNames for the signals contained in this class, for fast lookup. 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 , , , , the editor viewport, and information about scenes. Note: This class shouldn't be instantiated directly. Instead, access the singleton directly by its name. // In C# you can access it via the static Singleton property. EditorSettings settings = EditorInterface.Singleton.GetEditorSettings(); If , enables distraction-free mode which hides side docks to increase the space available for the main view. If , the Movie Maker mode is enabled in the editor. See for more information. Restarts the editor. This closes the editor and then opens the same project. If is , the project will be saved before restarting. Returns the editor's instance. Warning: Removing and freeing this node will render a part of the editor useless and may cause a crash. Returns the editor's instance. Returns the singleton. Returns the editor's instance. Returns the editor's instance. Returns the editor's instance. Returns the editor's . Returns the editor's . Returns mesh previews rendered at the given size as an of s. Sets the enabled status of a plugin. The plugin name is the same as its directory name. Returns if the specified is enabled. The plugin name is the same as its directory name. Returns the editor's . Note: When creating custom editor UI, prefer accessing theme items directly from your GUI nodes using the get_theme_* methods. 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. Returns the editor control responsible for main screen plugins and tools. Use it with plugins that implement . Note: This node is a , which means that if you add a child to it, you need to set the child's to 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. Returns the editor's instance. Warning: Removing and freeing this node will render a part of the editor useless and may cause a crash. Returns the 2D editor . It does not have a camera. Instead, the view transforms are done directly and can be accessed with . Returns the specified 3D editor , from 0 to 3. The viewport can be used to access the active editor cameras with . Sets the editor's current main screen to the one specified in . must match the title of the tab in question exactly (e.g. 2D, 3D, Script, or AssetLib for default tabs). Returns 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 . - EditorSettings.interface/editor/single_window_mode is . - is . This is forced to on platforms that don't support multiple windows such as Web, or when the --single-window command line argument is used. 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. Pops up the in the editor UI with . The dialog must have no current parent, otherwise the method fails. See also . If the parameter is null, then the default value is new Rect2I(new Vector2I(0, 0), new Vector2I(0, 0)). Pops up the in the editor UI with . The dialog must have no current parent, otherwise the method fails. See also . If the parameter is null, then the default value is new Vector2I(0, 0). Pops up the in the editor UI with . The dialog must have no current parent, otherwise the method fails. See also . Pops up the in the editor UI with . The dialog must have no current parent, otherwise the method fails. See also . If the parameter is null, then the default value is new Vector2I(0, 0). 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 , you must load the feature profile using . 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 . Selects and activates the specified feature profile with the given . Set to an empty string to reset to the default feature profile. A feature profile can be created programmatically using the 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 . Pops up an editor dialog for selecting a from the edited scene. The must take a single argument of type . It is called on the selected or the empty path ^"" if the dialog is canceled. If is provided, the dialog will only show Nodes that match one of the listed Node types. If 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) Pops up an editor dialog for selecting properties from . The must take a single argument of type . It is called on the selected property path (see NodePath.get_as_property_path) or the empty path ^"" if the dialog is canceled. If is provided, the dialog will only show properties that match one of the listed values. If 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) If the parameter is null, then the default value is Array.Empty<int>(). Pops up an editor dialog for selecting properties from . The must take a single argument of type . It is called on the selected property path (see NodePath.get_as_property_path) or the empty path ^"" if the dialog is canceled. If is provided, the dialog will only show properties that match one of the listed values. If 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) Pops up an editor dialog for selecting a method from . The must take a single argument of type which will contain the name of the selected method or be empty if the dialog is canceled. If is provided, the method will be selected automatically in the method list, if it exists. Pops up an editor dialog for quick selecting a resource file. The must take a single argument of type which will contain the path of the selected resource or be empty if the dialog is canceled. If is provided, the dialog will only show resources that match these types. Only types deriving from are supported. Pops up an editor dialog for creating an object. The must take a single argument of type which will contain the type name of the selected object or be empty if no item is selected. The specifies the base type of objects to display. For example, if you set this to "Resource", all types derived from will display in the create dialog. The 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 is not derived from , there will be no result of the type in the dialog. The 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 is an empty string, the dialog will use "Create New 'Base Type'" as the default title. The contains a list of type names, and the types in the blocklist will be hidden from the create dialog. The is a dictionary, with keys being s and values being s. Custom suffixes override the default suffixes which are file names of their scripts. For example, if you set a custom suffix as "Custom Suffix" for a global script type, Node |- MyCustomNode (my_custom_node.gd) will be Node |- MyCustomNode (Custom Suffix) Bear in mind that when a built-in type does not have any custom suffix, its suffix will be removed. The suffix of a type created from a script will fall back to its script file name. For global types by scripts, if you customize their suffixes to an empty string, their suffixes will be removed. Note: Trying to list the base type in the will hide all types derived from the base type from the create dialog. Returns the editor's instance. Warning: Removing and freeing this node will render a part of the editor useless and may cause a crash. Selects the file, with the path provided by , in the FileSystem dock. Returns an array containing the paths of the currently selected files (and directories) in the . Returns the current path being viewed in the . Returns the current directory being viewed in the . If a file is selected, its base directory will be returned using String.get_base_dir instead. Returns the editor's instance. Warning: Removing and freeing this node will render a part of the editor useless and may cause a crash. Shows the given property on the given in the editor's Inspector dock. If is , plugins will not attempt to edit . Edits the given . If the resource is a you can also edit it with to specify the line and column position. Edits the given . The node will be also selected if it's inside the scene tree. Edits the given . 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. Opens the scene at the given path. If is , creates a new inherited scene. Reloads the scene at the given path. Returns an with the file paths of the currently opened scenes. Returns the edited (current) scene's root . Saves the currently active scene. Returns either or . Saves the currently active scene as a file at . Saves all opened scenes in the editor. Marks the current scene tab as unsaved. Plays the main scene. Plays the currently active scene. Plays the scene specified by its filepath. Stops the scene that is currently playing. Returns if a scene is currently being played, otherwise. Paused scenes are considered as being played. Returns the name of the scene that is being played. If no scene is currently being played, returns an empty string. Opens the scene at the given path. If is , creates a new inherited scene. Pops up an editor dialog for selecting properties from . The must take a single argument of type . It is called on the selected property path (see NodePath.get_as_property_path) or the empty path ^"" if the dialog is canceled. If is provided, the dialog will only show properties that match one of the listed values. If 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) If the parameter is null, then the default value is Array.Empty<int>(). Pops up an editor dialog for selecting properties from . The must take a single argument of type . It is called on the selected property path (see NodePath.get_as_property_path) or the empty path ^"" if the dialog is canceled. If is provided, the dialog will only show properties that match one of the listed values. If 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) Pops up an editor dialog for selecting a from the edited scene. The must take a single argument of type . It is called on the selected or the empty path ^"" if the dialog is canceled. If is provided, the dialog will only show Nodes that match one of the listed Node types. If 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) Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached name for the 'distraction_free_mode' property. Cached name for the 'movie_maker_enabled' property. Cached StringNames for the methods contained in this class, for fast lookup. Cached name for the 'restart_editor' method. Cached name for the 'get_command_palette' method. Cached name for the 'get_resource_filesystem' method. Cached name for the 'get_editor_paths' method. Cached name for the 'get_resource_previewer' method. Cached name for the 'get_selection' method. Cached name for the 'get_editor_settings' method. Cached name for the 'get_editor_toaster' method. Cached name for the 'get_editor_undo_redo' method. Cached name for the 'make_mesh_previews' method. Cached name for the 'set_plugin_enabled' method. Cached name for the 'is_plugin_enabled' method. Cached name for the 'get_editor_theme' method. Cached name for the 'get_base_control' method. Cached name for the 'get_editor_main_screen' method. Cached name for the 'get_script_editor' method. Cached name for the 'get_editor_viewport_2d' method. Cached name for the 'get_editor_viewport_3d' method. Cached name for the 'set_main_screen_editor' method. Cached name for the 'set_distraction_free_mode' method. Cached name for the 'is_distraction_free_mode_enabled' method. Cached name for the 'is_multi_window_enabled' method. Cached name for the 'get_editor_scale' method. Cached name for the 'popup_dialog' method. Cached name for the 'popup_dialog_centered' method. Cached name for the 'popup_dialog_centered_ratio' method. Cached name for the 'popup_dialog_centered_clamped' method. Cached name for the 'get_current_feature_profile' method. Cached name for the 'set_current_feature_profile' method. Cached name for the 'popup_node_selector' method. Cached name for the 'popup_property_selector' method. Cached name for the 'popup_method_selector' method. Cached name for the 'popup_quick_open' method. Cached name for the 'popup_create_dialog' method. Cached name for the 'get_file_system_dock' method. Cached name for the 'select_file' method. Cached name for the 'get_selected_paths' method. Cached name for the 'get_current_path' method. Cached name for the 'get_current_directory' method. Cached name for the 'get_inspector' method. Cached name for the 'inspect_object' method. Cached name for the 'edit_resource' method. Cached name for the 'edit_node' method. Cached name for the 'edit_script' method. Cached name for the 'open_scene_from_path' method. Cached name for the 'reload_scene_from_path' method. Cached name for the 'get_open_scenes' method. Cached name for the 'get_edited_scene_root' method. Cached name for the 'save_scene' method. Cached name for the 'save_scene_as' method. Cached name for the 'save_all_scenes' method. Cached name for the 'mark_scene_as_unsaved' method. Cached name for the 'play_main_scene' method. Cached name for the 'play_current_scene' method. Cached name for the 'play_custom_scene' method. Cached name for the 'stop_playing_scene' method. Cached name for the 'is_playing_scene' method. Cached name for the 'get_playing_scene' method. Cached name for the 'set_movie_maker_enabled' method. Cached name for the 'is_movie_maker_enabled' method. Cached StringNames for the signals contained in this class, for fast lookup. Gizmo that is used for providing custom visualization and editing (handles and subgizmos) for objects. Can be overridden to create custom gizmos, but for simple gizmos creating a is usually recommended. Override this method to commit a handle being edited (handles must have been previously added by ). This usually means creating an action for the change, using the current handle value as "do" and the argument as "undo". If the argument is , the value should be directly set, without any action. The argument is when the committed handle is secondary (see for more information). Override this method to commit a group of subgizmos being edited (see and ). This usually means creating an action for the change, using the current transforms as "do" and the transforms as "undo". If the argument is , the transforms should be directly set, without any action. Override this method to return the name of an edited handle (handles must have been previously added by ). Handles can be named for reference to the user when editing. The argument is when the requested handle is secondary (see for more information). Override this method to return the current value of a handle. This value will be requested at the start of an edit and used as the restore argument in . The argument is when the requested handle is secondary (see for more information). Override this method to return the current transform of a subgizmo. This transform will be requested at the start of an edit and used as the restore argument in . Override this method to return whenever the given handle should be highlighted in the editor. The argument is when the requested handle is secondary (see for more information). Override this method to add all the gizmo elements whenever a gizmo update is requested. It's common to call at the beginning of this method and then add visual elements depending on the node's properties. Override this method to update the node properties when the user drags a gizmo handle (previously added with ). The provided is the mouse position in screen coordinates and the can be used to convert it to raycasts. The argument is when the edited handle is secondary (see for more information). Override this method to update the node properties during subgizmo editing (see and ). The is given in the 's local coordinate system. Override this method to allow selecting subgizmos using mouse drag box selection. Given a and a , this method should return which subgizmos are contained within the frustum. The argument consists of an array with all the s that make up the selection frustum. The returned value should contain a list of unique subgizmo identifiers, which can have any non-negative value and will be used in other virtual methods like or . Override this method to allow selecting subgizmos using mouse clicks. Given a and a in screen coordinates, this method should return which subgizmo should be selected. The returned value should be a unique subgizmo identifier, which can have any non-negative value and will be used in other virtual methods like or . Adds lines to the gizmo (as sets of 2 points), with a given material. The lines are used for visualizing the gizmo. Call this method during . If the parameter is null, then the default value is new Color(1.0f, 1.0f, 1.0f, 1.0f). Adds lines to the gizmo (as sets of 2 points), with a given material. The lines are used for visualizing the gizmo. Call this method during . If the parameter is null, then the default value is new Color(1.0f, 1.0f, 1.0f, 1.0f). Adds a mesh to the gizmo with the specified , local and . Call this method during . If the parameter is null, then the default value is Transform3D.Identity. Adds the specified to the gizmo's collision shape for picking. Call this method during . Adds the specified to the gizmo's collision shape for picking. Call this method during . Adds collision triangles to the gizmo for picking. A can be generated from a regular too. Call this method during . Adds an unscaled billboard for visualization and selection. Call this method during . If the parameter is null, then the default value is new Color(1.0f, 1.0f, 1.0f, 1.0f). Adds a list of handles (points) which can be used to edit the properties of the gizmo's . The argument can be used to specify a custom identifier for each handle, if an empty array is passed, the ids will be assigned automatically from the argument order. The argument marks the added handles as secondary, meaning they will normally have lower selection priority than regular handles. When the user is holding the shift key secondary handles will switch to have higher priority than regular handles. This change in priority can be used to place multiple handles at the same point while still giving the user control on their selection. There are virtual methods which will be called upon editing of these handles. Call this method during . Adds a list of handles (points) which can be used to edit the properties of the gizmo's . The argument can be used to specify a custom identifier for each handle, if an empty array is passed, the ids will be assigned automatically from the argument order. The argument marks the added handles as secondary, meaning they will normally have lower selection priority than regular handles. When the user is holding the shift key secondary handles will switch to have higher priority than regular handles. This change in priority can be used to place multiple handles at the same point while still giving the user control on their selection. There are virtual methods which will be called upon editing of these handles. Call this method during . Sets the reference node for the gizmo. must inherit from . Returns the node associated with this gizmo. Returns the that owns this gizmo. It's useful to retrieve materials using . Removes everything in the gizmo including meshes, collisions and handles. Sets the gizmo's hidden state. If , the gizmo will be hidden. If , it will be shown. Returns if the given subgizmo is currently selected. Can be used to highlight selected elements during . Returns a list of the currently selected subgizmos. Can be used to highlight selected elements during . Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached name for the '_begin_handle_action' method. Cached name for the '_commit_handle' method. Cached name for the '_commit_subgizmos' method. Cached name for the '_get_handle_name' method. Cached name for the '_get_handle_value' method. Cached name for the '_get_subgizmo_transform' method. Cached name for the '_is_handle_highlighted' method. Cached name for the '_redraw' method. Cached name for the '_set_handle' method. Cached name for the '_set_subgizmo_transform' method. Cached name for the '_subgizmos_intersect_frustum' method. Cached name for the '_subgizmos_intersect_ray' method. Cached name for the 'add_lines' method. Cached name for the 'add_mesh' method. Cached name for the 'add_collision_segments' method. Cached name for the 'add_collision_triangles' method. Cached name for the 'add_unscaled_billboard' method. Cached name for the 'add_handles' method. Cached name for the 'set_node_3d' method. Cached name for the 'get_node_3d' method. Cached name for the 'get_plugin' method. Cached name for the 'clear' method. Cached name for the 'set_hidden' method. Cached name for the 'is_subgizmo_selected' method. Cached name for the 'get_subgizmo_selection' method. Cached StringNames for the signals contained in this class, for fast lookup. allows you to define a new type of Gizmo. There are two main ways to do so: extending for the simpler gizmos, or creating a new type. See the tutorial in the documentation for more info. To use , register it using the method first. Override this method to define whether the gizmos handled by this plugin can be hidden or not. Returns if not overridden. Override this method to commit a handle being edited (handles must have been previously added by during ). This usually means creating an action for the change, using the current handle value as "do" and the argument as "undo". If the argument is , the value should be directly set, without any action. The argument is when the committed handle is secondary (see for more information). Called for this plugin's active gizmos. Override this method to commit a group of subgizmos being edited (see and ). This usually means creating an action for the change, using the current transforms as "do" and the transforms as "undo". If the argument is , the transforms should be directly set, without any action. As with all subgizmo methods, transforms are given in local space respect to the gizmo's Node3D. Called for this plugin's active gizmos. Override this method to return a custom for the 3D nodes of your choice, return for the rest of nodes. See also . Override this method to provide the name that will appear in the gizmo visibility menu. Override this method to provide gizmo's handle names. The argument is when the requested handle is secondary (see for more information). Called for this plugin's active gizmos. Override this method to return the current value of a handle. This value will be requested at the start of an edit and used as the restore argument in . The argument is when the requested handle is secondary (see for more information). Called for this plugin's active gizmos. Override this method to set the gizmo's priority. Gizmos with higher priority will have precedence when processing inputs like handles or subgizmos selection. All built-in editor gizmos return a priority of -1. If not overridden, this method will return 0, which means custom gizmos will automatically get higher priority than built-in gizmos. Override this method to return the current transform of a subgizmo. As with all subgizmo methods, the transform should be in local space respect to the gizmo's Node3D. This transform will be requested at the start of an edit and used in the restore argument in . Called for this plugin's active gizmos. Override this method to define which Node3D nodes have a gizmo from this plugin. Whenever a node is added to a scene this method is called, if it returns the node gets a generic assigned and is added to this plugin's list of active gizmos. Override this method to return whenever to given handle should be highlighted in the editor. The argument is when the requested handle is secondary (see for more information). Called for this plugin's active gizmos. Override this method to define whether Node3D with this gizmo should be selectable even when the gizmo is hidden. Override this method to add all the gizmo elements whenever a gizmo update is requested. It's common to call at the beginning of this method and then add visual elements depending on the node's properties. Override this method to update the node's properties when the user drags a gizmo handle (previously added with ). The provided is the mouse position in screen coordinates and the can be used to convert it to raycasts. The argument is when the edited handle is secondary (see for more information). Called for this plugin's active gizmos. Override this method to update the node properties during subgizmo editing (see and ). The is given in the Node3D's local coordinate system. Called for this plugin's active gizmos. Override this method to allow selecting subgizmos using mouse drag box selection. Given a and , this method should return which subgizmos are contained within the frustums. The argument consists of an array with all the s that make up the selection frustum. The returned value should contain a list of unique subgizmo identifiers, these identifiers can have any non-negative value and will be used in other virtual methods like or . Called for this plugin's active gizmos. Override this method to allow selecting subgizmos using mouse clicks. Given a and a in screen coordinates, this method should return which subgizmo should be selected. The returned value should be a unique subgizmo identifier, which can have any non-negative value and will be used in other virtual methods like or . Called for this plugin's active gizmos. Creates an unshaded material with its variants (selected and/or editable) and adds them to the internal material list. They can then be accessed with and used in and . Should not be overridden. Creates an icon material with its variants (selected and/or editable) and adds them to the internal material list. They can then be accessed with and used in . Should not be overridden. If the parameter is null, then the default value is new Color(1.0f, 1.0f, 1.0f, 1.0f). Creates a handle material with its variants (selected and/or editable) and adds them to the internal material list. They can then be accessed with and used in . Should not be overridden. You can optionally provide a texture to use instead of the default icon. Adds a new material to the internal material list for the plugin. It can then be accessed with . Should not be overridden. Gets material from the internal list of materials. If an is provided, it will try to get the corresponding variant (selected and/or editable). Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached name for the '_begin_handle_action' method. Cached name for the '_can_be_hidden' method. Cached name for the '_commit_handle' method. Cached name for the '_commit_subgizmos' method. Cached name for the '_create_gizmo' method. Cached name for the '_get_gizmo_name' method. Cached name for the '_get_handle_name' method. Cached name for the '_get_handle_value' method. Cached name for the '_get_priority' method. Cached name for the '_get_subgizmo_transform' method. Cached name for the '_has_gizmo' method. Cached name for the '_is_handle_highlighted' method. Cached name for the '_is_selectable_when_hidden' method. Cached name for the '_redraw' method. Cached name for the '_set_handle' method. Cached name for the '_set_subgizmo_transform' method. Cached name for the '_subgizmos_intersect_frustum' method. Cached name for the '_subgizmos_intersect_ray' method. Cached name for the 'create_material' method. Cached name for the 'create_icon_material' method. Cached name for the 'create_handle_material' method. Cached name for the 'add_material' method. Cached name for the 'get_material' method. Cached StringNames for the signals contained in this class, for fast lookup. This editor-only singleton returns OS-specific paths to various data folders and files. It can be used in editor plugins to ensure files are saved in the correct location on each operating system. Note: This singleton is not accessible in exported projects. Attempting to access it in an exported project will result in a script error as the singleton won't be declared. To prevent script errors in exported projects, use to check whether the singleton is available before using it. Note: On the Linux/BSD platform, Godot complies with the XDG Base Directory Specification. You can override environment variables following the specification to change the editor and project data paths. Returns the absolute path to the user's data folder. This folder should be used for persistent user data files such as installed export templates. Default paths per platform: - Windows: %APPDATA%\Godot\ (same as `get_config_dir()`) - macOS: ~/Library/Application Support/Godot/ (same as `get_config_dir()`) - Linux: ~/.local/share/godot/ Returns the absolute path to the user's configuration folder. This folder should be used for persistent user configuration files. Default paths per platform: - Windows: %APPDATA%\Godot\ (same as `get_data_dir()`) - macOS: ~/Library/Application Support/Godot/ (same as `get_data_dir()`) - Linux: ~/.config/godot/ Returns the absolute path to the user's cache folder. This folder should be used for temporary data that can be removed safely whenever the editor is closed (such as generated resource thumbnails). Default paths per platform: - Windows: %LOCALAPPDATA%\Godot\ - macOS: ~/Library/Caches/Godot/ - Linux: ~/.cache/godot/ Returns if the editor is marked as self-contained, otherwise. When self-contained mode is enabled, user configuration, data and cache files are saved in an editor_data/ folder next to the editor binary. This makes portable usage easier and ensures the Godot editor minimizes file writes outside its own folder. Self-contained mode is not available for exported projects. Self-contained mode can be enabled by creating a file named ._sc_ or _sc_ in the same folder as the editor binary or macOS .app bundle while the editor is not running. See also . Note: On macOS, quarantine flag should be manually removed before using self-contained mode, see Running on macOS. Note: On macOS, placing _sc_ or any other file inside .app bundle will break digital signature and make it non-portable, consider placing it in the same folder as the .app bundle instead. Note: The Steam release of Godot uses self-contained mode by default. Returns the absolute path to the self-contained file that makes the current Godot editor instance be considered as self-contained. Returns an empty string if the current Godot editor instance isn't self-contained. See also . Returns the project-specific editor settings path. Projects all have a unique subdirectory inside the settings path where project-specific editor settings are saved. Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached name for the 'get_data_dir' method. Cached name for the 'get_config_dir' method. Cached name for the 'get_cache_dir' method. Cached name for the 'is_self_contained' method. Cached name for the 'get_self_contained_file' method. Cached name for the 'get_project_settings_dir' method. Cached StringNames for the signals contained in this class, for fast lookup. Plugins are used by the editor to extend functionality. The most common types of plugins are those which edit a given node or resource type, import plugins and export plugins. See also to add functions to the editor. Note: Some names in this class contain "left" or "right" (e.g. ). These APIs assume left-to-right layout, and would be backwards when using right-to-left layout. These names are kept for compatibility reasons. Main editor toolbar, next to play buttons. The toolbar that appears when 3D editor is active. Left sidebar of the 3D editor. Right sidebar of the 3D editor. Bottom panel of the 3D editor. The toolbar that appears when 2D editor is active. Left sidebar of the 2D editor. Right sidebar of the 2D editor. Bottom panel of the 2D editor. Bottom section of the inspector. Tab of Project Settings dialog, to the left of other tabs. Tab of Project Settings dialog, to the right of other tabs. Dock slot, left side, upper-left (empty in default layout). Dock slot, left side, bottom-left (empty in default layout). Dock slot, left side, upper-right (in default layout includes Scene and Import docks). Dock slot, left side, bottom-right (in default layout includes FileSystem dock). Dock slot, right side, upper-left (in default layout includes Inspector, Node, and History docks). Dock slot, right side, bottom-left (empty in default layout). Dock slot, right side, upper-right (empty in default layout). Dock slot, right side, bottom-right (empty in default layout). Represents the size of the enum. Forwards the to other EditorPlugins. Prevents the from reaching other Editor classes. Pass the to other editor plugins except the main one. This can be used to prevent node selection changes and work with sub-gizmos instead. This method is called when the editor is about to save the project, switch to another tab, etc. It asks the plugin to apply any pending state changes to ensure consistency. This is used, for example, in shader editors to let the plugin know that it must apply the shader code being written by the user to the object. This method is called when the editor is about to run the project. The plugin can then perform required operations before the project runs. This method must return a boolean. If this method returns , the project will not run. The run is aborted immediately, so this also prevents all other plugins' methods from running. Clear all the state and reset the object being edited to zero. This ensures your plugin does not keep editing a currently existing node, or a node from the wrong scene. Called by the engine when the user disables the in the Plugin tab of the project settings window. This function is used for plugins that edit specific object types (nodes or resources). It requests the editor to edit the given object. can be if the plugin was editing an object, but there is no longer any selected object handled by this plugin. It can be used to cleanup editing state. Called by the engine when the user enables the in the Plugin tab of the project settings window. Called by the engine when the 3D editor's viewport is updated. Use the overlay for drawing. You can update the viewport manually by calling . public override void _Forward3DDrawOverViewport(Control viewportControl) { // Draw a circle at cursor position. viewportControl.DrawCircle(viewportControl.GetLocalMousePosition(), 64, Colors.White); } public override EditorPlugin.AfterGuiInput _Forward3DGuiInput(Camera3D viewportCamera, InputEvent @event) { if (@event is InputEventMouseMotion) { // Redraw viewport when cursor is moved. UpdateOverlays(); return EditorPlugin.AfterGuiInput.Stop; } return EditorPlugin.AfterGuiInput.Pass; } This method is the same as , except it draws on top of everything. Useful when you need an extra layer that shows over anything else. You need to enable calling of this method by using . Called when there is a root node in the current edited scene, is implemented, and an happens in the 3D viewport. The return value decides whether the is consumed or forwarded to other s. See for options. // Prevents the InputEvent from reaching other Editor classes. public override EditorPlugin.AfterGuiInput _Forward3DGuiInput(Camera3D camera, InputEvent @event) { return EditorPlugin.AfterGuiInput.Stop; } This method must return in order to forward the to other Editor classes. // Consumes InputEventMouseMotion and forwards other InputEvent types. public override EditorPlugin.AfterGuiInput _Forward3DGuiInput(Camera3D camera, InputEvent @event) { return @event is InputEventMouseMotion ? EditorPlugin.AfterGuiInput.Stop : EditorPlugin.AfterGuiInput.Pass; } Called by the engine when the 2D editor's viewport is updated. Use the overlay for drawing. You can update the viewport manually by calling . public override void _ForwardCanvasDrawOverViewport(Control viewportControl) { // Draw a circle at cursor position. viewportControl.DrawCircle(viewportControl.GetLocalMousePosition(), 64, Colors.White); } public override bool _ForwardCanvasGuiInput(InputEvent @event) { if (@event is InputEventMouseMotion) { // Redraw viewport when cursor is moved. UpdateOverlays(); return true; } return false; } This method is the same as , except it draws on top of everything. Useful when you need an extra layer that shows over anything else. You need to enable calling of this method by using . Called when there is a root node in the current edited scene, is implemented, and an happens in the 2D viewport. If this method returns , is intercepted by this , otherwise is forwarded to other Editor classes. // Prevents the InputEvent from reaching other Editor classes. public override bool ForwardCanvasGuiInput(InputEvent @event) { return true; } This method must return in order to forward the to other Editor classes. // Consumes InputEventMouseMotion and forwards other InputEvent types. public override bool _ForwardCanvasGuiInput(InputEvent @event) { if (@event is InputEventMouseMotion) { return true; } return false; } This is for editors that edit script-based objects. You can return a list of breakpoints in the format (script:line), for example: res://path_to_script.gd:25. Override this method in your plugin to return a in order to give it an icon. For main screen plugins, this appears at the top of the screen, to the right of the "2D", "3D", "Script", and "AssetLib" buttons. Ideally, the plugin icon should be white with a transparent background and 16×16 pixels in size. public override Texture2D _GetPluginIcon() { // You can use a custom icon: return ResourceLoader.Load<Texture2D>("res://addons/my_plugin/my_plugin_icon.svg"); // Or use a built-in icon: return EditorInterface.Singleton.GetEditorTheme().GetIcon("Node", "EditorIcons"); } Override this method in your plugin to provide the name of the plugin when displayed in the Godot editor. For main screen plugins, this appears at the top of the screen, to the right of the "2D", "3D", "Script", and "AssetLib" buttons. Override this method to provide a state data you want to be saved, like view position, grid settings, folding, etc. This is used when saving the scene (so state is kept when opening it again) and for switching tabs (so state can be restored when the tab returns). This data is automatically saved for each scene in an editstate file in the editor metadata folder. If you want to store global (scene-independent) editor data for your plugin, you can use instead. Use to restore your saved state. Note: This method should not be used to save important settings that should persist with the project. Note: You must implement for the state to be stored and restored correctly. func _get_state(): var state = {"zoom": zoom, "preferred_color": my_color} return state Override this method to provide a custom message that lists unsaved changes. The editor will call this method when exiting or when closing a scene, and display the returned string in a confirmation dialog. Return empty string if the plugin has no unsaved changes. When closing a scene, is the path to the scene being closed. You can use it to handle built-in resources in that scene. If the user confirms saving, will be called, before closing the editor. func _get_unsaved_status(for_scene): if not unsaved: return "" if for_scene.is_empty(): return "Save changes in MyCustomPlugin before closing?" else: return "Scene %s has changes from MyCustomPlugin. Save before closing?" % for_scene.get_file() func _save_external_data(): unsaved = false If the plugin has no scene-specific changes, you can ignore the calls when closing scenes: func _get_unsaved_status(for_scene): if not for_scene.is_empty(): return "" Override this method to provide the GUI layout of the plugin or any other data you want to be stored. This is used to save the project's editor layout when is called or the editor layout was changed (for example changing the position of a dock). The data is stored in the editor_layout.cfg file in the editor metadata directory. Use to restore your saved layout. func _get_window_layout(configuration): configuration.set_value("MyPlugin", "window_position", $Window.position) configuration.set_value("MyPlugin", "icon_color", $Icon.modulate) Implement this function if your plugin edits a specific type of object (Resource or Node). If you return , then you will get the functions and called when the editor requests them. If you have declared the methods and these will be called too. Note: Each plugin should handle only one type of objects at a time. If a plugin handles more types of objects and they are edited at the same time, it will result in errors. Returns if this is a main screen editor plugin (it goes in the workspace selector together with 2D, 3D, Script and AssetLib). When the plugin's workspace is selected, other main screen plugins will be hidden, but your plugin will not appear automatically. It needs to be added as a child of and made visible inside . Use and to customize the plugin button's appearance. var plugin_control func _enter_tree(): plugin_control = preload("my_plugin_control.tscn").instantiate() EditorInterface.get_editor_main_screen().add_child(plugin_control) plugin_control.hide() func _has_main_screen(): return true func _make_visible(visible): plugin_control.visible = visible func _get_plugin_name(): return "My Super Cool Plugin 3000" func _get_plugin_icon(): return EditorInterface.get_editor_theme().get_icon("Node", "EditorIcons") This function will be called when the editor is requested to become visible. It is used for plugins that edit a specific object type. Remember that you have to manage the visibility of all your editor controls manually. This method is called after the editor saves the project or when it's closed. It asks the plugin to save edited external scenes/resources. Restore the state saved by . This method is called when the current scene tab is changed in the editor. Note: Your plugin must implement , otherwise it will not be recognized and this method will not be called. func _set_state(data): zoom = data.get("zoom", 1.0) preferred_color = data.get("my_color", Color.WHITE) Restore the plugin GUI layout and data saved by . This method is called for every plugin on editor startup. Use the provided file to read your saved data. func _set_window_layout(configuration): $Window.position = configuration.get_value("MyPlugin", "window_position", Vector2()) $Icon.modulate = configuration.get_value("MyPlugin", "icon_color", Color.WHITE) Adds a custom control to a container (see ). There are many locations where custom controls can be added in the editor UI. Please remember that you have to manage the visibility of your custom controls yourself (and likely hide it after adding it). When your plugin is deactivated, make sure to remove your custom control with and free it with . 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 and free it with . Optionally, you can specify a shortcut parameter. When pressed, this shortcut will toggle the bottom panel's visibility. See the default editor bottom panel shortcuts in the Editor Settings for inspiration. Per convention, they all use Alt modifier. Adds the control to a specific dock slot (see for options). If the dock is repositioned and as long as the plugin is active, the editor will save the dock position on further sessions. When your plugin is deactivated, make sure to remove your custom control with and free it with . Optionally, you can specify a shortcut parameter. When pressed, this shortcut will toggle the dock's visibility once it's moved to the bottom panel (this shortcut does not affect the dock otherwise). See the default editor bottom panel shortcuts in the Editor Settings for inspiration. Per convention, they all use Alt modifier. Removes the control from the dock. You have to manually the control. Removes the control from the bottom panel. You have to manually the control. Removes the control from the specified container. You have to manually the control. Sets the tab icon for the given control in a dock slot. Setting to removes the icon. Adds a custom menu item to Project > Tools named . When clicked, the provided will be called. Adds a custom submenu under Project > Tools > . Use on plugin clean up to remove the menu. Removes a menu from Project > Tools. Returns the under Scene > Export As.... Adds a custom type, which will appear in the list of nodes or resources. When a given node or resource is selected, the base type will be instantiated (e.g. "Node3D", "Control", "Resource"), then the script will be loaded and set to this object. Note: The base type is the base engine class which this type's class hierarchy inherits, not any custom type parent classes. You can use the virtual method to check if your custom object is being edited by checking the script or using the is keyword. During run-time, this will be a simple object with a script so this function does not need to be called then. Note: Custom types added this way are not true classes. They are just a helper to create a node with specific script. Removes a custom type added by . Adds a script at to the Autoload list as . Removes an Autoload from the list. Updates the overlays of the 2D and 3D editor viewport. Causes methods , , and to be called. Makes a specific item in the bottom panel visible. Minimizes the bottom panel. 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. 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. The callback should have 4 arguments: undo_redo, modified_object, property and new_value. They are, respectively, the object used by the inspector, the currently modified object, the name of the modified property and the new value the property is about to take. Removes a callback previously added by . Queue save the project's editor layout. Registers a custom translation parser plugin for extracting translatable strings from custom files. Removes a custom translation parser plugin registered by . Registers a new . Import plugins are used to import custom and unsupported assets as a custom type. If is , the new import plugin is inserted first in the list and takes precedence over pre-existing plugins. Note: If you want to import custom 3D asset formats use instead. See for an example of how to register a plugin. Removes an import plugin registered by . Registers a new . Scene importers are used to import custom 3D asset formats as scenes. If is , the new import plugin is inserted first in the list and takes precedence over pre-existing plugins. Removes a scene format importer registered by . Add a . These plugins allow customizing the import process of 3D assets by adding new options to the import dialogs. If is , the new import plugin is inserted first in the list and takes precedence over pre-existing plugins. Remove the , added with . Registers a new . Export plugins are used to perform tasks when the project is being exported. See for an example of how to register a plugin. Removes an export plugin registered by . Registers a new . Export platforms provides functionality of exporting to the specific platform. Removes an export platform registered by . Registers a new . Gizmo plugins are used to add custom gizmos to the 3D preview viewport for a . See for an example of how to register a plugin. Removes a gizmo plugin registered by . Registers a new . Inspector plugins are used to extend and provide custom configuration tools for your object's properties. Note: Always use to remove the registered when your is disabled to prevent leaks and an unexpected behavior. Removes an inspector plugin registered by . Registers a new . Resource conversion plugins are used to add custom resource converters to the editor inspector. See for an example of how to create a resource conversion plugin. Removes a resource conversion plugin registered by . Use this method if you always want to receive inputs from 3D view screen inside . It might be especially usable if your plugin will want to use raycast in the scene. Enables calling of for the 2D editor and 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. Adds a plugin to the context menu. is the context menu where the plugin will be added. See for available context menus. A plugin instance can belong only to a single context menu slot. Removes the specified context menu plugin. Returns the singleton instance. Gets the Editor's dialog used for making scripts. Note: Users can configure it before use. Warning: Removing and freeing this node will render a part of the editor useless and may cause a crash. Adds a as debugger plugin to the Debugger. The script must extend . Removes the debugger plugin with given script from the Debugger. Provide the version of the plugin declared in the plugin.cfg config file. Adds the control to a specific dock slot (see for options). If the dock is repositioned and as long as the plugin is active, the editor will save the dock position on further sessions. When your plugin is deactivated, make sure to remove your custom control with and free it with . Optionally, you can specify a shortcut parameter. When pressed, this shortcut will toggle the dock's visibility once it's moved to the bottom panel (this shortcut does not affect the dock otherwise). See the default editor bottom panel shortcuts in the Editor Settings for inspiration. Per convention, they all use Alt modifier. 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 and free it with . Optionally, you can specify a shortcut parameter. When pressed, this shortcut will toggle the bottom panel's visibility. See the default editor bottom panel shortcuts in the Editor Settings for inspiration. Per convention, they all use Alt modifier. Represents the method that handles the event of a class. Emitted 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 . Represents the method that handles the event of a class. Emitted when user closes a scene. The argument is a file path to the closed scene. Represents the method that handles the event of a class. Emitted when user changes the workspace (2D, 3D, Script, AssetLib). Also works with custom screens defined by plugins. Represents the method that handles the event of a class. Emitted when the given resource was saved on disc. See also . Represents the method that handles the event of a class. Emitted when a scene was saved on disc. The argument is a file path to the saved scene. See also . Emitted when any project setting has changed. Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached name for the '_apply_changes' method. Cached name for the '_build' method. Cached name for the '_clear' method. Cached name for the '_disable_plugin' method. Cached name for the '_edit' method. Cached name for the '_enable_plugin' method. Cached name for the '_forward_3d_draw_over_viewport' method. Cached name for the '_forward_3d_force_draw_over_viewport' method. Cached name for the '_forward_3d_gui_input' method. Cached name for the '_forward_canvas_draw_over_viewport' method. Cached name for the '_forward_canvas_force_draw_over_viewport' method. Cached name for the '_forward_canvas_gui_input' method. Cached name for the '_get_breakpoints' method. Cached name for the '_get_plugin_icon' method. Cached name for the '_get_plugin_name' method. Cached name for the '_get_state' method. Cached name for the '_get_unsaved_status' method. Cached name for the '_get_window_layout' method. Cached name for the '_handles' method. Cached name for the '_has_main_screen' method. Cached name for the '_make_visible' method. Cached name for the '_save_external_data' method. Cached name for the '_set_state' method. Cached name for the '_set_window_layout' method. Cached name for the 'add_control_to_container' method. Cached name for the 'add_control_to_bottom_panel' method. Cached name for the 'add_control_to_dock' method. Cached name for the 'remove_control_from_docks' method. Cached name for the 'remove_control_from_bottom_panel' method. Cached name for the 'remove_control_from_container' method. Cached name for the 'set_dock_tab_icon' method. Cached name for the 'add_tool_menu_item' method. Cached name for the 'add_tool_submenu_item' method. Cached name for the 'remove_tool_menu_item' method. Cached name for the 'get_export_as_menu' method. Cached name for the 'add_custom_type' method. Cached name for the 'remove_custom_type' method. Cached name for the 'add_autoload_singleton' method. Cached name for the 'remove_autoload_singleton' method. Cached name for the 'update_overlays' method. Cached name for the 'make_bottom_panel_item_visible' method. Cached name for the 'hide_bottom_panel' method. Cached name for the 'get_undo_redo' method. Cached name for the 'add_undo_redo_inspector_hook_callback' method. Cached name for the 'remove_undo_redo_inspector_hook_callback' method. Cached name for the 'queue_save_layout' method. Cached name for the 'add_translation_parser_plugin' method. Cached name for the 'remove_translation_parser_plugin' method. Cached name for the 'add_import_plugin' method. Cached name for the 'remove_import_plugin' method. Cached name for the 'add_scene_format_importer_plugin' method. Cached name for the 'remove_scene_format_importer_plugin' method. Cached name for the 'add_scene_post_import_plugin' method. Cached name for the 'remove_scene_post_import_plugin' method. Cached name for the 'add_export_plugin' method. Cached name for the 'remove_export_plugin' method. Cached name for the 'add_export_platform' method. Cached name for the 'remove_export_platform' method. Cached name for the 'add_node_3d_gizmo_plugin' method. Cached name for the 'remove_node_3d_gizmo_plugin' method. Cached name for the 'add_inspector_plugin' method. Cached name for the 'remove_inspector_plugin' method. Cached name for the 'add_resource_conversion_plugin' method. Cached name for the 'remove_resource_conversion_plugin' method. Cached name for the 'set_input_event_forwarding_always_enabled' method. Cached name for the 'set_force_draw_over_forwarding_enabled' method. Cached name for the 'add_context_menu_plugin' method. Cached name for the 'remove_context_menu_plugin' method. Cached name for the 'get_editor_interface' method. Cached name for the 'get_script_create_dialog' method. Cached name for the 'add_debugger_plugin' method. Cached name for the 'remove_debugger_plugin' method. Cached name for the 'get_plugin_version' method. Cached StringNames for the signals contained in this class, for fast lookup. Cached name for the 'scene_changed' signal. Cached name for the 'scene_closed' signal. Cached name for the 'main_screen_changed' signal. Cached name for the 'resource_saved' signal. Cached name for the 'scene_saved' signal. Cached name for the 'project_settings_changed' signal. A custom control for editing properties that can be added to the . It is added via . Set this property to change the label (if you want to show one). Used by the inspector, set to when the property is read-only. Used by the inspector, set to when the property is checkable. Used by the inspector, set to when the property is checked. Used by the inspector, set to when the property is drawn with the editor theme's warning color. This is used for editable children's properties. Used by the inspector, set to when the property can add keys for animation. Used by the inspector, set to when the property can be deleted by the user. Used by the inspector, set to when the property is selectable. Used by the inspector, set to when the property is using folding. Space distribution ratio between the label and the editing field. Called when the read-only status of the property is changed. It may be used to change custom controls into a read-only or modifiable state. When this virtual function is called, you must update your editor. Gets the edited property. If your editor is for a single property (added via ), then this will return the property. Gets the edited object. Forces refresh of the property display. If any of the controls added can gain keyboard focus, add it here. This ensures that focus will be restored if the inspector is refreshed. Puts the control below the property label. The control must be previously added using . Draw property as not selected. Used by the inspector. Returns if property is drawn as selected. Used by the inspector. Draw property as selected. Used by the inspector. Assigns object and property to edit. Used by the inspector, set to a control that will be used as a reference to calculate the size of the label. If one or several properties have changed, this must be called. is used in case your editor can modify fields separately (as an example, Vector3.x). The argument avoids the editor requesting this property to be refreshed (leave as if unsure). Represents the method that handles the event of a class. Do not emit this manually, use the method instead. Represents the method that handles the event of a class. Emit it if you want multiple properties modified at the same time. Do not use if added via . Represents the method that handles the event of a class. Emit it if you want to add this value as an animation key (check for keying being enabled first). Represents the method that handles the event of a class. Emitted when a property was deleted. Used internally. Represents the method that handles the event of a class. Emit it if you want to key a property with a single value. Represents the method that handles the event of a class. Emitted when a property was checked. Used internally. Represents the method that handles the event of a class. Emit it if you want to mark a property as favorited, making it appear at the top of the inspector. Represents the method that handles the event of a class. Emit it if you want to mark (or unmark) the value of a property for being saved regardless of being equal to the default value. The default value is the one the property will get when the node is just instantiated and can come from an ancestor scene in the inheritance/instantiation chain, a script or a builtin class. Represents the method that handles the event of a class. Emitted when the revertability (i.e., whether it has a non-default value and thus is displayed with a revert icon) of a property has changed. Represents the method that handles the event of a class. If you want a sub-resource to be edited, emit this signal with the resource. Represents the method that handles the event of a class. Used by sub-inspectors. Emit it if what was selected was an Object ID. Represents the method that handles the event of a class. Emitted when selected. Used internally. Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached name for the 'label' property. Cached name for the 'read_only' property. Cached name for the 'checkable' property. Cached name for the 'checked' property. Cached name for the 'draw_warning' property. Cached name for the 'keying' property. Cached name for the 'deletable' property. Cached name for the 'selectable' property. Cached name for the 'use_folding' property. Cached name for the 'name_split_ratio' property. Cached StringNames for the methods contained in this class, for fast lookup. Cached name for the '_set_read_only' method. Cached name for the '_update_property' method. Cached name for the 'set_label' method. Cached name for the 'get_label' method. Cached name for the 'set_read_only' method. Cached name for the 'is_read_only' method. Cached name for the 'set_checkable' method. Cached name for the 'is_checkable' method. Cached name for the 'set_checked' method. Cached name for the 'is_checked' method. Cached name for the 'set_draw_warning' method. Cached name for the 'is_draw_warning' method. Cached name for the 'set_keying' method. Cached name for the 'is_keying' method. Cached name for the 'set_deletable' method. Cached name for the 'is_deletable' method. Cached name for the 'get_edited_property' method. Cached name for the 'get_edited_object' method. Cached name for the 'update_property' method. Cached name for the 'add_focusable' method. Cached name for the 'set_bottom_editor' method. Cached name for the 'set_selectable' method. Cached name for the 'is_selectable' method. Cached name for the 'set_use_folding' method. Cached name for the 'is_using_folding' method. Cached name for the 'set_name_split_ratio' method. Cached name for the 'get_name_split_ratio' method. Cached name for the 'deselect' method. Cached name for the 'is_selected' method. Cached name for the 'select' method. Cached name for the 'set_object_and_property' method. Cached name for the 'set_label_reference' method. Cached name for the 'emit_changed' method. Cached StringNames for the signals contained in this class, for fast lookup. Cached name for the 'property_changed' signal. Cached name for the 'multiple_properties_changed' signal. Cached name for the 'property_keyed' signal. Cached name for the 'property_deleted' signal. Cached name for the 'property_keyed_with_value' signal. Cached name for the 'property_checked' signal. Cached name for the 'property_favorited' signal. Cached name for the 'property_pinned' signal. Cached name for the 'property_can_revert_changed' signal. Cached name for the 'resource_selected' signal. Cached name for the 'object_id_selected' signal. Cached name for the 'selected' signal. is invoked when the context menu is brought up for a resource in the editor inspector. Relevant conversion plugins will appear as menu options to convert the given resource to a target type. Below shows an example of a basic plugin that will convert an to a . To use an , register it using the method first. Takes an input and converts it to the type given in . The returned is the result of the conversion, and the input remains unchanged. Returns the class name of the target type of that this plugin converts source resources to. Called to determine whether a particular can be converted to the target resource type by this plugin. Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached name for the '_convert' method. Cached name for the '_converts_to' method. Cached name for the '_handles' method. Cached StringNames for the signals contained in this class, for fast lookup. This node is used in the editor's Inspector dock to allow editing of type properties. It provides options for creating, loading, saving and converting resources. Can be used with to recreate the same behavior. Note: This does not include any editor for the resource, as editing is controlled by the Inspector dock itself or sub-Inspectors. The base type of allowed resource types. Can be a comma-separated list of several options. The edited resource value. If , the value can be selected and edited. If , the main button with the resource preview works in the toggle mode. Use to manually set the state. This virtual method can be implemented to handle context menu items not handled by default. See . This virtual method is called when updating the context menu of . Implement this method to override the "New ..." items with your own options. is a reference to the node. Note: Implement to handle these custom items. Returns a list of all allowed types and subtypes corresponding to the . If the is empty, an empty list is returned. Sets the toggle mode state for the main button. Works only if is set to . Represents the method that handles the event of a class. Emitted when the resource value was set and user clicked to edit it. When inspect is , the signal was caused by the context menu "Edit" or "Inspect" option. Represents the method that handles the event of a class. Emitted when the value of the edited resource was changed. Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached name for the 'base_type' property. Cached name for the 'edited_resource' property. Cached name for the 'editable' property. Cached name for the 'toggle_mode' property. Cached StringNames for the methods contained in this class, for fast lookup. Cached name for the '_handle_menu_selected' method. Cached name for the '_set_create_options' method. Cached name for the 'set_base_type' method. Cached name for the 'get_base_type' method. Cached name for the 'get_allowed_types' method. Cached name for the 'set_edited_resource' method. Cached name for the 'get_edited_resource' method. Cached name for the 'set_toggle_mode' method. Cached name for the 'is_toggle_mode' method. Cached name for the 'set_toggle_pressed' method. Cached name for the 'set_editable' method. Cached name for the 'is_editable' method. Cached StringNames for the signals contained in this class, for fast lookup. Cached name for the 'resource_selected' signal. Cached name for the 'resource_changed' signal. This node is used to generate previews for resources or files. Note: This class shouldn't be instantiated directly. Instead, access the singleton using . Queue a resource file located at for preview. Once the preview is ready, the 's will be called. The must take the following four arguments: path, preview, thumbnail_preview, userdata. can be anything, and will be returned when is called. Note: If it was not possible to create the preview the will still be called, but the preview will be . Queue the being edited for preview. Once the preview is ready, the 's will be called. The must take the following four arguments: path, preview, thumbnail_preview, userdata. can be anything, and will be returned when is called. Note: If it was not possible to create the preview the will still be called, but the preview will be . Create an own, custom preview generator. Removes a custom preview generator. Check if the resource changed, if so, it will be invalidated and the corresponding signal emitted. Represents the method that handles the event of a class. Emitted if a preview was invalidated (changed). path corresponds to the path of the preview. Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached name for the 'queue_resource_preview' method. Cached name for the 'queue_edited_resource_preview' method. Cached name for the 'add_preview_generator' method. Cached name for the 'remove_preview_generator' method. Cached name for the 'check_for_invalidation' method. Cached StringNames for the signals contained in this class, for fast lookup. Cached name for the 'preview_invalidated' signal. Custom code to generate previews. Check EditorSettings.filesystem/file_dialog/thumbnail_size to find a proper size to generate previews at. If this function returns , the generator will call or for small previews as well. By default, it returns . Generate a preview from a given resource with the specified size. This must always be implemented. Returning is an OK way to fail and let another generator take care. Care must be taken because this function is always called from a thread (not the main thread). dictionary can be modified to store file-specific metadata that can be used in (like image size, sample length etc.). Generate a preview directly from a path with the specified size. Implementing this is optional, as default code will load and call . Returning is an OK way to fail and let another generator take care. Care must be taken because this function is always called from a thread (not the main thread). dictionary can be modified to store file-specific metadata that can be used in (like image size, sample length etc.). If this function returns , the generator will automatically generate the small previews from the normal preview texture generated by the methods or . By default, it returns . Returns if your generator supports the resource of type . Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached name for the '_can_generate_small_preview' method. Cached name for the '_generate' method. Cached name for the '_generate_from_path' method. Cached name for the '_generate_small_preview_automatically' method. Cached name for the '_handles' method. Cached StringNames for the signals contained in this class, for fast lookup. Resource tooltip plugins are used by to generate customized tooltips for specific resources. E.g. tooltip for a displays a bigger preview and the texture's dimensions. A plugin must be first registered with . When the user hovers a resource in filesystem dock which is handled by the plugin, is called to create the tooltip. It works similarly to . Return if the plugin is going to handle the given . Create and return a tooltip that will be displayed when the user hovers a resource under the given in filesystem dock. The dictionary is provided by preview generator (see ). is the base default tooltip, which is a with a file name, type and size labels. If another plugin handled the same file type, will be output from the previous plugin. For best result, make sure the base tooltip is part of the returned . Note: It's unadvised to use , especially with heavy resources like models or textures, because it will make the editor unresponsive when creating the tooltip. You can use if you want to display a preview in your tooltip. Note: If you decide to discard the , make sure to call , because it's not freed automatically. func _make_tooltip_for_path(path, metadata, base): var t_rect = TextureRect.new() request_thumbnail(path, t_rect) base.add_child(t_rect) # The TextureRect will appear at the bottom of the tooltip. return base Requests a thumbnail for the given . The thumbnail is created asynchronously by and automatically set when available. Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached name for the '_handles' method. Cached name for the '_make_tooltip_for_path' method. Cached name for the 'request_thumbnail' method. Cached StringNames for the signals contained in this class, for fast lookup. allows to define an importer script for a third-party 3D format. To use , register it using the method first. Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached name for the '_get_extensions' method. Cached name for the '_get_import_flags' method. Cached name for the '_get_import_options' method. Cached name for the '_get_option_visibility' method. Cached name for the '_import_scene' method. Cached StringNames for the signals contained in this class, for fast lookup. Imports Blender scenes in the .blend file format through the glTF 2.0 3D import pipeline. This importer requires Blender to be installed by the user, so that it can be used to export the scene as glTF 2.0. The location of the Blender binary is set via the filesystem/import/blender/blender_path editor setting. This importer is only used if ProjectSettings.filesystem/import/blender/enabled is enabled, otherwise .blend files present in the project folder are not imported. Blend import requires Blender 3.0. Internally, the EditorSceneFormatImporterBlend uses the Blender glTF "Use Original" mode to reference external textures. Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached StringNames for the signals contained in this class, for fast lookup. Imports Autodesk FBX 3D scenes by way of converting them to glTF 2.0 using the FBX2glTF command line tool. The location of the FBX2glTF binary is set via the EditorSettings.filesystem/import/fbx/fbx2gltf_path editor setting. This importer is only used if ProjectSettings.filesystem/import/fbx2gltf/enabled is set to . Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached StringNames for the signals contained in this class, for fast lookup. Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached StringNames for the signals contained in this class, for fast lookup. EditorSceneFormatImporterUFBX is designed to load FBX files and supports both binary and ASCII FBX files from version 3000 onward. This class supports various 3D object types like meshes, skins, blend shapes, materials, and rigging information. The class aims for feature parity with the official FBX SDK and supports FBX 7.4 specifications. Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached StringNames for the signals contained in this class, for fast lookup. Imported scenes can be automatically modified right after import by setting their Custom Script Import property to a tool script that inherits from this class. The callback receives the imported scene's root node and returns the modified version of the scene: using Godot; // This sample changes all node names. // Called right after the scene is imported and gets the root node. [Tool] public partial class NodeRenamer : EditorScenePostImport { public override GodotObject _PostImport(Node scene) { // Change all node names to "modified_[oldnodename]" Iterate(scene); return scene; // Remember to return the imported scene } public void Iterate(Node node) { if (node != null) { node.Name = $"modified_{node.Name}"; foreach (Node child in node.GetChildren()) { Iterate(child); } } } } Called after the scene was imported. This method must return the modified version of the scene. Returns the source file path which got imported (e.g. res://scene.dae). Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached name for the '_post_import' method. Cached name for the 'get_source_file' method. Cached StringNames for the signals contained in this class, for fast lookup. This plugin type exists to modify the process of importing scenes, allowing to change the content as well as add importer options at every stage of the process. Override to add general import options. These will appear in the main import dock on the editor. Add options via and . Override to add internal import options. These will appear in the 3D scene import dialog. Add options via and . Should return if the 3D view of the import dialog needs to update when changing the given option. Should return to show the given option, to hide the given option, or to ignore. Should return to show the given option, to hide the given option, or to ignore. Process a specific node or resource for a given category. Post process the scene. This function is called after the final scene has been configured. Pre Process the scene. This function is called right after the scene format loader loaded the scene and no changes have been made. Query the value of an option. This function can only be called from those querying visibility, or processing. Add a specific import option (name and default value only). This function can only be called from and . Add a specific import option. This function can only be called from and . Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached name for the '_get_import_options' method. Cached name for the '_get_internal_import_options' method. Cached name for the '_get_internal_option_update_view_required' method. Cached name for the '_get_internal_option_visibility' method. Cached name for the '_get_option_visibility' method. Cached name for the '_internal_process' method. Cached name for the '_post_process' method. Cached name for the '_pre_process' method. Cached name for the 'get_option_value' method. Cached name for the 'add_import_option' method. Cached name for the 'add_import_option_advanced' method. Cached StringNames for the signals contained in this class, for fast lookup. Scripts extending this class and implementing its method can be executed from the Script Editor's File > Run menu option (or by pressing Ctrl + Shift + X) while the editor is running. This is useful for adding custom in-editor functionality to Godot. For more complex additions, consider using s instead. Note: Extending scripts need to have tool mode enabled. Example: Running the following script prints "Hello from the Godot Editor!": using Godot; [Tool] public partial class HelloEditor : EditorScript { public override void _Run() { GD.Print("Hello from the Godot Editor!"); } } Note: 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 Output dock. Note: EditorScript is , meaning it is destroyed when nothing references it. This can cause errors during asynchronous operations if there are no references to the script. This method is executed by the Editor when File > Run is used. Makes root of the currently opened scene. Only works if the scene is empty. If the is a scene instance, an inheriting scene will be created. Returns the edited (current) scene's root . Equivalent of . Returns the singleton instance. Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached name for the '_run' method. Cached name for the 'add_root_node' method. Cached name for the 'get_scene' method. Cached name for the 'get_editor_interface' method. Cached StringNames for the signals contained in this class, for fast lookup. Similar to this node is used in the editor's Inspector dock, but only to edit the script property of a . Default options for creating new resources of all possible subtypes are replaced with dedicated buttons that open the "Attach Node Script" dialog. Can be used with to recreate the same behavior. Note: You must set the for the custom context menu items to work. The owner of the script property that holds the edited resource. Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached name for the 'script_owner' property. Cached StringNames for the methods contained in this class, for fast lookup. Cached name for the 'set_script_owner' method. Cached name for the 'get_script_owner' method. Cached StringNames for the signals contained in this class, for fast lookup. This object manages the SceneTree selection in the editor. Note: This class shouldn't be instantiated directly. Instead, access the singleton using . Clear the selection. Adds a node to the selection. Note: The newly selected node will not be automatically edited in the inspector. If you want to edit a node, use . Removes a node from the selection. Returns the list of selected nodes. Returns the list of selected nodes, optimized for transform operations (i.e. moving them, rotating, etc.). This list can be used to avoid situations where a node is selected and is also a child/grandchild. Emitted when the selection changes. Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached name for the 'clear' method. Cached name for the 'add_node' method. Cached name for the 'remove_node' method. Cached name for the 'get_selected_nodes' method. Cached name for the 'get_transformable_selected_nodes' method. Cached StringNames for the signals contained in this class, for fast lookup. Cached name for the 'selection_changed' signal. Object that holds the project-independent editor settings. These settings are generally visible in the Editor > Editor Settings menu. Property names use slash delimiters to distinguish sections. Setting values can be of any type. It's recommended to use snake_case for editor settings to be consistent with the Godot editor itself. Accessing the settings can be done using the following methods, such as: EditorSettings settings = EditorInterface.Singleton.GetEditorSettings(); // `settings.set("some/property", value)` also works as this class overrides `_set()` internally. settings.SetSetting("some/property", Value); // `settings.get("some/property", value)` also works as this class overrides `_get()` internally. settings.GetSetting("some/property"); Godot.Collections.Array<Godot.Collections.Dictionary> listOfSettings = settings.GetPropertyList(); Note: This class shouldn't be instantiated directly. Instead, access the singleton using . Emitted after any editor setting has changed. It's used by various editor plugins to update their visuals on theme changes or logic on configuration changes. Returns if the setting specified by exists, otherwise. Sets the of the setting specified by . This is equivalent to using on the EditorSettings instance. Returns the value of the setting specified by . This is equivalent to using on the EditorSettings instance. Erases the setting whose name is specified by . Sets the initial value of the setting specified by to . This is used to provide a value for the Revert button in the Editor Settings. If is , the setting is reset to as well. Adds a custom property info to a property. The dictionary must contain: - name: (the name of the property) - type: (see ) - optionally hint: (see ) and hint_string: var settings = GetEditorInterface().GetEditorSettings(); settings.Set("category/property_name", 0); var propertyInfo = new Godot.Collections.Dictionary { {"name", "category/propertyName"}, {"type", Variant.Type.Int}, {"hint", PropertyHint.Enum}, {"hint_string", "one,two,three"} }; settings.AddPropertyInfo(propertyInfo); Sets project-specific metadata with the , and specified. This metadata is stored outside the project folder and therefore won't be checked into version control. See also . Returns project-specific metadata for the and specified. If the metadata doesn't exist, will be returned instead. See also . Sets the list of favorite files and directories for this project. Sets the list of favorite files and directories for this project. Returns the list of favorite files and directories for this project. Sets the list of recently visited folders in the file dialog for this project. Sets the list of recently visited folders in the file dialog for this project. Returns the list of recently visited folders in the file dialog for this project. Overrides the built-in editor action with the input actions defined in . Checks if any settings with the prefix exist in the set of changed settings. See also . Gets an array of the settings which have been changed since the last save. Note that internally changed_settings is cleared after a successful save, so generally the most appropriate place to use this method is when processing . Marks the passed editor setting as being changed, see . Only settings which exist (see ) will be accepted. Emitted after any editor setting has changed. Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached name for the 'has_setting' method. Cached name for the 'set_setting' method. Cached name for the 'get_setting' method. Cached name for the 'erase' method. Cached name for the 'set_initial_value' method. Cached name for the 'add_property_info' method. Cached name for the 'set_project_metadata' method. Cached name for the 'get_project_metadata' method. Cached name for the 'set_favorites' method. Cached name for the 'get_favorites' method. Cached name for the 'set_recent_dirs' method. Cached name for the 'get_recent_dirs' method. Cached name for the 'set_builtin_action_override' method. Cached name for the 'check_changed_settings_in_group' method. Cached name for the 'get_changed_settings' method. Cached name for the 'mark_setting_changed' method. Cached StringNames for the signals contained in this class, for fast lookup. Cached name for the 'settings_changed' signal. This node is used in the editor's Inspector dock to allow editing of numeric values. Can be used with to recreate the same behavior. If the value is 1, the will display up/down arrows, similar to . If the value is not 1, a slider will be displayed instead. The text that displays to the left of the value. The suffix to display after the value (in a faded color). This should generally be a plural word. You may have to use an abbreviation if the suffix is too long to be displayed. If , the slider can't be interacted with. If , the slider will not draw background. If , the slider and up/down arrows are hidden. Emitted when the spinner/slider is grabbed. Emitted when the spinner/slider is ungrabbed. Emitted when the updown button is pressed. Emitted when the value form gains focus. Emitted when the value form loses focus. Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached name for the 'label' property. Cached name for the 'suffix' property. Cached name for the 'read_only' property. Cached name for the 'flat' property. Cached name for the 'hide_slider' property. Cached StringNames for the methods contained in this class, for fast lookup. Cached name for the 'set_label' method. Cached name for the 'get_label' method. Cached name for the 'set_suffix' method. Cached name for the 'get_suffix' method. Cached name for the 'set_read_only' method. Cached name for the 'is_read_only' method. Cached name for the 'set_flat' method. Cached name for the 'is_flat' method. Cached name for the 'set_hide_slider' method. Cached name for the 'is_hiding_slider' method. Cached StringNames for the signals contained in this class, for fast lookup. Cached name for the 'grabbed' signal. Cached name for the 'ungrabbed' signal. Cached name for the 'updown_pressed' signal. Cached name for the 'value_focus_entered' signal. Cached name for the 'value_focus_exited' signal. Base class that all s used by the extend from. Add a syntax highlighter to an individual script by calling . To apply to all scripts on open, call . Virtual method which can be overridden to return the syntax highlighter name. Virtual method which can be overridden to return the supported language names. Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached name for the '_get_name' method. Cached name for the '_get_supported_languages' method. Cached StringNames for the signals contained in this class, for fast lookup. This object manages the functionality and display of toast notifications within the editor, ensuring timely and informative alerts are presented to users. Note: This class shouldn't be instantiated directly. Instead, access the singleton using . Toast will display with an INFO severity. Toast will display with a WARNING severity and have a corresponding color. Toast will display with an ERROR severity and have a corresponding color. Pushes a toast notification to the editor for display. Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached name for the 'push_toast' method. Cached StringNames for the signals contained in this class, for fast lookup. is invoked when a file is being parsed to extract strings that require translation. To define the parsing and string extraction logic, override the method in script. Add the extracted strings to argument msgids or msgids_context_plural if context or plural is used. When adding to msgids_context_plural, you must add the data using the format ["A", "B", "C"], where A represents the extracted string, B represents the context, and C represents the plural version of the extracted string. If you want to add only context but not plural, put "" for the plural slot. The idea is the same if you only want to add plural but not context. See the code below for concrete examples. The extracted strings will be written into a POT file selected by user under "POT Generation" in "Localization" tab in "Project Settings" menu. Below shows an example of a custom parser that extracts strings from a CSV file to write into a POT. using Godot; [Tool] public partial class CustomParser : EditorTranslationParserPlugin { public override void _ParseFile(string path, Godot.Collections.Array<string> msgids, Godot.Collections.Array<Godot.Collections.Array> msgidsContextPlural) { using var file = FileAccess.Open(path, FileAccess.ModeFlags.Read); string text = file.GetAsText(); string[] splitStrs = text.Split(",", allowEmpty: false); foreach (string s in splitStrs) { msgids.Add(s); //GD.Print($"Extracted string: {s}"); } } public override string[] _GetRecognizedExtensions() { return new string[] { "csv" }; } } To add a translatable string associated with context or plural, add it to msgids_context_plural: // This will add a message with msgid "Test 1", msgctxt "context", and msgid_plural "test 1 plurals". msgidsContextPlural.Add(new Godot.Collections.Array{"Test 1", "context", "test 1 Plurals"}); // This will add a message with msgid "A test without context" and msgid_plural "plurals". msgidsContextPlural.Add(new Godot.Collections.Array{"A test without context", "", "plurals"}); // This will add a message with msgid "Only with context" and msgctxt "a friendly context". msgidsContextPlural.Add(new Godot.Collections.Array{"Only with context", "a friendly context", ""}); Note: If you override parsing logic for standard script types (GDScript, C#, etc.), it would be better to load the path argument using . This is because built-in scripts are loaded as type, not type. For example: public override void _ParseFile(string path, Godot.Collections.Array<string> msgids, Godot.Collections.Array<Godot.Collections.Array> msgidsContextPlural) { var res = ResourceLoader.Load<Script>(path, "Script"); string text = res.SourceCode; // Parsing logic. } public override string[] _GetRecognizedExtensions() { return new string[] { "gd" }; } To use , register it using the method first. If overridden, called after to get comments for the parsed entries. This method should fill the arrays with the same number of elements and in the same order as . Gets the list of file extensions to associate with this parser, e.g. ["csv"]. Override this method to define a custom parsing logic to extract the translatable strings. Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached name for the '_get_comments' method. Cached name for the '_get_recognized_extensions' method. Cached name for the '_parse_file' method. Cached StringNames for the signals contained in this class, for fast lookup. Defines the API that the editor uses to extract information from the underlying VCS. The implementation of this API is included in VCS plugins, which are GDExtension plugins that inherit and are attached (on demand) to the singleton instance of . Instead of performing the task themselves, all the virtual functions listed below are calling the internally overridden functions in the VCS plugins to provide a plug-n-play experience. A custom VCS plugin is supposed to inherit from and override each of these virtual functions. A new file has been added. An earlier added file has been modified. An earlier added file has been renamed. An earlier added file has been deleted. An earlier added file has been typechanged. A file is left unmerged. A commit is encountered from the commit area. A file is encountered from the staged area. A file is encountered from the unstaged area. Checks out a in the VCS. Commits the currently staged changes and applies the commit to the resulting commit. Creates a new branch named in the VCS. Creates a new remote destination with name and points it to . This can be an HTTPS remote or an SSH remote. Discards the changes made in a file present at . Fetches new changes from the , but doesn't write changes to the current working directory. Equivalent to git fetch. Gets an instance of an of s containing available branch names in the VCS. Gets the current branch name defined in the VCS. Returns an array of items (see , , , and ), each containing information about a diff. If is a file path, returns a file diff, and if it is a commit identifier, then returns a commit diff. Returns an of items (see ), each containing a line diff between a file at and the which is passed in. Returns an of items (see ), each containing the status data of every modified file in the project folder. Returns an of items (see ), each containing the data for a past commit. Returns an of s, each containing the name of a remote configured in the VCS. Returns the name of the underlying VCS provider. Initializes the VCS plugin when called from the editor. Returns whether or not the plugin was successfully initialized. A VCS project is initialized at . Pulls changes from the remote. This can give rise to merge conflicts. Pushes changes to the . If is , a force push will override the change history already present on the remote. Remove a branch from the local VCS. Remove a remote from the local VCS. Set user credentials in the underlying VCS. and are used only during HTTPS authentication unless not already mentioned in the remote URL. , , and are only used during SSH authentication. Shuts down VCS plugin instance. Called when the user either closes the editor or shuts down the VCS plugin through the editor UI. Stages the file present at to the staged area. Unstages the file present at from the staged area to the unstaged area. Helper function to create a for storing a line diff. is the line number in the new file (can be -1 if the line is deleted). is the line number in the old file (can be -1 if the line is added). is the diff text. is a single character string which stores the line origin. Helper function to create a for storing diff hunk data. is the starting line number in old file. is the starting line number in new file. is the number of lines in the old file. is the number of lines in the new file. Helper function to create a for storing old and new diff file paths. Helper function to create a commit item. is the commit message of the commit. is a single human-readable string containing all the author's details, e.g. the email and name configured in the VCS. is the identifier of the commit, in whichever format your VCS may provide an identifier to commits. is the UTC Unix timestamp of when the commit was created. is the timezone offset in minutes, recorded from the system timezone where the commit was created. Helper function to create a used by editor to read the status of a file. Helper function to add an array of into a . Helper function to add an array of into a . Pops up an error message in the editor which is shown as coming from the underlying VCS. Use this to show VCS specific error messages. Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached name for the '_checkout_branch' method. Cached name for the '_commit' method. Cached name for the '_create_branch' method. Cached name for the '_create_remote' method. Cached name for the '_discard_file' method. Cached name for the '_fetch' method. Cached name for the '_get_branch_list' method. Cached name for the '_get_current_branch_name' method. Cached name for the '_get_diff' method. Cached name for the '_get_line_diff' method. Cached name for the '_get_modified_files_data' method. Cached name for the '_get_previous_commits' method. Cached name for the '_get_remotes' method. Cached name for the '_get_vcs_name' method. Cached name for the '_initialize' method. Cached name for the '_pull' method. Cached name for the '_push' method. Cached name for the '_remove_branch' method. Cached name for the '_remove_remote' method. Cached name for the '_set_credentials' method. Cached name for the '_shut_down' method. Cached name for the '_stage_file' method. Cached name for the '_unstage_file' method. Cached name for the 'create_diff_line' method. Cached name for the 'create_diff_hunk' method. Cached name for the 'create_diff_file' method. Cached name for the 'create_commit' method. Cached name for the 'create_status_file' method. Cached name for the 'add_diff_hunks_into_diff_file' method. Cached name for the 'add_line_diffs_into_diff_hunk' method. Cached name for the 'popup_error' method. Cached StringNames for the signals contained in this class, for fast lookup. This class is available only in s and can't be instantiated. You can access it using . While doesn't expose any methods for file manipulation, it can listen for various file-related signals. Sets the given as currently selected, ensuring that the selected file/directory is visible. Registers a new . Removes an . Fails if the plugin wasn't previously added. Represents the method that handles the event of a class. Emitted when a new scene is created that inherits the scene at file path. Represents the method that handles the event of a class. Emitted when the given scenes are being instantiated in the editor. Represents the method that handles the event of a class. Emitted when an external resource had its file removed. Represents the method that handles the event of a class. Emitted when the given file was removed. Represents the method that handles the event of a class. Emitted when the given folder was removed. Represents the method that handles the event of a class. Emitted when a file is moved from oldFile path to newFile path. Represents the method that handles the event of a class. Emitted when a folder is moved from oldFolder path to newFolder path. Emitted when folders change color. Emitted when the user switches file display mode or split mode. Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached name for the 'navigate_to_path' method. Cached name for the 'add_resource_tooltip_plugin' method. Cached name for the 'remove_resource_tooltip_plugin' method. Cached StringNames for the signals contained in this class, for fast lookup. Cached name for the 'inherit' signal. Cached name for the 'instantiate' signal. Cached name for the 'resource_removed' signal. Cached name for the 'file_removed' signal. Cached name for the 'folder_removed' signal. Cached name for the 'files_moved' signal. Cached name for the 'folder_moved' signal. Cached name for the 'folder_color_changed' signal. Cached name for the 'display_mode_changed' signal. Note: This class can only be used for editor plugins because it relies on editor settings. var codePreview = new TextEdit(); var highlighter = new GDScriptSyntaxHighlighter(); codePreview.SyntaxHighlighter = highlighter; Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached StringNames for the signals contained in this class, for fast lookup. GridMapEditorPlugin provides access to the editor functionality. Returns the node currently edited by the grid map editor. Selects the cells inside the given bounds from to . Deselects any currently selected cells. Returns the cell coordinate bounds of the current selection. Use to check if there is an active selection. Returns if there are selected cells. Returns an array of s with the selected cells' coordinates. Selects the item with the given index in the grid map editor's palette. If a negative index is given, no item will be selected. If a value greater than the last index is given, the last item will be selected. Note: The indices might not be in the same order as they appear in the editor's interface. Returns the index of the selected item in the grid map editor's palette or -1 if no item is selected. Note: The indices might not be in the same order as they appear in the editor's interface. Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached name for the 'get_current_grid_map' method. Cached name for the 'set_selection' method. Cached name for the 'clear_selection' method. Cached name for the 'get_selection' method. Cached name for the 'has_selection' method. Cached name for the 'get_selected_cells' method. Cached name for the 'set_selected_palette_item' method. Cached name for the 'get_selected_palette_item' method. Cached StringNames for the signals contained in this class, for fast lookup. The BMFont format is a format created by the BMFont program. Many BMFont-compatible programs also exist, like BMGlyph. Compared to , supports bitmap fonts with varying glyph widths/heights. See also . Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached StringNames for the signals contained in this class, for fast lookup. resources are typically used as click masks in and . Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached StringNames for the signals contained in this class, for fast lookup. Comma-separated values are a plain text table storage format. The format's simplicity makes it easy to edit in any text editor or spreadsheet software. This makes it a common choice for game localization. Example CSV file: keys,en,es,ja GREET,"Hello, friend!","Hola, amigo!",こんにちは ASK,How are you?,Cómo está?,元気ですか BYE,Goodbye,Adiós,さようなら QUOTE,"""Hello"" said the man.","""Hola"" dijo el hombre.",「こんにちは」男は言いました Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached StringNames for the signals contained in this class, for fast lookup. Unlike bitmap fonts, dynamic fonts can be resized to any size and still look crisp. Dynamic fonts also optionally support MSDF font rendering, which allows for run-time scale changes with no re-rasterization cost. While WOFF and especially WOFF2 tend to result in smaller file sizes, there is no universally "better" font format. In most situations, it's recommended to use the font format that was shipped on the font developer's website. See also and . Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached StringNames for the signals contained in this class, for fast lookup. This importer imports resources, as opposed to . If you need to render the image in 2D or 3D, use instead. Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached StringNames for the signals contained in this class, for fast lookup. This image-based workflow can be easier to use than , but it requires all glyphs to have the same width and height, glyph advances and drawing offsets can be customized. This makes most suited to fixed-width fonts. See also . Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached StringNames for the signals contained in this class, for fast lookup. This imports a 3-dimensional texture, which can then be used in custom shaders, as a density map or as a . See also and . Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached StringNames for the signals contained in this class, for fast lookup. MP3 is a lossy audio format, with worse audio quality compared to at a given bitrate. In most cases, it's recommended to use Ogg Vorbis over MP3. However, if you're using an MP3 sound source with no higher quality source available, then it's recommended to use the MP3 file directly to avoid double lossy compression. MP3 requires more CPU to decode than . If you need to play a lot of simultaneous sounds, it's recommended to use WAV for those sounds instead, especially if targeting low-end devices. Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached StringNames for the signals contained in this class, for fast lookup. Unlike , will import a single resource by default instead of importing a . This makes it easier to use the resource in nodes that expect direct resources, such as , or . Note that it is still possible to save mesh resources from 3D scenes using the Advanced Import Settings dialog, regardless of the source format. See also , which is used for more advanced 3D formats such as glTF. Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached StringNames for the signals contained in this class, for fast lookup. Ogg Vorbis is a lossy audio format, with better audio quality compared to at a given bitrate. In most cases, it's recommended to use Ogg Vorbis over MP3. However, if you're using an MP3 sound source with no higher quality source available, then it's recommended to use the MP3 file directly to avoid double lossy compression. Ogg Vorbis requires more CPU to decode than . If you need to play a lot of simultaneous sounds, it's recommended to use WAV for those sounds instead, especially if targeting low-end devices. This method loads audio data from a PackedByteArray buffer into an AudioStreamOggVorbis object. This method loads audio data from a PackedByteArray buffer into an AudioStreamOggVorbis object. This method loads audio data from a file into an AudioStreamOggVorbis object. The file path is provided as a string. Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached name for the 'load_from_buffer' method. Cached name for the 'load_from_file' method. Cached StringNames for the signals contained in this class, for fast lookup. See also , which is used for OBJ models that can be imported as an independent or a scene. Additional options (such as extracting individual meshes or materials to files) are available in the Advanced Import Settings dialog. This dialog can be accessed by double-clicking a 3D scene in the FileSystem dock or by selecting a 3D scene in the FileSystem dock, going to the Import dock and choosing Advanced. Note: is not used for s, such as .tscn and .scn files. Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached StringNames for the signals contained in this class, for fast lookup. This imports native GLSL shaders as resources, for use with low-level operations. This importer does not handle .gdshader files. Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached StringNames for the signals contained in this class, for fast lookup. This importer imports resources. If you need to process the image in scripts in a more convenient way, use instead. See also . Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached StringNames for the signals contained in this class, for fast lookup. This imports a collection of textures from a PNG image into an or 2D . This can be used to save memory when importing 2D animations from spritesheets. Texture atlases are only supported in 2D rendering, not 3D. See also and . Note: does not handle importing , which is created using the editor instead. Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached StringNames for the signals contained in this class, for fast lookup. WAV is an uncompressed format, which can provide higher quality compared to Ogg Vorbis and MP3. It also has the lowest CPU cost to decode. This means high numbers of WAV sounds can be played at the same time, even on low-end devices. By default, Godot imports WAV files using the lossy Quite OK Audio compression. You may change this by setting the compress/mode property. Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached StringNames for the signals contained in this class, for fast lookup. The creates script files according to a given template for a given scripting language. The standard use is to configure its fields prior to calling one of the methods. public override void _Ready() { var dialog = new ScriptCreateDialog(); dialog.Config("Node", "res://NewNode.cs"); // For in-engine types. dialog.Config("\"res://BaseNode.cs\"", "res://DerivedNode.cs"); // For script types. dialog.PopupCentered(); } Prefills required fields to configure the ScriptCreateDialog for use. Represents the method that handles the event of a class. Emitted when the user clicks the OK button. Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached name for the 'config' method. Cached StringNames for the signals contained in this class, for fast lookup. Cached name for the 'script_created' signal. Godot editor's script editor. Note: This class shouldn't be instantiated directly. Instead, access the singleton using . Returns the object that the user is currently editing. Returns an array with all objects which are currently open in editor. Returns array of breakpoints. Registers the to the editor, the will be available on all open scripts. Note: Does not apply to scripts that are already opened. Unregisters the from the editor. Note: The will still be applied to scripts that are already opened. Goes to the specified line in the current script. Returns a that is currently active in editor. Returns an array with all objects which are currently open in editor. Opens the script create dialog. The script will extend . The file extension can be omitted from . It will be added based on the selected scripting language. Opens help for the given topic. The is an encoded string that controls which class, method, constant, signal, annotation, property, or theme item should be focused. The supported formats include class_name:class, class_method:class:method, class_constant:class:constant, class_signal:class:signal, class_annotation:class:@annotation, class_property:class:property, and class_theme_item:class:item, where class is the class name, method is the method name, constant is the constant name, signal is the signal name, annotation is the annotation name, property is the property name, and item is the theme item. # Shows help for the Node class. class_name:Node # Shows help for the global min function. # Global objects are accessible in the `@GlobalScope` namespace, shown here. class_method:@GlobalScope:min # Shows help for get_viewport in the Node class. class_method:Node:get_viewport # Shows help for the Input constant MOUSE_BUTTON_MIDDLE. class_constant:Input:MOUSE_BUTTON_MIDDLE # Shows help for the BaseButton signal pressed. class_signal:BaseButton:pressed # Shows help for the CanvasItem property visible. class_property:CanvasItem:visible # Shows help for the GDScript annotation export. # Annotations should be prefixed with the `@` symbol in the descriptor, as shown here. class_annotation:@GDScript:@export # Shows help for the GraphNode theme item named panel_selected. class_theme_item:GraphNode:panel_selected Updates the documentation for the given if the script's documentation is currently open. Note: This should be called whenever the script is changed to keep the open documentation state up to date. Represents the method that handles the event of a class. Emitted when user changed active script. Argument is a freshly activated . Represents the method that handles the event of a class. Emitted when editor is about to close the active script. Argument is a that is going to be closed. Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached name for the 'get_current_editor' method. Cached name for the 'get_open_script_editors' method. Cached name for the 'get_breakpoints' method. Cached name for the 'register_syntax_highlighter' method. Cached name for the 'unregister_syntax_highlighter' method. Cached name for the 'goto_line' method. Cached name for the 'get_current_script' method. Cached name for the 'get_open_scripts' method. Cached name for the 'open_script_create_dialog' method. Cached name for the 'goto_help' method. Cached name for the 'update_docs_from_script' method. Cached StringNames for the signals contained in this class, for fast lookup. Cached name for the 'editor_script_changed' signal. Cached name for the 'script_close' signal. Base editor for editing scripts in the . This does not include documentation items. Returns the underlying used for editing scripts. For text scripts, this is a . Adds a to the open script. Emitted after script validation or when the edited resource has changed. Emitted after script validation. Represents the method that handles the event of a class. Emitted when the user requests contextual help. Represents the method that handles the event of a class. Emitted when the user requests to view a specific line of a script, similar to . Emitted when the user contextual goto and the item is in the same script. Represents the method that handles the event of a class. Emitted when the user changes current script or moves caret by 10 or more columns within the same script. Represents the method that handles the event of a class. Emitted when the user requests a specific documentation page. Represents the method that handles the event of a class. Emitted when the user request to search text in the file system. Represents the method that handles the event of a class. Emitted when the user request to find and replace text in the file system. Represents the method that handles the event of a class. Emitted when the user requests to view a specific method of a script, similar to . Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method. Name of the method to invoke. Arguments to use with the invoked method. Value returned by the invoked method. Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method. Name of the method to check for. Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method. Name of the signal to check for. Cached StringNames for the properties and fields contained in this class, for fast lookup. Cached StringNames for the methods contained in this class, for fast lookup. Cached name for the 'get_base_editor' method. Cached name for the 'add_syntax_highlighter' method. Cached StringNames for the signals contained in this class, for fast lookup. Cached name for the 'name_changed' signal. Cached name for the 'edited_script_changed' signal. Cached name for the 'request_help' signal. Cached name for the 'request_open_script_at_line' signal. Cached name for the 'request_save_history' signal. Cached name for the 'request_save_previous_state' signal. Cached name for the 'go_to_help' signal. Cached name for the 'search_in_files_requested' signal. Cached name for the 'replace_in_files_requested' signal. Cached name for the 'go_to_method' signal.