Base class for all resources.
    public class Resource : Reference

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

Inheritance Chain

Derived Classes

Constructors

    public Resource()

Signals

    "changed" ()

Emitted whenever the resource changes.

Properties

    public bool ResourceLocalToScene { get; set; }

If true, the resource will be made unique in each instance of its local scene. It can thus be modified in a scene instance without impacting other instances of that same scene.

    public string ResourceName { get; set; }

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

    public string ResourcePath { get; set; }

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.

Methods

    public virtual void _SetupLocalToScene()

Virtual function which can be overridden to customize the behavior value of _SetupLocalToScene().

    public Resource Duplicate(bool subresources = false)

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.

    public Node GetLocalScene()

If ResourceLocalToScene is enabled and the resource was loaded from a PackedScene instantiation, returns the local scene where this resource’s unique copy is in use. Otherwise, returns null.

    [Obsolete("GetName is deprecated. Use the ResourceName property instead.")]
    public string GetName()

Getter for ResourceName

    [Obsolete("GetPath is deprecated. Use the ResourcePath property instead.")]
    public string GetPath()

Getter for ResourcePath

    public RID GetRid()

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.

    [Obsolete("IsLocalToScene is deprecated. Use the ResourceLocalToScene property instead.")]
    public bool IsLocalToScene()

Getter for ResourceLocalToScene

    [Obsolete("SetLocalToScene is deprecated. Use the ResourceLocalToScene property instead.")]
    public void SetLocalToScene(bool enable)

Setter for ResourceLocalToScene

    [Obsolete("SetName is deprecated. Use the ResourceName property instead.")]
    public void SetName(string name)

Setter for ResourceName

    [Obsolete("SetPath is deprecated. Use the ResourcePath property instead.")]
    public void SetPath(string path)

Setter for ResourcePath

    public void SetupLocalToScene()

This method is called when a resource with ResourceLocalToScene enabled is loaded from a PackedScene instantiation. Its behavior can be customized by overriding _SetupLocalToScene() from script.

For most resources, this method performs no base logic. ViewportTexture performs custom logic to properly set the proxy texture and flags in the local viewport.

    public void TakeOverPath(string path)

Sets the path of the resource, potentially overriding an existing cache entry for this path. This differs from setting ResourcePath, as the latter would error out if another resource was already cached for the given path.

Tags: