<?xml version="1.0" encoding="UTF-8" ?>
<class name="ResourceImporter" inherits="RefCounted" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
	<brief_description>
		Base class for resource importers.
	</brief_description>
	<description>
		This is the base class for Godot's resource importers. To implement your own resource importers using editor plugins, see [EditorImportPlugin].
	</description>
	<tutorials>
		<link title="Import plugins">$DOCS_URL/tutorials/plugins/editor/import_plugins.html</link>
	</tutorials>
	<methods>
		<method name="_get_build_dependencies" qualifiers="virtual const">
			<return type="PackedStringArray" />
			<param index="0" name="path" type="String" />
			<description>
				Called when the engine compilation profile editor wants to check what build options an imported resource needs. For example, [ResourceImporterDynamicFont] has a property called [member ResourceImporterDynamicFont.multichannel_signed_distance_field], that depends on the engine to be build with the "msdfgen" module. If that resource happened to be a custom one, it would be handled like this:
				[codeblock]
				func _get_build_dependencies(path):
					var resource = load(path)
					var dependencies = PackedStringArray()

					if resource.multichannel_signed_distance_field:
						dependencies.push_back("module_msdfgen_enabled")

					return dependencies
				[/codeblock]
			</description>
		</method>
	</methods>
	<constants>
		<constant name="IMPORT_ORDER_DEFAULT" value="0" enum="ImportOrder">
			The default import order.
		</constant>
		<constant name="IMPORT_ORDER_SCENE" value="100" enum="ImportOrder">
			The import order for scenes, which ensures scenes are imported [i]after[/i] all other core resources such as textures. Custom importers should generally have an import order lower than [code]100[/code] to avoid issues when importing scenes that rely on custom resources.
		</constant>
	</constants>
</class>
