Resource

Inherits: Reference < Object

Inherited By: Theme, AudioStream, EventStream, CubeMap, DynamicFontData, Translation, Curve2D, Shape, Shape2D, Shader, ColorRamp, StyleBox, Material, VideoStream, RoomBounds, PackedScene, Texture, Script, OccluderPolygon2D, Mesh, TileSet, ShortCut, BitMap, Animation, Sample, PolygonPathFinder, BakedLight, World, SampleLibrary, World2D, Font, SpriteFrames, MeshLibrary, Curve3D, NavigationPolygon, EditorSettings, Environment, MultiMesh, CanvasItemMaterial, PackedDataContainer, NavigationMesh

Category: Core

Brief Description

Base class for all resources.

Member Functions

void _setup_local_to_scene ( ) virtual
Resource duplicate ( bool subresources=false ) const
Node get_local_scene ( ) const
String get_name ( ) const
String get_path ( ) const
RID get_rid ( ) const
bool is_local_to_scene ( ) const
void set_local_to_scene ( bool enable )
void set_name ( String name )
void set_path ( String path )
void setup_local_to_scene ( )
void take_over_path ( String path )

Signals

  • changed ( )

Member Variables

Description

Resource is the base class for all resource types. Resources are primarily data containers. They are reference counted and freed when no longer in use. They are also loaded only once from disk, and further attempts to load the resource will return the same reference (all this in contrast to a Node, which is not reference counted and can be instanced from disk as many times as desired). Resources can be saved externally on disk or bundled into another object, such as a Node or another resource.

Member Function Description

  • void _setup_local_to_scene ( ) virtual
  • Node get_local_scene ( ) const

Return the name of the resources, any name is valid (it doesn’t have to be unique). Name is for descriptive purposes only.

Return the path of the resource. This is useful mainly for editors when saving/loading, and shouldn’t be changed by anything else.

  • RID get_rid ( ) const

Return the RID of the resource (or an empty RID). Many resources (such as Texture, Mesh, etc) are high level abstractions of resources stored in a server, so this function will return the original RID.

  • bool is_local_to_scene ( ) const
  • void set_local_to_scene ( bool enable )
  • void set_name ( String name )

Set the name of the resources, any name is valid (it doesn’t have to be unique). Name is for descriptive purposes only.

  • void set_path ( String path )

Set the path of the resource. This is useful mainly for editors when saving/loading, and shouldn’t be changed by anything else. Fails if another Resource already has path “path”.

  • void setup_local_to_scene ( )
  • void take_over_path ( String path )

Set the path of the resource. Differs from set_path(), if another Resource exists with “path” it over-takes it, instead of failing.