Table of Contents

Class ResourceFormatSaver

Saves a specific resource type to a file.

Inheritance
ResourceFormatSaver

Remarks

The engine can save resources when you do it from the editor, or when you use the ResourceSaver singleton. This is accomplished thanks to multiple ResourceFormatSavers, each handling its own format and called automatically by the engine.

By default, Godot saves resources as .tres (text-based), .res (binary) or another built-in format, but you can choose to create your own format by extending this class. Be sure to respect the documented return types and values. You should give it a global class name with class_name for it to be registered. Like built-in ResourceFormatSavers, it will be called automatically when saving resources of its recognized type(s). You may also implement a ResourceFormatLoader.

Methods

_get_recognized_extensions(Resource)

Qualifiers: virtualconst

Returns the list of extensions available for saving the resource object, provided it is recognized (see ResourceFormatSaver._recognize).

PackedStringArray _get_recognized_extensions(Resource resource)

Parameters

resource Resource

_recognize(Resource)

Qualifiers: virtualconst

Returns whether the given resource object can be saved by this saver.

bool _recognize(Resource resource)

Parameters

resource Resource

_recognize_path(Resource, String)

Qualifiers: virtualconst

Returns true if this saver handles a given save path and false otherwise.

If this method is not implemented, the default behavior returns whether the path's extension is within the ones provided by ResourceFormatSaver._get_recognized_extensions.

bool _recognize_path(Resource resource, String path)

Parameters

resource Resource
path String

_save(Resource, String, int)

Qualifiers: virtual

Saves the given resource object to a file at the target path. flags is a bitmask composed with SaverFlags constants.

Returns @GlobalScope.OK on success, or an Error constant in case of failure.

int _save(Resource resource, String path, int flags)

Parameters

resource Resource
path String
flags int

_set_uid(String, int)

Qualifiers: virtual

Sets a new UID for the resource at the given path. Returns @GlobalScope.OK on success, or an Error constant in case of failure.

int _set_uid(String path, int uid)

Parameters

path String
uid int