Inherits: Resource < Reference < Object

Category: Core

Brief Description

An abstraction of a serialized scene.

Member Functions

bool can_instance ( ) const
SceneState get_state ( )
Node instance ( int edit_state=0 ) const
int pack ( Node path )

Member Variables

  • Dictionary _bundled - 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.


enum GenEditState

  • GEN_EDIT_STATE_DISABLED = 0 — If passed to instance, blocks edits to the scene state.
  • GEN_EDIT_STATE_INSTANCE = 1 — If passed to instance, provides local scene resources to the local scene. Requires tools compiled.
  • GEN_EDIT_STATE_MAIN = 2 — If passed to instance, provides local scene resources to the local scene. Only the main scene should receive the main edit state. Requires tools compiled.


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

Member Function Description

  • bool can_instance ( ) const

Returns true if the scene file has nodes.

Returns the SceneState representing the scene file contents.

  • Node instance ( int edit_state=0 ) const

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

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