Patch nodes
203 nodes in 24 categories. Nodes marked * still work in existing graphs, but you can no longer add them from the palette.
A node is one of four kinds:
- an event node starts the graph;
- a control node decides where the flow goes (branch, loop, gate);
- an effect node does something and passes the pulse on;
- a data node is just a value.
See Patches.
animation
| Node | What it does | Kind | Inputs | Outputs |
|---|---|---|---|---|
animate | Runs a built-in animation step. | effect | target:object, params:any, exec:pulse | then:pulse |
appearance
| Node | What it does | Kind | Inputs | Outputs |
|---|---|---|---|---|
set_color | Sets the colour on every material slot at once. | effect | object:object, color:color, exec:pulse | then:pulse |
audio
| Node | What it does | Kind | Inputs | Outputs |
|---|---|---|---|---|
play_sound | Plays a sound once. Each call plays its own sound, so sounds never cut each other off. | effect | object:object, volume:number, exec:pulse | then:pulse |
code
| Node | What it does | Kind | Inputs | Outputs |
|---|---|---|---|---|
action | JavaScript statements that run in the flow. | effect | a:any, b:any, c:any, d:any, exec:pulse | then:pulse |
expression | A JavaScript expression, for anything no node covers. | data | a:any, b:any, c:any, d:any | result:any |
components
| Node | What it does | Kind | Inputs | Outputs |
|---|---|---|---|---|
get_anchor | Reads a scene’s trigger settings. | data | object:object | isMain:boolean, preload:boolean, imageId:string, physicalWidth:number, physicalHeight:number, showHints:boolean, holdOnLost:boolean, text:string, physicalSize:number, latitude:number, longitude:number, anchorPoint:string, faceGrid:boolean, faceTextureId:string, fillEyes:boolean, fillMouth:boolean, flipTexture:boolean, bodyPoint:string, poseModel:string, bindingType:string, recognitionAlgorithm:string, providerIos:string, providerAndroid:string, vps:boolean, locationIds:any, placementMove:boolean, placementRotate:boolean, placementScale:boolean, cameraId:string, vr:boolean, vrStereo:boolean, vrDistance:number, vrHeight:number, vrScale:number |
get_audio | Reads a sound’s settings. | data | object:object | audio:string, volume:number, play:boolean, loop:boolean, muted:boolean, positional:boolean, position:number |
get_collider | Reads the collision shape. | data | object:object | halfExtents:vector, radius:number, radiusTop:number, radiusBottom:number, height:number, segments:number |
get_geometry | Reads the shape and its size. | data | object:object | width:number, height:number, depth:number, widthSegments:number, heightSegments:number, depthSegments:number, cornerRadius:number, cornerSegments:number, radius:number, phiStart:number, phiLength:number, thetaStart:number, thetaLength:number, radiusTop:number, radiusBottom:number, radialSegments:number, openEnded:boolean, capSegments:number, segments:number, detail:number, innerRadius:number, outerRadius:number, thetaSegments:number, phiSegments:number, tube:number, tubularSegments:number, arc:number, points:any, bevelEnabled:boolean, bevelThickness:number, bevelSize:number, bevelSegments:number, referal:string |
get_initial_velocity | Reads the starting push. | data | object:object | velocity:vector, angularVelocity:vector |
get_instancer | Reads how copies are arranged. | data | object:object | maxCount:number, seed:number, scaleMin:number, scaleMax:number, rotationJitter:vector, colorA:color, colorB:color, countX:number, countY:number, countZ:number, spacing:vector, jitter:number, count:number, shape:string, extents:vector |
get_light | Reads a light’s colour and intensity. | data | object:object | color:color, intensity:number, castShadow:boolean, visible:boolean, shadowMapSize:number, shadowBias:number, shadowNormalBias:number, shadowSoftness:number, shadowIntensity:number, shadowArea:number, distance:number, decay:number, angle:number, penumbra:number, groundColor:color |
get_look_at | Reads the look-at target. | data | object:object | target:vector, offset:vector |
get_material | Reads the first material slot. | data | object:object | materials:any |
get_meta | Reads the name, and whether the object is enabled and visible. | data | object:object | name:string, type:string, sort:number, enabled:boolean, visible:boolean, isMain:boolean |
get_model_ref | Reads which model and clip are playing. | data | object:object | referal:string, clip:string, speed:number, repeatMode:string, repeatCount:number, startFrame:number, stopWhenPressed:boolean, playing:boolean |
get_parent | Reads which object this one is inside. | data | object:object | parent:string, order:number, lock:boolean |
get_particle_emitter | Reads the particle emitter settings. | data | object:object | emitting:boolean, count:number, lifetime:number, shape:string, radius:number, extents:vector, angle:number, speedMin:number, speedMax:number, gravity:vector, drag:number, turbulence:number, sizeStart:number, sizeEnd:number, sizeJitter:number, spin:number, colorStart:color, colorEnd:color, opacityStart:number, opacityEnd:number, sprite:string, blending:string, seed:number |
get_physics_state | Reads the current speed and whether the body is asleep. Read-only. | data | object:object | velocity:vector, angularVelocity:vector, speed:number, sleeping:boolean |
get_rigid_body | Reads the physics body settings. | data | object:object | type:string, mass:number, linearDamping:number, angularDamping:number, fixedRotation:boolean, friction:number, restitution:number, network:string |
get_script | Reads a script component’s settings. | data | object:object | referal:string, enabled:boolean, props:any |
get_shadow | Reads the shadow settings. | data | object:object | castShadow:boolean, receiveShadow:boolean |
get_states | Reads which state is active. | data | object:object | states:any, activeStateId:string |
get_temporal_state | Reads the animation preset. | data | object:object | presets:any, activePresetId:string |
get_text | Reads the text and its look. | data | object:object | font:string, fontStyle:string, text:string, fontWeight:string, fontSize:number, width:number, height:number, textAlign:string, verticalAlign:string, color:any, lineHeight:number, letterSpacing:number, anchorToAlign:boolean, ranges:any |
get_transform | Reads position, rotation and scale. Rotation is in degrees. | data | object:object | position:vector, rotation:vector, scale:vector, lock:boolean |
get_video | Reads a video’s settings. | data | object:object | video:string, volume:number, play:boolean, loop:boolean, muted:boolean, positional:boolean, position:number |
set_anchor | Changes a scene’s trigger settings. | effect | object:object, isMain:boolean, preload:boolean, imageId:string, physicalWidth:number, physicalHeight:number, showHints:boolean, holdOnLost:boolean, text:string, physicalSize:number, latitude:number, longitude:number, anchorPoint:string, faceGrid:boolean, faceTextureId:string, fillEyes:boolean, fillMouth:boolean, flipTexture:boolean, bodyPoint:string, poseModel:string, bindingType:string, recognitionAlgorithm:string, providerIos:string, providerAndroid:string, vps:boolean, locationIds:any, placementMove:boolean, placementRotate:boolean, placementScale:boolean, cameraId:string, vr:boolean, vrStereo:boolean, vrDistance:number, vrHeight:number, vrScale:number, exec:pulse | then:pulse |
set_audio | Plays or pauses a sound, or changes its volume. | effect | object:object, audio:string, volume:number, play:boolean, loop:boolean, muted:boolean, positional:boolean, position:number, exec:pulse | then:pulse |
set_collider | Changes the collision shape. | effect | object:object, halfExtents:vector, radius:number, radiusTop:number, radiusBottom:number, height:number, segments:number, exec:pulse | then:pulse |
set_geometry | Changes the shape and its size. | effect | object:object, width:number, height:number, depth:number, widthSegments:number, heightSegments:number, depthSegments:number, cornerRadius:number, cornerSegments:number, radius:number, phiStart:number, phiLength:number, thetaStart:number, thetaLength:number, radiusTop:number, radiusBottom:number, radialSegments:number, openEnded:boolean, capSegments:number, segments:number, detail:number, innerRadius:number, outerRadius:number, thetaSegments:number, phiSegments:number, tube:number, tubularSegments:number, arc:number, points:any, bevelEnabled:boolean, bevelThickness:number, bevelSize:number, bevelSegments:number, referal:string, exec:pulse | then:pulse |
set_initial_velocity | Changes the starting push. | effect | object:object, velocity:vector, angularVelocity:vector, exec:pulse | then:pulse |
set_instancer | Changes the number of copies, their spacing or spread. | effect | object:object, maxCount:number, seed:number, scaleMin:number, scaleMax:number, rotationJitter:vector, colorA:color, colorB:color, countX:number, countY:number, countZ:number, spacing:vector, jitter:number, count:number, shape:string, extents:vector, exec:pulse | then:pulse |
set_light | Changes a light’s colour and intensity, to dim it or shift its colour. | effect | object:object, color:color, intensity:number, castShadow:boolean, visible:boolean, shadowMapSize:number, shadowBias:number, shadowNormalBias:number, shadowSoftness:number, shadowIntensity:number, shadowArea:number, distance:number, decay:number, angle:number, penumbra:number, groundColor:color, exec:pulse | then:pulse |
set_look_at | Points an object at something. | effect | object:object, target:vector, offset:vector, exec:pulse | then:pulse |
set_material | Changes the first material slot: colour, opacity, roughness and more. | effect | object:object, materials:any, exec:pulse | then:pulse |
set_meta | Shows, hides, enables or disables an object. | effect | object:object, name:string, type:string, sort:number, enabled:boolean, visible:boolean, isMain:boolean, exec:pulse | then:pulse |
set_model_ref | Switches model, clip, speed or looping. | effect | object:object, referal:string, clip:string, speed:number, repeatMode:string, repeatCount:number, startFrame:number, stopWhenPressed:boolean, playing:boolean, exec:pulse | then:pulse |
set_parent | Moves an object inside another object. | effect | object:object, parent:string, order:number, lock:boolean, exec:pulse | then:pulse |
set_particle_emitter | Changes the particle emitter settings: start or stop an effect, or adjust it while it runs. | effect | object:object, emitting:boolean, count:number, lifetime:number, shape:string, radius:number, extents:vector, angle:number, speedMin:number, speedMax:number, gravity:vector, drag:number, turbulence:number, sizeStart:number, sizeEnd:number, sizeJitter:number, spin:number, colorStart:color, colorEnd:color, opacityStart:number, opacityEnd:number, sprite:string, blending:string, seed:number, exec:pulse | then:pulse |
set_rigid_body | Changes mass, damping or body type. | effect | object:object, type:string, mass:number, linearDamping:number, angularDamping:number, fixedRotation:boolean, friction:number, restitution:number, network:string, exec:pulse | then:pulse |
set_script | Enables, disables or changes the settings of a script component. | effect | object:object, referal:string, enabled:boolean, props:any, exec:pulse | then:pulse |
set_shadow | Turns casting and receiving shadows on or off. | effect | object:object, castShadow:boolean, receiveShadow:boolean, exec:pulse | then:pulse |
set_states | Switches to another state. | effect | object:object, states:any, activeStateId:string, exec:pulse | then:pulse |
set_temporal_state | Switches the animation preset. | effect | object:object, presets:any, activePresetId:string, exec:pulse | then:pulse |
set_text | Changes what a text object says. | effect | object:object, font:string, fontStyle:string, text:string, fontWeight:string, fontSize:number, width:number, height:number, textAlign:string, verticalAlign:string, color:any, lineHeight:number, letterSpacing:number, anchorToAlign:boolean, ranges:any, exec:pulse | then:pulse |
set_transform | Changes position, rotation and scale. Only the inputs you connect are changed. | effect | object:object, position:vector, rotation:vector, scale:vector, lock:boolean, exec:pulse | then:pulse |
set_video | Plays, pauses or seeks a video. | effect | object:object, video:string, volume:number, play:boolean, loop:boolean, muted:boolean, positional:boolean, position:number, exec:pulse | then:pulse |
data
| Node | What it does | Kind | Inputs | Outputs |
|---|---|---|---|---|
boolean | True or false. | data | — | value:boolean |
color | A colour. | data | — | value:color |
number | A number you type in. | data | — | value:number |
pi | The number π, for working with angles. | data | — | value:number |
text | A piece of text. | data | — | value:string |
vector | Three numbers: x, y and z. | data | x:number, y:number, z:number | value:vector |
entities
| Node | What it does | Kind | Inputs | Outputs |
|---|---|---|---|---|
find_by_name * | Finds an object by name. | data | name:string | object:object |
get_by_id * | Finds an object by id. | data | id:string | object:object |
get_entity | Refers to an object: this one, the scene, or one found by name or id. | data | query:string | object:object |
scene * | The scene this graph belongs to. | data | — | object:object |
self * | This object. | data | — | object:object |
events
| Node | What it does | Kind | Inputs | Outputs |
|---|---|---|---|---|
on_blur | The cursor left this object. | event (on-blur) | — | pulse:pulse |
on_click | This object was tapped or clicked. | event (on-click) | — | pulse:pulse |
on_collide | Something touched this object. other is what hit it. | event (on-collide) | — | pulse:pulse, other:object |
on_detect | The marker or surface was found. | event (on-detect) | — | pulse:pulse |
on_divkit_action | A button on a UI card was pressed. | event (on-divkit-action) | — | pulse:pulse, id:string |
on_drag | Placed AR content is being dragged. | event (on-drag) | — | pulse:pulse, dx:number, dy:number |
on_frame | Fires every frame, with the time since the last frame. Use it for anything that changes over time. | event (frame) | — | pulse:pulse, dt:number, time:number |
on_game_control | The character controller changed state: idle, moving, running or jumping. | event (on-game-control) | — | pulse:pulse, state:string |
on_hover | The cursor moved onto this object. | event (on-hover) | — | pulse:pulse |
on_key_down | A key was pressed. key tells you which one. | event (on-keydown) | — | pulse:pulse, key:string |
on_key_up | A key was released. | event (on-keyup) | — | pulse:pulse, key:string |
on_launch | Fires when the scene starts. Most graphs begin here. | event (launch) | — | pulse:pulse |
on_lost | Tracking was lost. | event (on-lost) | — | pulse:pulse |
on_mouse_down | A pointer button was pressed on this object. | event (on-mousedown) | — | pulse:pulse |
on_mouse_up | A pointer button was released on this object. | event (on-mouseup) | — | pulse:pulse |
on_pause | The app or tab went to the background. | event (on-pause) | — | pulse:pulse |
on_pinch | Placed AR content is being pinched. | event (on-pinch) | — | pulse:pulse, scale:number |
on_placed | The visitor placed the content on a surface. | event (on-placed) | — | pulse:pulse |
on_pointer_lock | The pointer was captured or released. | event (on-pointer-lock) | — | pulse:pulse, locked:boolean |
on_pointer_move | The pointer moved. Gives how far it moved, for look controls. | event (on-pointer-move) | — | pulse:pulse, dx:number, dy:number, deltaYaw:number, deltaPitch:number |
on_resize | The view changed size. | event (on-resize) | — | pulse:pulse |
on_resume | The app or tab came back from the background. | event (on-resume) | — | pulse:pulse |
on_rotate | Placed AR content is being twisted. | event (on-rotate) | — | pulse:pulse, angle:number |
on_scroll | The mouse wheel turned. | event (on-scroll) | — | pulse:pulse |
on_state_active | This object entered a state. | event (on-state-active) | — | pulse:pulse |
on_state_inactive | This object left a state. | event (on-state-inactive) | — | pulse:pulse |
on_vps_error | Positioning against a real-world map could not run. | event (on-vps-error) | — | pulse:pulse |
on_vps_localized | The visitor’s real position was found. | event (on-vps-localized) | — | pulse:pulse |
on_vps_not_localized | The visitor’s real position was not found. This is normal while they look around. | event (on-vps-not-localized) | — | pulse:pulse |
on_vps_ready | Positioning against a real-world map has started. | event (on-vps-ready) | — | pulse:pulse |
flow
| Node | What it does | Kind | Inputs | Outputs |
|---|---|---|---|---|
branch | Takes one path or the other, based on a condition. | control (branch) | exec:pulse, condition:boolean | true:pulse, false:pulse |
delay | Waits, then continues. | control (delay) | exec:pulse, dt:number, seconds:number | then:pulse |
emit_event | Sends a trigger from this object. Events and scripts can react to it. | effect | event:string, exec:pulse | then:pulse |
for_each | Runs the body once for each item in a list. | control (for_each) | exec:pulse, list:any | loop:pulse, item:any, index:number, then:pulse |
gate | Lets the pulse through only while a condition is true. | control (gate) | exec:pulse, open:boolean | then:pulse |
once | Lets the pulse through the first time only. | control (once) | exec:pulse | then:pulse |
open_scene | Switches to another scene. | effect | scene:string, exec:pulse | then:pulse |
open_space | Switches to another space. | effect | space:string, exec:pulse | then:pulse |
repeat | Runs the body a set number of times. | control (repeat) | exec:pulse, count:number | loop:pulse, index:number, then:pulse |
sequence | Runs several chains in a set order. | effect | exec:pulse | first:pulse, second:pulse, third:pulse |
functions
| Node | What it does | Kind | Inputs | Outputs |
|---|---|---|---|---|
call_patch | Runs another patch, so you can reuse a graph. | data | — | — |
call_script | Calls a function exported by a script. | data | value:number | result:number |
globals
| Node | What it does | Kind | Inputs | Outputs |
|---|---|---|---|---|
get_global | Reads a shared value. | data | — | value:number |
on_global_change | Fires when a shared value changes. | event (global) | — | pulse:pulse, value:number |
set_global | Stores a value shared with every graph, script and event. | effect | value:number, exec:pulse | then:pulse |
io
| Node | What it does | Kind | Inputs | Outputs |
|---|---|---|---|---|
patch_input | An input on this patch, used when another patch calls it. | data | — | value:number |
patch_output | An output on this patch, used when another patch calls it. | data | value:number | — |
lifecycle
| Node | What it does | Kind | Inputs | Outputs |
|---|---|---|---|---|
create_entity | Makes a new, empty object. | effect | name:string, parent:object, exec:pulse | then:pulse, object:object |
destroy | Removes an object. | effect | object:object, exec:pulse | then:pulse |
spawn | Makes an object from a resource: a model, an image or a sound. | effect | resource:string, parent:object, exec:pulse | then:pulse, object:object |
list
| Node | What it does | Kind | Inputs | Outputs |
|---|---|---|---|---|
list | Builds a list from its inputs. Drag the handle to add more slots. | data | a:any, b:any, c:any, d:any | value:any |
list_get | The item at an index. | data | list:any, index:number | item:any |
list_length | How many items the list has. | data | list:any | result:number |
list_push | Adds an item to the end of a list. | data | list:any, item:any | result:any |
logic
| Node | What it does | Kind | Inputs | Outputs |
|---|---|---|---|---|
and | True when both inputs are true. | data | a:boolean, b:boolean | result:boolean |
equals | True when the two inputs match. | data | a:number, b:number | result:boolean |
greater_or_equal | True when the first is larger or the same. | data | a:number, b:number | result:boolean |
greater_than | True when the first is larger. | data | a:number, b:number | result:boolean |
if_else | Picks one of two values based on a condition. Like branch, but for values. | data | condition:boolean, then:number, else:number | result:number |
less_or_equal | True when the first is smaller or the same. | data | a:number, b:number | result:boolean |
less_than | True when the first is smaller. | data | a:number, b:number | result:boolean |
not | Turns true into false, and false into true. | data | value:boolean | result:boolean |
not_equal | True when the two inputs differ. | data | a:number, b:number | result:boolean |
or | True when at least one input is true. | data | a:boolean, b:boolean | result:boolean |
same | True when two objects are the same object. | data | a:any, b:any | result:boolean |
select | Picks one value from several by its index. | data | condition:boolean, then:any, else:any | result:any |
math
| Node | What it does | Kind | Inputs | Outputs |
|---|---|---|---|---|
abs | Removes the minus sign. | data | value:number | result:number |
acos | Inverse cosine. | data | value:number | result:number |
add | Adds. | data | a:number, b:number | result:number |
asin | Inverse sine. | data | value:number | result:number |
atan | Inverse tangent. | data | value:number | result:number |
atan2 | The angle to a point, in any direction. Use it to aim at something. | data | a:number, b:number | result:number |
ceil | Rounds up. | data | value:number | result:number |
clamp | Keeps a value inside a range. | data | value:number, min:number, max:number | result:number |
cos | Cosine. | data | value:number | result:number |
deg_to_rad | Degrees to radians. | data | value:number | result:number |
divide | Divides. | data | a:number, b:number | result:number |
exp | e to the power of the input. | data | value:number | result:number |
floor | Rounds down. | data | value:number | result:number |
lerp | Blends between two values: 0 gives the first, 1 gives the second. | data | a:number, b:number, t:number | result:number |
log | Natural logarithm. | data | value:number | result:number |
max | The larger of two. | data | a:number, b:number | result:number |
min | The smaller of two. | data | a:number, b:number | result:number |
modulo | The remainder after division. Use it to make a value wrap around. | data | a:number, b:number | result:number |
multiply | Multiplies. | data | a:number, b:number | result:number |
power | Raises to a power. | data | a:number, b:number | result:number |
rad_to_deg | Radians to degrees. | data | value:number | result:number |
random | A random number in a range. | data | min:number, max:number | value:number |
remap | Converts a value from one range to another. | data | value:number, inMin:number, inMax:number, outMin:number, outMax:number | result:number |
round | Rounds to nearest. | data | value:number | result:number |
sign | Gives −1, 0 or 1. | data | value:number | result:number |
sin | Sine. Use it for anything that swings back and forth. | data | value:number | result:number |
sqrt | Square root. | data | value:number | result:number |
subtract | Subtracts. | data | a:number, b:number | result:number |
tan | Tangent. | data | value:number | result:number |
messaging
| Node | What it does | Kind | Inputs | Outputs |
|---|---|---|---|---|
on_message | Receives a named message. | event (message) | — | pulse:pulse, payload:object |
post_message | Sends a named message to anything listening. | effect | payload:object, exec:pulse | then:pulse |
net
| Node | What it does | Kind | Inputs | Outputs |
|---|---|---|---|---|
net_connected | True when a room is actually open. | data | — | value:boolean |
net_despawn | Removes a shared object for everyone. | effect | id:string, exec:pulse | then:pulse |
net_id | This person’s id. Use it as the key for their own state. | data | — | value:string |
net_peer_count | How many people are in the room. | data | — | value:number |
net_peers | Everyone in the room right now. | data | — | value:any |
net_send | Sends a message to everyone else in the room. | effect | data:any, exec:pulse | then:pulse |
net_spawn | Creates an object on everyone’s screen. | effect | resource:string, position:vector, rotation:vector, exec:pulse | then:pulse, id:string |
net_state_get | Reads from the shared state. | data | — | value:any |
net_state_set | Writes to the shared state that everyone can read. | effect | value:any, exec:pulse | then:pulse |
on_net_join | Someone joined the room. | event (net-join) | — | pulse:pulse, peer:string |
on_net_leave | Someone left the room. | event (net-leave) | — | pulse:pulse, peer:string |
on_net_message | Receives a message from someone in the room. | event (net) | — | pulse:pulse, data:any, from:string |
on_net_state | Fires when a shared value changes. | event (net-state) | — | pulse:pulse, value:any |
physics
| Node | What it does | Kind | Inputs | Outputs |
|---|---|---|---|---|
apply_force | A steady push while it runs, for thrust and wind. | effect | object:object, force:vector, exec:pulse | then:pulse |
apply_impulse | A single push, for jumps, hits and launches. | effect | object:object, force:vector, exec:pulse | then:pulse |
apply_torque | A twisting push. | effect | object:object, torque:vector, exec:pulse | then:pulse |
get_angular_velocity | How fast something is spinning. | data | object:object | value:vector |
get_speed | How fast something is moving, ignoring direction. | data | object:object | value:number |
get_velocity | How fast something is moving, and in which direction. | data | object:object | value:vector |
is_sleeping | True when a body has come to rest and physics has stopped moving it. | data | object:object | value:boolean |
raycast | Fires a ray and reports what it hit. | control (await) | from:vector, to:vector, ignore:object, exec:pulse | then:pulse, hit:boolean, object:object, point:vector, normal:vector, distance:number |
set_angular_velocity | Sets spin directly. | effect | object:object, velocity:vector, exec:pulse | then:pulse |
set_gravity | Changes gravity for the whole scene. | effect | gravity:vector, exec:pulse | then:pulse |
set_velocity | Sets speed and direction directly. | effect | object:object, velocity:vector, exec:pulse | then:pulse |
sleep_body | Puts a body to sleep. | effect | object:object, exec:pulse | then:pulse |
wake_body | Wakes up a body at rest. | effect | object:object, exec:pulse | then:pulse |
state
| Node | What it does | Kind | Inputs | Outputs |
|---|---|---|---|---|
counter | Counts pulses. Keeps its count from frame to frame. | effect | inc:pulse | then:pulse, count:number |
smooth | Moves a value a little closer to a target each frame. An easy way to make movement less stiff. | effect | tick:pulse, target:number, rate:number | then:pulse, value:number |
timer | Counts seconds while it runs. | effect | tick:pulse, add:number | then:pulse, time:number |
toggle | Switches between true and false on each pulse. | effect | exec:pulse | then:pulse, value:boolean |
string
| Node | What it does | Kind | Inputs | Outputs |
|---|---|---|---|---|
concat | Joins pieces of text together. | data | a:string, b:string | result:string |
string_length | How many characters the text has. | data | value:string | result:number |
to_number | Reads a number out of text. | data | value:string | result:number |
to_string | Turns a value into text, for labels and scores. | data | value:number | result:string |
ui
| Node | What it does | Kind | Inputs | Outputs |
|---|---|---|---|---|
get_divkit | Reads a variable from a UI card. | data | object:object | value:any |
set_divkit | Writes a variable to a UI card, for example to update a score or a label. | effect | object:object, value:any, exec:pulse | then:pulse |
variables
| Node | What it does | Kind | Inputs | Outputs |
|---|---|---|---|---|
get_variable | Reads a value stored for this graph. | data | — | value:any |
set_variable | Stores a value for this graph. | effect | value:any, exec:pulse | then:pulse |
vector
| Node | What it does | Kind | Inputs | Outputs |
|---|---|---|---|---|
vector_add | Adds two vectors. | data | a:vector, b:vector | result:vector |
vector_cross | Cross product: a direction at right angles to both. | data | a:vector, b:vector | result:vector |
vector_distance | The distance between two points. | data | a:vector, b:vector | result:number |
vector_dot | Dot product: how closely two directions match. Use it to tell "in front" from "behind". | data | a:vector, b:vector | result:number |
vector_length | How long the vector is. | data | v:vector | result:number |
vector_lerp | Blends between two positions. | data | a:vector, b:vector, t:number | result:vector |
vector_normalize | Keeps the direction and sets the length to 1. | data | v:vector | result:vector |
vector_scale | Multiplies a vector by a number. | data | v:vector, s:number | result:vector |
vector_subtract | Subtracts one vector from another. The result points from B to A. | data | a:vector, b:vector | result:vector |