1trait Damageable:2 signal damaged(amount: int)3 func apply_damage(amount: int) -> void45class Crate:6 uses Damageable78 var hp: int = 3910 func apply_damage(amount: int) -> void:11 hp -= amount12 damaged.emit(amount)Tuples
Lightweight fixed-size values with named fields, destructuring, and match patterns.
Traits
Interface-plus-mixin capabilities with required methods and default implementations.
Generics
Type-parameterized classes and functions with constraints and call-site inference.
Function Overloading
Multiple definitions with the same name, resolved by best type fit at call sites.
Payload Enums
Tagged unions where each case carries its own data with destructuring in match patterns.
Builder Constructors
Inline node tree construction with control flow and automatic add_child() calls.
Frequently Asked Questions
Ruzta is a scripting language for Godot that provides familiar syntax similar to GDScript while adding modern features like tuples, generics, traits, function overloading, payload enums, and builder constructors. It ships as a GDExtension and uses `.rz` file extensions.