Inherits: Reference < Object

Inherited By: Animation, AnimationNode, AnimationNodeStateMachinePlayback, AnimationNodeStateMachineTransition, AudioBusLayout, AudioEffect, AudioStream, BakedLightmapData, BitMap, ButtonGroup, CryptoKey, CubeMap, Curve, Curve2D, Curve3D, DynamicFontData, EditorSettings, EditorSpatialGizmoPlugin, Environment, Font, GDNativeLibrary, GIProbeData, GLTFAccessor, GLTFAnimation, GLTFBufferView, GLTFCamera, GLTFDocument, GLTFLight, GLTFMesh, GLTFNode, GLTFSkeleton, GLTFSkin, GLTFSpecGloss, GLTFState, GLTFTexture, Gradient, Image, InputEvent, Material, Mesh, MeshLibrary, MultiMesh, NavigationMesh, NavigationPolygon, OccluderPolygon2D, OccluderShape, OpenSimplexNoise, PackedDataContainer, PackedScene, PhysicsMaterial, PolygonPathFinder, RichTextEffect, Script, Shader, Shape, Shape2D, ShortCut, Skin, Sky, SpriteFrames, StyleBox, TextFile, Texture, TextureLayered, Theme, TileSet, Translation, VideoStream, VisualScriptNode, VisualShaderNode, World, World2D, X509Certificate

Clase base para todos los recursos.


Resource is the base class for all Godot-specific resource types, serving primarily as data containers. Since they inherit from Reference, resources are reference-counted and freed when no longer in use. They are also cached once loaded from disk, so that any further attempts to load a resource from a given path 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.

Note: In C#, resources will not be freed instantly after they are no longer in use. Instead, garbage collection will run periodically and will free resources that are no longer in use. This means that unused resources will linger on for a while before being removed.



_setup_local_to_scene ( ) virtual


duplicate ( bool subresources=false ) const


emit_changed ( )


get_local_scene ( ) const


get_rid ( ) const


setup_local_to_scene ( )


take_over_path ( String path )


  • changed ( )

Emitted whenever the resource changes.

Note: This signal is not emitted automatically for custom resources, which means that you need to create a setter and emit the signal yourself.

Descripciones de Propiedades

  • bool resource_local_to_scene







Si true, el recurso se hará único en cada instancia de su escena local. Por lo tanto, puede modificarse en una instancia de la escena sin afectar a otras instancias de la misma escena.







The name of the resource. This is an optional identifier. If resource_name is not empty, its value will be displayed to represent the current resource in the editor inspector. For built-in scripts, the resource_name will be displayed as the tab name in the script editor.







El camino hacia el recurso. En caso de que tenga su propio archivo, devolverá su ruta de acceso. Si está ligado a la escena, devolverá la ruta de la escena, seguida por el índice del recurso.

Descripciones de Métodos

  • void _setup_local_to_scene ( ) virtual

Función virtual que puede ser sobreescrita para personalizar el valor de comportamiento de setup_local_to_scene.

Duplicates the resource, returning a new resource with the exported members copied. Note: To duplicate the resource the constructor is called without arguments. This method will error when the constructor doesn't have default values.

By default, sub-resources are shared between resource copies for efficiency. This can be changed by passing true to the subresources argument which will copy the subresources.

Note: If subresources is true, this method will only perform a shallow copy. Nested resources within subresources will not be duplicated and will still be shared.

Note: When duplicating a resource, only exported properties are copied. Other properties will be set to their default value in the new resource.

  • void emit_changed ( )

Emits the changed signal.

If external objects which depend on this resource should be updated, this method must be called manually whenever the state of this resource has changed (such as modification of properties).

The method is equivalent to:


Note: This method is called automatically for built-in resources.

  • Node get_local_scene ( ) const

Si resource_local_to_scene está activado y el recurso se cargó desde una instanciación PackedScene, devuelve la escena local en la que se utiliza la copia única de este recurso. En caso contrario, devuelve null.

  • 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 ( )

Este método se llama cuando un recurso con resource_local_to_scene activado se carga desde una instanciación PackedScene. Su comportamiento puede ser personalizado anulando _setup_local_to_scene desde el script.

Para la mayoría de los recursos, este método no realiza ninguna lógica de base. ViewportTexture realiza una lógica personalizada para establecer correctamente la textura del proxy y las banderas en el viewport local.

  • void take_over_path ( String path )

Establece la ruta del recurso, anulando potencialmente una entrada de caché existente para esta ruta. Esto difiere del establecimiento de resource_path, ya que este último daría un error si otro recurso ya estuviera en caché para la ruta dada.