Registers a custom resource importer in the editor. Use the class to parse any file and import it as a new resource type.
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_options(i): return [{"name": "my_option", "default_value": false}]

func load(src, dst, opts, r_platform_variants, r_gen_files): var file = File.new() if file.open(src, File.READ) != OK: return FAILED

var mesh = Mesh.new()

var save = dst + "." + get_save_extension() ResourceSaver.save(file, mesh) return OK [/codeblock]
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).
Get the unique name of the importer.
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.
Get the name of the options preset at this index.
Get the list of file extensions to associate with this loader (case insensitive). e.g. ["obj"].
Get the godot resource type associated with this loader. e.g. "Mesh" or "Animation".
Get the extension used to save this resource in the [code].import[/code] directory.
Get the name to display in the import window.