A singleton for saving resource types to the filesystem.
It uses the many ResourceFormatSaver classes registered in the engine (either built-in or from a plugin) to save resource data to text-based (e.g. .tres
or .tscn
) or binary files (e.g. .res
or .scn
).
FLAG_NONE = 0
No resource saving option.
FLAG_RELATIVE_PATHS = 1
Save the resource with a path relative to the scene which uses it.
FLAG_BUNDLE_RESOURCES = 2
Bundles external resources.
FLAG_CHANGE_PATH = 4
Changes the Resource.resource_path of the saved resource to match its new location.
FLAG_OMIT_EDITOR_PROPERTIES = 8
Do not save editor-specific metadata (identified by their __editor
prefix).
FLAG_SAVE_BIG_ENDIAN = 16
Save as big endian (see FileAccess.big_endian).
FLAG_COMPRESS = 32
Compress the resource on save using FileAccess.COMPRESSION_ZSTD. Only available for binary resource types.
FLAG_REPLACE_SUBRESOURCE_PATHS = 64
Take over the paths of the saved subresources (see Resource.take_over_path).
Registers a new ResourceFormatSaver. The ResourceSaver will use the ResourceFormatSaver as described in save.
This method is performed implicitly for ResourceFormatSavers written in GDScript (see ResourceFormatSaver for more information).
Returns the list of extensions available for saving a resource of a given type.
Unregisters the given ResourceFormatSaver.
Saves a resource to disk to the given path, using a ResourceFormatSaver that recognizes the resource object. If path
is empty, ResourceSaver will try to use Resource.resource_path.
The flags
bitmask can be specified to customize the save behavior using SaverFlags flags.
Returns @GlobalScope.OK on success.
Note: When the project is running, any generated UID associated with the resource will not be saved as the required code is only executed in editor mode.