Inherits: Reference < Object

Inherited By: Animation, AnimationNode, AnimationNodeStateMachinePlayback, AnimationNodeStateMachineTransition, AudioBusLayout, AudioEffect, AudioStream, BakedLightmapData, BitMap, ButtonGroup, CubeMap, Curve, Curve2D, Curve3D, DynamicFontData, EditorSettings, EditorSpatialGizmoPlugin, Environment, Font, GDNativeLibrary, GIProbeData, Gradient, Image, InputEvent, Material, Mesh, MeshLibrary, MultiMesh, NavigationMesh, NavigationPolygon, OccluderPolygon2D, OpenSimplexNoise, PackedDataContainer, PackedScene, PhysicsMaterial, PolygonPathFinder, Script, Shader, Shape, Shape2D, ShortCut, Sky, SpriteFrames, StyleBox, TextFile, Texture, TextureLayered, Theme, TileSet, Translation, VideoStream, VisualScriptNode, VisualShaderNode, World, World2D

Category: Core

Brief Description

Base class for all resources.


void _setup_local_to_scene ( ) virtual
Resource duplicate ( bool subresources=false ) const
Node get_local_scene ( ) const
RID get_rid ( ) const
void setup_local_to_scene ( )
void take_over_path ( String path )


  • changed ( )


Resource is the base class for all resource types, serving primarily as 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.


Property Descriptions

  • bool resource_local_to_scene
Setter set_local_to_scene(value)
Getter is_local_to_scene()
Setter set_name(value)
Getter get_name()

The name of the resource. This is an optional identifier.

Setter set_path(value)
Getter get_path()

The path to the resource. In case it has its own file, it will return its filepath. If it’s tied to the scene, it will return the scene’s path, followed by the resource’s index.

Method Descriptions

  • void _setup_local_to_scene ( ) virtual

Duplicates the resource, returning a new resource. By default, sub-resources are shared between resource copies for efficiency, this can be changed by passing true to the subresources argument.

  • Node get_local_scene ( ) const
  • RID get_rid ( ) const

Returns 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.

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

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