<?xml version="1.0" encoding="UTF-8" ?> <class name="EditorImportPlugin" inherits="Reference" category="Core" version="3.0.alpha.custom_build"> <brief_description> Registers a custom resource importer in the editor. Use the class to parse any file and import it as a new resource type. </brief_description> <description> EditorImportPlugins 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. Register your [EditorPlugin] with [method EditorPlugin.add_import_plugin]. EditorImportPlugins work by associating with specific file extensions and a resource type. See [method get_recognized_extension] and [method get_resource_type]). They may optionally specify some import presets that affect the import process. EditorImportPlugins are responsible for creating the resources and saving them in the [code].import[/code] directory. Below is an example EditorImportPlugin that imports a [Mesh] from a file with the extension ".special" or ".spec": [codeblock] tool extends EditorImportPlugin func get_importer_name(): return "my.special.plugin" func get_visible_name(): return "Special Mesh Importer" func get_recognized_extensions(): return ["special", "spec"] func get_save_extension(): return "mesh" func get_resource_type(): return "Mesh" func get_preset_count(): return 1 func get_preset_name(i): return "Default" func get_import_optons(i): return [{"name": "my_option", "default_value": false}] func load(src, dst, opts, r_platform_variants, r_gen_files): var f = File.new() if f.open(src, File.READ) != OK: return FAILED var mesh = Mesh.new() var save = dst + "." + get_save_extension() ResourceSaver.save(file, mesh) return OK [/codeblock] </description> <tutorials> </tutorials> <demos> </demos> <methods> <method name="get_import_options" qualifiers="virtual"> <return type="Array"> </return> <argument index="0" name="preset" type="int"> </argument> <description> Get 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). </description> </method> <method name="get_importer_name" qualifiers="virtual"> <return type="String"> </return> <description> Get the unique name of the importer. </description> </method> <method name="get_option_visibility" qualifiers="virtual"> <return type="bool"> </return> <argument index="0" name="option" type="String"> </argument> <argument index="1" name="options" type="Dictionary"> </argument> <description> </description> </method> <method name="get_preset_count" qualifiers="virtual"> <return type="int"> </return> <description> Get the number of initial presets defined by the plugin. Use [method get_import_options] to get the default options for the preset and [method get_preset_name] to get the name of the preset. </description> </method> <method name="get_preset_name" qualifiers="virtual"> <return type="String"> </return> <argument index="0" name="preset" type="int"> </argument> <description> Get the name of the options preset at this index. </description> </method> <method name="get_recognized_extensions" qualifiers="virtual"> <return type="Array"> </return> <description> Get the list of file extensions to associate with this loader (case insensitive). e.g. ["obj"]. </description> </method> <method name="get_resource_type" qualifiers="virtual"> <return type="String"> </return> <description> Get the godot resource type associated with this loader. e.g. "Mesh" or "Animation". </description> </method> <method name="get_save_extension" qualifiers="virtual"> <return type="String"> </return> <description> Get the extension used to save this resource in the [code].import[/code] directory. </description> </method> <method name="get_visible_name" qualifiers="virtual"> <return type="String"> </return> <description> Get the name to display in the import window. </description> </method> <method name="import" qualifiers="virtual"> <return type="int"> </return> <argument index="0" name="source_file" type="String"> </argument> <argument index="1" name="save_path" type="String"> </argument> <argument index="2" name="options" type="Dictionary"> </argument> <argument index="3" name="r_platform_variants" type="Array"> </argument> <argument index="4" name="r_gen_files" type="Array"> </argument> <description> </description> </method> </methods> <constants> </constants> </class>