An abstraction of a serialized scene.
    public class PackedScene : Resource

A simplified interface to a scene file. Provides access to operations and checks that can be performed on the scene resource itself.

TODO: explain ownership, and that node does not need to own itself

Inheritance Chain


    public PackedScene()


    public Dictionary<object, object> _Bundled { get; set; }

A dictionary representation of the scene contents.

Available keys include “rnames” and “variants” for resources, “node_count”, “nodes”, “node_paths” for nodes, “editable_instances” for base scene children overrides, “conn_count” and “conns” for signal connections, and “version” for the format style of the PackedScene.


    public bool CanInstance()

Returns true if the scene file has nodes.

    public SceneState GetState()

Returns the SceneState representing the scene file contents.

    public Node Instance(GenEditState editState = GenEditState.Disabled)

Instantiates the scene’s node hierarchy. Triggers child scene instantiation(s). Triggers the [enum Object.NOTIFICATION_INSTANCED] notification on the root node.

    public Error Pack(Node path)

Pack will ignore any sub-nodes not owned by given node. See Node.Owner.set.

Inner Types


Name Value Description
Disabled 0 If passed to [method instance], blocks edits to the scene state.
Instance 1 If passed to [method instance], provides local scene resources to the local scene. Requires tools compiled.
Main 2 If passed to [method instance], provides local scene resources to the local scene. Only the main scene should receive the main edit state. Requires tools compiled.