Skip to content

Rengy Script

A script is a component you write. Its fields show up in the Inspector like any other component's, and its hooks run when things happen to the node it is on.

rgs flicker.rgs
/// A lamp that will not hold steady.
component Flicker {
    /// How far the lamp dips at its lowest.
    #[range(0.0..1.0)]
    depth: f32 = 0.35,

    fn loop(dt: f32) {
        set_number("LightComponent", "intensity", 1.0 - depth);
    }
}

Pick a base

component Name : Base decides which hooks a script may declare. Leave the base off for a plain node.

Call built-in functions

All 131 of them, grouped by what they act on, plus what await can wait for.

Use a value type