class
Godot::Node
- Godot::Node
- Godot::Object
- Reference
- Object
Overview
=========================================================================== Node Idiomatic & Generic Extensions
Direct Known Subclasses
- Godot::AnimationMixer
- Godot::AudioStreamPlayer
- Godot::CanvasItem
- Godot::CanvasLayer
- Godot::EditorFileSystem
- Godot::EditorPlugin
- Godot::EditorResourcePreview
- Godot::HTTPRequest
- Godot::InstancePlaceholder
- Godot::MissingNode
- Godot::MultiplayerSpawner
- Godot::MultiplayerSynchronizer
- Godot::NavigationAgent2D
- Godot::NavigationAgent3D
- Godot::Node3D
- Godot::ResourcePreloader
- Godot::ShaderGlobalsOverride
- Godot::StatusIndicator
- Godot::Timer
- Godot::Viewport
- Godot::WorldEnvironment
Defined in:
libgodot/extensions/node.crlibgodot/generated/classes/classes_part1.cr
libgodot/object.cr
Constructors
-
.~ : self
Class unary ~ returns typed instance looked up from active NodeContext (by name first, then searching children)
- .new(pointer : Pointer(Void) = Pointer(Void).null)
Class Method Summary
-
.decompose_node_path(raw_path : String) : Tuple(Bool, String, String | Nil)
Decomposes a raw path string, stripping leading '$' and extracting unique root prefix if present.
- .get_orphan_node_ids : Pointer(Void)
- .print_orphan_nodes : Void
Instance Method Summary
-
#%(unique_name : String | NodePath) : Node
Scene Unique Node operator (mirrors GDScript %): node % "HealthBar"
-
#%(type : T.class) : T forall T
Typed Scene Unique Node operator: node % ProgressBar
-
#/(path : String | NodePath) : Node
Path traversal operator: node / "Camera3D" or node / node_path!("Camera3D")
-
#/(type : T.class) : T forall T
Typed path traversal operator: node / Sprite2D
-
#[](path : String | NodePath, type : T.class) : T forall T
Typed path lookup: self["Visuals/Sprite2D", Sprite2D]
-
#[](type : T.class, path : String | NodePath) : T forall T
Flexible type-first overload: self[Sprite2D, "Visuals/Sprite2D"]
-
#[](path : String) : Node
Indexer syntactic sugar for retrieving a child node by path (e.g.
-
#[](path : NodePath) : Node
NodePath indexers
-
#[](type : T.class) : T forall T
Type-inferred typed indexer: self[Sprite2D] -> looks up "Sprite2D" cast to Sprite2D
-
#[]?(path : String | NodePath, type : T.class) : T | Nil forall T
Safe typed path lookup: self["Visuals/Sprite2D", Sprite2D]?
-
#[]?(type : T.class, path : String | NodePath) : T | Nil forall T
Safe flexible type-first overload: self[Sprite2D, "Visuals/Sprite2D"]?
-
#[]?(path : String) : Node | Nil
Safe indexer returning nil if node not found (e.g.
- #[]?(path : NodePath) : Node | Nil
-
#[]?(type : T.class) : T | Nil forall T
Safe type-inferred indexer: self[Sprite2D]? -> returns Sprite2D? or nil if not found
-
#_enter_tree : Void
Lifecycle callback called when the node enters the tree hierarchy.
-
#_exit_tree : Void
Lifecycle callback called when the node exits the tree hierarchy.
-
#_physics_process(delta : Float64) : Void
Fixed-rate physics process callback receiving delta timestep in seconds (
Float64). -
#_process(delta : Float64) : Void
Per-frame process callback receiving delta timestep in seconds (
Float64). -
#_ready : Void
Lifecycle callback called when the node enters the active scene tree.
-
#~ : self
Instance unary ~ returns self, allowing ~self or nested unary chaining
-
#add_child(node : Node, force_readable_name : Bool = false, internal : InternalMode | Int = 0) : Void
Adds a child node.
-
#add_sibling(sibling : Node, force_readable_name : Bool = false) : Void
Adds a sibling node to the parent of this node.
-
#add_to_group(group : String, persistent : Bool = false) : Void
Adds this node to the specified group (with default non-persistent flag)
-
#ancestor_of?(node : Node) : Bool
Predicate alias for
#is_ancestor_of - #atr(message : String, context : String = "") : String
- #atr_n(message : String, plural_message : String, n : Int64, context : String = "") : String
-
#auto_translate_mode
Property
#auto_translate_modegetter -
#auto_translate_mode=(val : Int)
Property
#auto_translate_modesetter - #can_auto_translate : Bool
-
#can_auto_translate? : Bool
Predicate alias for
#can_auto_translate - #can_process : Bool
-
#can_process? : Bool
Predicate alias for
#can_process -
#child_count : Int32
Idiomatic child count getter
- #child_entered_tree : Godot::TypedSignal(Node)
- #child_exiting_tree : Godot::TypedSignal(Node)
- #child_order_changed : Godot::TypedSignal()
-
#children(include_internal : Bool = false) : Array(Node)
Alias for
#get_children(falls back to local children array when running standalone) -
#clear_children(include_internal : Bool = false) : Void
Removes and frees all child nodes under this node.
- #create_tween : Tween
-
#defer_add_child(node : Node, force_readable_name : Bool = false, internal : InternalMode | Int = 0) : Void
Explicit cross-thread helper that safely defers addition via Godot's MessageQueue
-
#defer_move_child(child_node : Node, to_position : Int64 | Int32) : Void
Explicit cross-thread helper that safely defers moving child via Godot's MessageQueue
-
#defer_queue_free : Void
Explicit cross-thread helper that safely queues deletion via Godot's MessageQueue
-
#defer_remove_child(node : Node) : Void
Explicit cross-thread helper that safely defers removal via Godot's MessageQueue
-
#defer_reparent(new_parent : Node, keep_global_transform : Bool = true) : Void
Explicit cross-thread helper that safely defers reparenting via Godot's MessageQueue
-
#destroy : Void
Safely destroys this node, unregistering parent references in standalone mode.
-
#displayed_folded? : Bool
Predicate alias for
#is_displayed_folded - #duplicate(flags : Int64 = 15_i64) : Node
-
#each_child(include_internal : Bool = false, &block : Node -> Void) : Void
Yields each child node without allocating an intermediate array.
-
#editable_instance?(node : Node) : Bool
Predicate alias for
#is_editable_instance -
#editor_description
Property
#editor_descriptiongetter -
#editor_description=(val)
Property
#editor_descriptionsetter - #editor_description_changed : Godot::TypedSignal(Node)
- #editor_state_changed : Godot::TypedSignal()
- #emit_child_entered_tree(*args) : Void
- #emit_child_exiting_tree(*args) : Void
- #emit_child_order_changed : Void
- #emit_editor_description_changed(*args) : Void
- #emit_editor_state_changed : Void
- #emit_ready : Void
- #emit_renamed : Void
- #emit_replacing_by(*args) : Void
- #emit_tree_entered : Void
- #emit_tree_exited : Void
- #emit_tree_exiting : Void
-
#find_child(pattern : String, recursive : Bool = true, owned : Bool = true) : Node
Finds an existing child node matching
pattern. -
#find_child?(pattern : String, recursive : Bool = true, owned : Bool = false) : Node | Nil
Finds child node matching pattern, returning nil if not found
-
#find_child_as(type : T.class, pattern : String, recursive : Bool = true, owned : Bool = false) : T | Nil forall T
Finds child node matching pattern and casts to T, returning nil if not found
- #find_children(pattern : String, get_type : String = "", recursive : Bool = true, owned : Bool = true) : Pointer(Void)
- #find_parent(pattern : String) : Node
- #get_accessibility_element : Int64
- #get_auto_translate_mode : AutoTranslateMode
- #get_child(idx : Int64, include_internal : Bool = false) : Node
-
#get_child?(idx : Int, include_internal : Bool = false) : Node | Nil
Retrieves child at specified index, or nil if not found
-
#get_child_as(type : T.class, idx : Int, include_internal : Bool = false) : T | Nil forall T
Retrieves child at specified index cast to type T, or nil if not found or not matching type
- #get_child_count(include_internal : Bool = false) : Int64
-
#get_children(include_internal : Bool = false) : Array(Node)
Returns an Array containing all child nodes belonging to this node.
-
#get_children_as(type : T.class, include_internal : Bool = false) : Array(T) forall T
Returns all children of this node matching or cast to type T.
- #get_editor_description : String
- #get_groups : Pointer(Void)
- #get_index(include_internal : Bool = false) : Int64
- #get_last_exclusive_window : Window
- #get_multiplayer : MultiplayerAPI
- #get_multiplayer_authority : Int64
-
#get_name : String
Returns the node name
-
#get_node(path : String) : Node
Retrieves a child or sibling node by NodePath string.
-
#get_node(path : NodePath) : Node
Overloads for NodePath
- #get_node(path : NodePath | String) : Node
-
#get_node?(path : String) : Node | Nil
Retrieves a child or sibling node by NodePath string, or returns nil if not found.
- #get_node?(path : NodePath) : Node | Nil
- #get_node_and_resource(path : NodePath | String) : Pointer(Void)
-
#get_node_as(path : String | NodePath, type : T.class) : T forall T
Retrieves a child node cast to the specified Crystal class type
T. -
#get_node_as?(path : String | NodePath, type : T.class) : T | Nil forall T
Retrieves a child node cast to the specified Crystal class type
T, or nil if not found or type mismatch. -
#get_node_or_null(path : String) : Node | Nil
Fetches a node by String path.
- #get_node_or_null(path : NodePath) : Node | Nil
- #get_node_or_null(path : NodePath | String) : Node
- #get_node_rpc_config : Pointer(Void)
-
#get_orphan_node_ids : Pointer(Void)
Instance convenience delegator for static method
#get_orphan_node_ids - #get_owner : Node
- #get_parent : Node
-
#get_parent? : Node | Nil
Returns the parent Node, or nil if orphan
-
#get_parent_as(type : T.class) : T | Nil forall T
Returns the parent node cast to T, or nil if parent is not of type T or is null
- #get_path : NodePath
- #get_path_to(node : Node, use_unique_path : Bool = false) : NodePath
- #get_physics_interpolation_mode : PhysicsInterpolationMode
- #get_physics_process_delta_time : Float64
- #get_physics_process_priority : Int64
- #get_process_delta_time : Float64
- #get_process_mode : ProcessMode
- #get_process_priority : Int64
- #get_process_thread_group : ProcessThreadGroup
- #get_process_thread_group_order : Int64
- #get_process_thread_messages : ProcessThreadMessages
- #get_scene_file_path : String
- #get_scene_instance_load_placeholder : Bool
-
#get_scene_instance_load_placeholder? : Bool
Predicate alias for
#get_scene_instance_load_placeholder -
#get_tree : SceneTree
Returns the SceneTree containing this node.
- #get_tree_string : String
- #get_tree_string_pretty : String
-
#get_unique_node_as(unique_name : String, type : T.class) : T | Nil forall T
Returns the scene unique node with name
%unique_namecast to T - #get_viewport : Viewport
- #get_window : Window
-
#greater_than?(node : Node) : Bool
Predicate alias for
#is_greater_than - #has_node(path : NodePath | String) : Bool
-
#has_node?(path : NodePath | String) : Bool
Predicate alias for
#has_node - #has_node_and_resource(path : NodePath | String) : Bool
-
#has_node_and_resource?(path : NodePath | String) : Bool
Predicate alias for
#has_node_and_resource -
#in_group?(group_name : String) : Bool
Returns true if this node belongs to the given node group.
-
#inside_tree? : Bool
Predicate alias for
#is_inside_tree - #is_ancestor_of(node : Node) : Bool
-
#is_ancestor_of?(node : Node) : Bool
Predicate alias for
#is_ancestor_of - #is_displayed_folded : Bool
-
#is_displayed_folded? : Bool
Predicate alias for
#is_displayed_folded - #is_editable_instance(node : Node) : Bool
-
#is_editable_instance?(node : Node) : Bool
Predicate alias for
#is_editable_instance - #is_greater_than(node : Node) : Bool
-
#is_greater_than?(node : Node) : Bool
Predicate alias for
#is_greater_than - #is_in_group(group : String) : Bool
-
#is_in_group?(group : String) : Bool
Predicate alias for
#is_in_group - #is_inside_tree : Bool
-
#is_inside_tree? : Bool
Predicate alias for
#is_inside_tree - #is_multiplayer_authority : Bool
-
#is_multiplayer_authority? : Bool
Predicate alias for
#is_multiplayer_authority - #is_node_ready : Bool
-
#is_node_ready? : Bool
Predicate alias for
#is_node_ready - #is_part_of_edited_scene : Bool
-
#is_part_of_edited_scene? : Bool
Predicate alias for
#is_part_of_edited_scene - #is_physics_interpolated : Bool
-
#is_physics_interpolated? : Bool
Predicate alias for
#is_physics_interpolated - #is_physics_interpolated_and_enabled : Bool
-
#is_physics_interpolated_and_enabled? : Bool
Predicate alias for
#is_physics_interpolated_and_enabled - #is_physics_processing : Bool
-
#is_physics_processing? : Bool
Predicate alias for
#is_physics_processing - #is_physics_processing_internal : Bool
-
#is_physics_processing_internal? : Bool
Predicate alias for
#is_physics_processing_internal - #is_processing : Bool
-
#is_processing? : Bool
Predicate alias for
#is_processing - #is_processing_input : Bool
-
#is_processing_input? : Bool
Predicate alias for
#is_processing_input - #is_processing_internal : Bool
-
#is_processing_internal? : Bool
Predicate alias for
#is_processing_internal - #is_processing_shortcut_input : Bool
-
#is_processing_shortcut_input? : Bool
Predicate alias for
#is_processing_shortcut_input - #is_processing_unhandled_input : Bool
-
#is_processing_unhandled_input? : Bool
Predicate alias for
#is_processing_unhandled_input - #is_processing_unhandled_key_input : Bool
-
#is_processing_unhandled_key_input? : Bool
Predicate alias for
#is_processing_unhandled_key_input - #is_unique_name_in_owner : Bool
-
#is_unique_name_in_owner? : Bool
Predicate alias for
#is_unique_name_in_owner - #local_groups : Set(String)
- #move_child(child_node : Node, to_index : Int64) : Void
-
#move_child(child_node : Node, to_index : Int | Int64) : Void
Moves child node to a new index in the parent's child list.
-
#multiplayer
Property
#multiplayergetter -
#multiplayer_authority? : Bool
Predicate alias for
#is_multiplayer_authority - #name : String
- #name=(val : String)
-
#node_as(path : String | NodePath, type : T.class) : T forall T
Shorthand for get_node_as
-
#node_as?(path : String | NodePath, type : T.class) : T | Nil forall T
Shorthand for get_node_as?
-
#node_ready? : Bool
Predicate alias for
#is_node_ready - #notify_deferred_thread_group(what : Int64) : Void
- #notify_thread_safe(what : Int64) : Void
-
#owner : Node | Nil
Returns the scene owner node responsible for serialization packing.
-
#owner=(o : Node | Nil)
Sets the scene owner node for serialization packing.
-
#part_of_edited_scene? : Bool
Predicate alias for
#is_part_of_edited_scene -
#physics_interpolated? : Bool
Predicate alias for
#is_physics_interpolated -
#physics_interpolated_and_enabled? : Bool
Predicate alias for
#is_physics_interpolated_and_enabled -
#physics_interpolation_mode
Property
#physics_interpolation_modegetter -
#physics_interpolation_mode=(val : Int)
Property
#physics_interpolation_modesetter -
#physics_processing? : Bool
Predicate alias for
#is_physics_processing -
#physics_processing_internal? : Bool
Predicate alias for
#is_physics_processing_internal -
#print_orphan_nodes : Void
Instance convenience delegator for static method
#print_orphan_nodes - #print_tree : Void
- #print_tree_pretty : Void
-
#process_mode
Property
#process_modegetter -
#process_mode=(val : Int)
Property
#process_modesetter -
#process_physics_priority
Property
#process_physics_prioritygetter -
#process_physics_priority=(val : Int)
Property
#process_physics_prioritysetter -
#process_priority
Property
#process_prioritygetter -
#process_priority=(val : Int)
Property
#process_prioritysetter -
#process_thread_group
Property
#process_thread_groupgetter -
#process_thread_group=(val : Int)
Property
#process_thread_groupsetter -
#process_thread_group_order
Property
#process_thread_group_ordergetter -
#process_thread_group_order=(val : Int)
Property
#process_thread_group_ordersetter -
#process_thread_messages
Property
#process_thread_messagesgetter -
#process_thread_messages=(val : Int)
Property
#process_thread_messagessetter -
#processing? : Bool
Predicate alias for
#is_processing -
#processing_input? : Bool
Predicate alias for
#is_processing_input -
#processing_internal? : Bool
Predicate alias for
#is_processing_internal -
#processing_shortcut_input? : Bool
Predicate alias for
#is_processing_shortcut_input -
#processing_unhandled_input? : Bool
Predicate alias for
#is_processing_unhandled_input -
#processing_unhandled_key_input? : Bool
Predicate alias for
#is_processing_unhandled_key_input - #propagate_call(method : String, args : Pointer(Void), parent_first : Bool = false) : Void
- #propagate_notification(what : Int64) : Void
- #queue_accessibility_update : Void
-
#queue_free : Void
Deallocates node cleanly at frame end on the Main Thread.
- #ready : Godot::TypedSignal()
-
#remove_child(node : Node) : Void
Removes a child node.
- #remove_from_group(group : String) : Void
-
#remove_from_tree : Void
Removes this node from its parent if currently inside a parent hierarchy.
- #renamed : Godot::TypedSignal()
-
#reparent(new_parent : Node, keep_global_transform : Bool = true) : Void
Reparents this node to a new parent.
-
#replace_by(node : Node, keep_groups : Bool = false) : Void
Replaces this node with another node in the tree.
- #replacing_by : Godot::TypedSignal(Node)
- #request_ready : Void
- #reset_physics_interpolation : Void
-
#rpc(method : String | Symbol, *args) : Godot::Error
Calls an RPC method on this node across the multiplayer network.
- #rpc_config(method : String, config : Pointer(Void)) : Void
-
#rpc_id(peer_id : Int32 | Int64, method : String | Symbol, *args) : Godot::Error
Calls an RPC method on a specific peer ID across the multiplayer network.
-
#safe_queue_free : Void
Safe queue free that checks alive? before dispatching
-
#scene_file_path
Property
#scene_file_pathgetter -
#scene_file_path=(val)
Property
#scene_file_pathsetter - #set_auto_translate_mode(mode : AutoTranslateMode | Int) : Void
- #set_deferred_thread_group(property : String, value : Pointer(Void)) : Void
- #set_display_folded(fold : Bool) : Void
- #set_editable_instance(node : Node, is_editable : Bool) : Void
- #set_editor_description(editor_description : String) : Void
- #set_multiplayer_authority(id : Int64, recursive : Bool = true) : Void
-
#set_name(name : String) : Void
Sets the name of the node safely via dynamic reflection
- #set_owner(owner : Node) : Void
- #set_physics_interpolation_mode(mode : PhysicsInterpolationMode | Int) : Void
- #set_physics_process(enable : Bool) : Void
- #set_physics_process_internal(enable : Bool) : Void
- #set_physics_process_priority(priority : Int64) : Void
- #set_process(enable : Bool) : Void
- #set_process_input(enable : Bool) : Void
- #set_process_internal(enable : Bool) : Void
- #set_process_mode(mode : ProcessMode | Int) : Void
- #set_process_priority(priority : Int64) : Void
- #set_process_shortcut_input(enable : Bool) : Void
- #set_process_thread_group(mode : ProcessThreadGroup | Int) : Void
- #set_process_thread_group_order(order : Int64) : Void
- #set_process_thread_messages(flags : ProcessThreadMessages | Int) : Void
- #set_process_unhandled_input(enable : Bool) : Void
- #set_process_unhandled_key_input(enable : Bool) : Void
- #set_scene_file_path(scene_file_path : String) : Void
- #set_scene_instance_load_placeholder(load_placeholder : Bool) : Void
- #set_thread_safe(property : String, value : Pointer(Void)) : Void
- #set_translation_domain_inherited : Void
- #set_unique_name_in_owner(enable : Bool) : Void
- #tree_entered : Godot::TypedSignal()
- #tree_exited : Godot::TypedSignal()
- #tree_exiting : Godot::TypedSignal()
-
#unique_as(name : String | NodePath, type : T.class) : T forall T
Shorthand for retrieving a scene unique node cast to type
T -
#unique_as?(name : String | NodePath, type : T.class) : T | Nil forall T
Safe shorthand for retrieving a scene unique node cast to type
T, or nil if not found or type mismatch -
#unique_name_in_owner
Property
#unique_name_in_ownergetter -
#unique_name_in_owner=(val)
Property
#unique_name_in_ownersetter -
#unique_name_in_owner? : Bool
Predicate alias for
#is_unique_name_in_owner - #update_configuration_warnings : Void
-
#with_context(&)
Executes block with this node as the active NodeContext
Instance methods inherited from class Godot::Object
==(other : Godot::Object) : Bool==(other : Nil) : Bool ==, _enter_tree : Void _enter_tree, _exit_tree : Void _exit_tree, _godot_call_tool_button(button_name : String) : Void _godot_call_tool_button, _godot_call_virtual(method_name : String, delta : Float64) : Void _godot_call_virtual, _godot_call_virtual_with_data(method_name : String, args : Pointer(Pointer(Void)), ret : Pointer(Void)) : Void _godot_call_virtual_with_data, _godot_get_property(prop_name : String, ret_ptr : Pointer(Void)) : Void _godot_get_property, _godot_set_property(prop_name : String, val_ptr : Pointer(Void)) : Void _godot_set_property, _physics_process(delta : Float64) : Void _physics_process, _process(delta : Float64) : Void _process, _ready : Void _ready, add_user_signal(signal : String, arguments : Pointer(Void)) : Void add_user_signal, alive? : Bool alive?, await_signal(signal_name : String, timeout_sec : Float64 | Nil = nil) : Array(Variant) await_signal, blocking_signals? : Bool blocking_signals?, call(method : String, *args) : Pointer(Void) call, call_bool(method : String, *args) : Bool call_bool, call_deferred(method : String, *args) : Pointer(Void) call_deferred, call_f64(method : String, *args) : Float64 call_f64, call_i64(method : String, *args) : Int64 call_i64, call_obj(method : String, *args) : Node | Nil call_obj, call_obj_as(type : T.class, method : String, *args) : T | Nil forall T call_obj_as, call_str(method : String, *args) : String call_str, callv(method : String, arg_array : Pointer(Void)) : Pointer(Void) callv, can_translate_messages : Bool can_translate_messages, can_translate_messages? : Bool can_translate_messages?, cancel_free : Void cancel_free, check_alive! : Void check_alive!, class?(godot_class : String) : Bool class?, connect(signal_name : String, flags : Godot::ConnectFlags = ::Godot::ConnectFlags::None, callback : Proc(Array(Variant), Void) | Nil = nil) : SignalSubscription
connect(signal_name : String, flags : Godot::ConnectFlags = ::Godot::ConnectFlags::None, &block : Array(Variant) -> Void) : SignalSubscription
connect(signal_name : Symbol, flags : Godot::ConnectFlags = ::Godot::ConnectFlags::None, &block : Array(Variant) -> Void) : SignalSubscription
connect(signal_name : String, listener_target : Godot::Object, method_name : Symbol, flags : Godot::ConnectFlags = ::Godot::ConnectFlags::None) : SignalSubscription
connect(signal : String, callable : Pointer(Void), flags : Int64 = 0_i64) : Godot::Error connect, connect_one_shot(signal_name : String, &block : Array(Variant) -> Void) : SignalSubscription connect_one_shot, connected?(signal : String, callable : Pointer(Void)) : Bool connected?, destroy : Void destroy, destroyed? : Bool destroyed?, disconnect(signal : String, callable : Pointer(Void)) : Void
disconnect(signal_name : String) : Void disconnect, editor_hint? : Bool editor_hint?, emit_property_list_changed : Void emit_property_list_changed, emit_script_changed : Void emit_script_changed, emit_signal(name : String) : Void
emit_signal(name : String, *args) : Void emit_signal, explicitly_freed? : Bool explicitly_freed?, free : Void free, get(property : String) : Pointer(Void) get, get_class : String get_class, get_incoming_connections : Pointer(Void) get_incoming_connections, get_indexed(property_path : NodePath | String) : Pointer(Void) get_indexed, get_instance_id : Int64 get_instance_id, get_meta(name : String, default : Pointer(Void) | Nil = nil) : Pointer(Void) get_meta, get_meta_list : Pointer(Void) get_meta_list, get_method_argument_count(method : String) : Int64 get_method_argument_count, get_method_list : Pointer(Void) get_method_list, get_property_list : Pointer(Void) get_property_list, get_script : Pointer(Void) get_script, get_signal_connection_list(signal : String) : Pointer(Void) get_signal_connection_list, get_signal_list : Pointer(Void) get_signal_list, get_translation_domain : String get_translation_domain, has_connections(signal : String) : Bool has_connections, has_connections?(signal : String) : Bool has_connections?, has_meta(name : String) : Bool has_meta, has_meta?(name : String) : Bool has_meta?, has_method(method : String) : Bool has_method, has_method?(method : String) : Bool has_method?, has_signal(signal : String) : Bool has_signal, has_signal?(signal_name : String) : Bool has_signal?, has_user_signal(signal : String) : Bool has_user_signal, has_user_signal?(signal : String) : Bool has_user_signal?, hash(hasher) hash, if_alive : self | Nil if_alive, instance_id : UInt64 instance_id, is_blocking_signals : Bool is_blocking_signals, is_blocking_signals? : Bool is_blocking_signals?, is_class(godot_class : String) : Bool is_class, is_class?(godot_class : String) : Bool is_class?, is_connected(signal : String, callable : Pointer(Void)) : Bool is_connected, is_connected?(signal : String, callable : Pointer(Void)) : Bool is_connected?, is_queued_for_deletion : Bool is_queued_for_deletion, is_queued_for_deletion? : Bool is_queued_for_deletion?, is_valid? : Bool is_valid?, link_class_script : Void link_class_script, notification(what : Int64, reversed : Bool = false) : Void notification, notify_property_list_changed : Void notify_property_list_changed, pointer : Pointer(Void) pointer, pointer=(val : Pointer(Void)) pointer=, print(*args) print, printerr(*args) printerr, property_can_revert(property : String) : Bool property_can_revert, property_can_revert?(property : String) : Bool property_can_revert?, property_get_revert(property : String) : Pointer(Void) property_get_revert, property_list_changed : Godot::TypedSignal() property_list_changed, puts(*args) puts, queued_for_deletion? : Bool queued_for_deletion?, remove_meta(name : String) : Void remove_meta, remove_user_signal(signal : String) : Void remove_user_signal, script_changed : Godot::TypedSignal() script_changed, set(property : String, value : Pointer(Void)) : Void set, set_block_signals(enable : Bool) : Void set_block_signals, set_deferred(property : String, value : Pointer(Void)) : Void set_deferred, set_indexed(property_path : NodePath | String, value : Pointer(Void)) : Void set_indexed, set_message_translation(enable : Bool) : Void set_message_translation, set_meta(name : String, value : Pointer(Void)) : Void set_meta, set_script(script : Pointer(Void)) : Void set_script, set_translation_domain(domain : String) : Void set_translation_domain, signal(name : String) : Godot::BoundSignal
signal(sym : Symbol) : Godot::BoundSignal signal, signal_connection_count(signal_name : String) : Int32 signal_connection_count, signal_target_id : UInt64 signal_target_id, to_s(io : IO) : Void to_s, to_string : String to_string, to_unsafe : Pointer(Void) to_unsafe, tr(message : String, context : String = "") : String tr, tr_n(message : String, plural_message : String, n : Int64, context : String = "") : String tr_n
Constructor methods inherited from class Godot::Object
new(pointer : Pointer(Void) = Pointer(Void).null)
new
Class methods inherited from class Godot::Object
_godot_has_virtual_method(method_name : String) : Bool
_godot_has_virtual_method,
find_script_path_for_class(target_cls : String) : String
find_script_path_for_class,
is_instance_id_valid(id : Int | UInt64) : Bool
is_instance_id_valid
Constructor Detail
Class unary ~ returns typed instance looked up from active NodeContext (by name first, then searching children)
Class Method Detail
Decomposes a raw path string, stripping leading '$' and extracting unique root prefix if present. Returns {is_unique, root_name, subpath}
Instance Method Detail
Scene Unique Node operator (mirrors GDScript %): node % "HealthBar"
Path traversal operator: node / "Camera3D" or node / node_path!("Camera3D")
Typed path lookup: self["Visuals/Sprite2D", Sprite2D]
Flexible type-first overload: self[Sprite2D, "Visuals/Sprite2D"]
Indexer syntactic sugar for retrieving a child node by path (e.g. self["Camera3D"])
Type-inferred typed indexer: self[Sprite2D] -> looks up "Sprite2D" cast to Sprite2D
Safe typed path lookup: self["Visuals/Sprite2D", Sprite2D]?
Safe flexible type-first overload: self[Sprite2D, "Visuals/Sprite2D"]?
Safe indexer returning nil if node not found (e.g. self["Camera3D"]?)
Safe type-inferred indexer: self[Sprite2D]? -> returns Sprite2D? or nil if not found
Fixed-rate physics process callback receiving delta timestep in seconds (Float64).
Per-frame process callback receiving delta timestep in seconds (Float64).
Adds a child node. Falls back to local children array when running standalone. Enforces thread-safety: off-thread calls raise ThreadAffinityError when attached to SceneTree.
Adds a sibling node to the parent of this node. Enforces thread-safety: off-thread calls raise ThreadAffinityError when attached to SceneTree.
Adds this node to the specified group (with default non-persistent flag)
Removes and frees all child nodes under this node.
Explicit cross-thread helper that safely defers addition via Godot's MessageQueue
Explicit cross-thread helper that safely defers moving child via Godot's MessageQueue
Explicit cross-thread helper that safely queues deletion via Godot's MessageQueue
Explicit cross-thread helper that safely defers removal via Godot's MessageQueue
Explicit cross-thread helper that safely defers reparenting via Godot's MessageQueue
Yields each child node without allocating an intermediate array.
Finds an existing child node matching pattern.
Finds child node matching pattern, returning nil if not found
Finds child node matching pattern and casts to T, returning nil if not found
Retrieves child at specified index, or nil if not found
Retrieves child at specified index cast to type T, or nil if not found or not matching type
Returns an Array containing all child nodes belonging to this node.
Returns all children of this node matching or cast to type T.
Retrieves a child or sibling node by NodePath string. Returns the Node if found, or produces an error if the node does not exist.
Retrieves a child or sibling node by NodePath string, or returns nil if not found. Transparently supports leading '$', scene-unique '%' prefixes, and '%UniqueRoot/sub/path' traversal.
Retrieves a child node cast to the specified Crystal class type T.
Returns the node cast to T, or produces an error if the node does not exist or cannot be cast.
Retrieves a child node cast to the specified Crystal class type T, or nil if not found or type mismatch.
Fetches a node by String path. Similar to #get_node, but returns nil if path does not point to a valid node.
Instance convenience delegator for static method #get_orphan_node_ids
Returns the parent node cast to T, or nil if parent is not of type T or is null
Predicate alias for #get_scene_instance_load_placeholder
Returns the scene unique node with name %unique_name cast to T
Returns true if this node belongs to the given node group.
Predicate alias for #is_physics_interpolated_and_enabled
Predicate alias for #is_processing_unhandled_key_input
Moves child node to a new index in the parent's child list. Enforces thread-safety: off-thread calls raise ThreadAffinityError when attached to SceneTree.
Shorthand for get_node_as?
Predicate alias for #is_physics_interpolated_and_enabled
Instance convenience delegator for static method #print_orphan_nodes
Deallocates node cleanly at frame end on the Main Thread. Enforces thread-safety: off-thread calls on SceneTree nodes either raise ThreadAffinityError or auto-defer.
Removes a child node. Falls back to local children array when running standalone. Enforces thread-safety: off-thread calls raise ThreadAffinityError when attached to SceneTree.
Removes this node from its parent if currently inside a parent hierarchy.
Reparents this node to a new parent. Enforces thread-safety: off-thread calls raise ThreadAffinityError when attached to SceneTree.
Replaces this node with another node in the tree. Enforces thread-safety: off-thread calls raise ThreadAffinityError when attached to SceneTree.
Calls an RPC method on this node across the multiplayer network.
Calls an RPC method on a specific peer ID across the multiplayer network.
Shorthand for retrieving a scene unique node cast to type T
Safe shorthand for retrieving a scene unique node cast to type T, or nil if not found or type mismatch