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 ( GenEditState edit_state=0 ) const
Error 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.

Can be used to save a node to a file. When saving, the node as well as all the node it owns get saved (see owner property on Node). Note that the node doesn’t need to own itself.

Example of saving a node:

var scene =
var result = scene.pack(child)
if result == OK:"res://path/name.scn", scene) // or user://...

Member Function Description

  • bool can_instance ( ) const

Returns true if the scene file has nodes.

Returns the SceneState representing the scene file contents.

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

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