ResourceLoader

Inherits: Object

Singleton used to load resource files.

Description

Singleton used to load resource files from the filesystem.

It uses the many ResourceFormatLoader classes registered in the engine (either built-in or from a plugin) to load files into memory and convert them to a format that can be used by the engine.

GDScript has a simplified @GDScript.load built-in method which can be used in most situations, leaving the use of ResourceLoader for more advanced scenarios.

Methods

bool exists ( String path, String type_hint="" )
PackedStringArray get_dependencies ( String path )
PackedStringArray get_recognized_extensions_for_type ( String type )
bool has_cached ( String path )
Resource load ( String path, String type_hint="", bool no_cache=false )
Resource load_threaded_get ( String path )
ThreadLoadStatus load_threaded_get_status ( String path, Array progress=[ ] )
Error load_threaded_request ( String path, String type_hint="", bool use_sub_threads=false )
void set_abort_on_missing_resources ( bool abort )

Enumerations

enum ThreadLoadStatus:

  • THREAD_LOAD_INVALID_RESOURCE = 0 --- The resource is invalid, or has not been loaded with load_threaded_request.
  • THREAD_LOAD_IN_PROGRESS = 1 --- The resource is still being loaded.
  • THREAD_LOAD_FAILED = 2 --- Some error occurred during loading and it failed.
  • THREAD_LOAD_LOADED = 3 --- The resource was loaded successfully and can be accessed via load_threaded_get.

Method Descriptions

Returns whether a recognized resource exists for the given path.

An optional type_hint can be used to further specify the Resource type that should be handled by the ResourceFormatLoader.


Returns the dependencies for the resource at the given path.


Returns the list of recognized extensions for a resource type.


Returns whether a cached resource is available for the given path.

Once a resource has been loaded by the engine, it is cached in memory for faster access, and future calls to the load method will use the cached version. The cached resource can be overridden by using Resource.take_over_path on a new resource for that same path.


Loads a resource at the given path, caching the result for further access.

The registered ResourceFormatLoaders are queried sequentially to find the first one which can handle the file's extension, and then attempt loading. If loading fails, the remaining ResourceFormatLoaders are also attempted.

An optional type_hint can be used to further specify the Resource type that should be handled by the ResourceFormatLoader.

If no_cache is true, the resource cache will be bypassed and the resource will be loaded anew. Otherwise, the cached resource will be returned if it exists.

Returns an empty resource if no ResourceFormatLoader could handle the file.


Returns the resource loaded by load_threaded_request.

If this is called before the loading thread is done (i.e. load_threaded_get_status is not THREAD_LOAD_LOADED), the calling thread will be blocked until the resource has finished loading.


Returns the status of a threaded loading operation started with load_threaded_request for the resource at path. See ThreadLoadStatus for possible return values.

An array variable can optionally be passed via progress, and will return a one-element array containing the percentage of completion of the threaded loading.


Loads the resource using threads. If use_sub_threads is true, multiple threads will be used to load the resource, which makes loading faster, but may affect the main thread (and thus cause game slowdowns).


  • void set_abort_on_missing_resources ( bool abort )

Changes the behavior on missing sub-resources. The default behavior is to abort loading.