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 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]
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.