ResourceFormatLoader

Inherits: Reference < Object Loads a specific resource type from a file.

Description

ResourceLoader singleton, or when a resource with internal dependencies is loaded. Each file type may load as a different resource type, so multiple ResourceFormatLoaders are registered in the engine. class_name for it to be registered. Like built-in ResourceFormatLoaders, it will be called automatically when loading resources of its handled type(s). You may also implement a ResourceFormatSaver. Note: You can also extend EditorImportPlugin if the resource type you need exists but Godot is unable to load its format. Choosing one way over another depends on if the format is suitable or not for the final exported game. For example, it’s better to import .png textures as .stex (StreamTexture) first, so they can be loaded with better efficiency on the graphics card.

Methods

Method Descriptions

  • get_dependencies ( String path, String add_types ) virtual add_types is true, paths should be appended ::TypeName, where TypeName is the class name of the dependency. Note: Custom resource types defined by scripts aren’t known by the ClassDB, so you might just return "Resource" for them.

  • PoolStringArray get_recognized_extensions ( ) virtual Gets the list of extensions for files this loader is able to read.

  • String get_resource_type ( String path ) virtual "". Note: Custom resource types defined by scripts aren’t known by the ClassDB, so you might just return "Resource" for them.

  • bool handles_type ( String typename ) virtual Tells which resource class this loader can load. Note: Custom resource types defined by scripts aren’t known by the ClassDB, so you might just handle "Resource" for them.

  • Variant load ( String path, String original_path ) virtual original_path will target the source file. Returns a Resource object on success, or an Error constant in case of failure.

  • int rename_dependencies ( String path, String renames ) virtual renames is a dictionary { String => String } mapping old dependency paths to new paths. @GlobalScope.OK on success, or an Error constant in case of failure.