Skip to main content

Reference

Every component, asset type and script module in the engine.

  • A component gives a node a capability: sprite, body3d, bone2d.
  • An asset type is a resource a component names: mesh, tileset.
  • A script module is a set of functions a script calls: http, physics3d.
  • A value type is a value a script does maths with: balaur::Vec2, balaur::Quat.

Components​

2D​

componentpropertieswhat it gives a node
body2d17A 2D rigid body simulated by rapier in the xy plane.
bone2d4Makes the node a 2D bone.
boolean2d1Draws the node as its 2D children combined by op.
camera2d15The orthographic camera a flat scene is drawn from.
character2d12A 2D character controller.
collider2d41The node's 2D collision shape, chosen by kind.
joint2d18Joins this node's body to body.
light2d5A 2D light at the node's position.
modifier2d16Poses 2D bones toward target after the clip runs.
occluder2d2The outline the node blocks 2D light with.
polygon5A filled, textured 2D polygon from the mesh asset's points and triangles.
shape2d21An untextured 2D primitive at the node.
softbody2d56A deformable 2D body.
sprite13A textured 2D quad at the node, sized by pixels_per_unit.
text2d19A block of text drawn in the 2D pass, pixels_per_unit font pixels per world unit.
tile_collision17Collision for the node's tilemap cells.
tilemap8A grid of tiles from one tileset asset, centred on the node.
touch_button9An on-screen button that presses an action while a finger is on it.
touch_stick11An on-screen stick that drives action_x and action_y from -1..1 while a thumb drags it.
transform4The node's position, rotation_euler, scale and skew in its parent's space.

3D​

componentpropertieswhat it gives a node
body3d18A 3D rigid body simulated by rapier.
bone3d4Makes the node a 3D bone.
boolean3d1Draws the node as its children combined by op: union, difference or intersection.
camera3d14The perspective camera the scene is drawn from.
character3d12A 3D character controller.
collider3d39The node's 3D collision shape, chosen by kind.
environment21The scene's atmosphere.
joint3d18Joins this node's body to body.
light3d8A 3D light placed and aimed by the node.
mesh63D geometry from the mesh asset in source, drawn at the node.
modifier3d16Poses bone3d nodes toward target after the clip runs.
reflection_probe5A box the room around it was captured inside.
shape3d14An untextured 3D primitive at the node, tinted by color.
softbody3d60A deformable 3D body.
text3d22A block of text drawn in the 3D pass on a quad, pixels_per_unit font pixels per world unit.
vehicle3d2Makes the node's body3d a raycast vehicle chassis.
wheel3d11One wheel of the vehicle3d above it.

Physics​

componentpropertieswhat it gives a node
ragdoll2Drives a rig's bones from the bodies that physics2d.ragdoll or physics3d.ragdoll built.

Rendering​

componentpropertieswhat it gives a node
cloner9Draws the node's subtree many times; physics and scripts still see one node.
material1source is the material asset this node and everything under it draw with.
particles14A visual-only 2D emitter at the node: rate, lifetime, speed, spread and gravity.

Animation​

componentpropertieswhat it gives a node
animation4Plays animation clips on the node.
state_machine4Runs the state_machine asset in machine over the player node's clips.

Audio​

componentpropertieswhat it gives a node
listener1The point positional sounds are heard from.
sound10A sound on the node: file, volume, pitch and loop.

UI​

componentpropertieswhat it gives a node
widget104A HUD element drawn every frame.

Other​

componentpropertieswhat it gives a node
bindings1Reactions the node runs from a table.
meta0Named values filed on the node, like Godot's set_meta.
states2Named looks for the node.
timer5Counts wait_time seconds down and emits timeout from the node.

Asset types​

typefilesused by
animation_clipanimations/animation.library
bone_mapanimations/—
heightfieldterrain/collider2d.heightfield, collider3d.heightfield
materialmaterials/material.source, mesh.material, shape2d.material, shape3d.material, sprite.material, tilemap.material
meshmodels/collider2d.mesh, collider3d.mesh, mesh.source, occluder2d.mesh, polygon.mesh, shape2d.mesh, softbody2d.mesh, softbody3d.mesh
path2dpaths/—
path3dpaths/—
skeleton_profileanimations/—
sprite_sheetsheets/sprite.sheet
state_machineanimations/state_machine.machine
texturetextures/mesh.texture, particles.texture, polygon.texture, shape2d.texture, sprite.texture
tilesettilesets/tilemap.tileset
voxelsterrain/collider2d.voxels, collider3d.voxels
widget_themethemes/widget.theme

Script modules​

modulefunctionswhat it is for
animation20Clip playback on a node's animation component: play, pause, seek and query.
apple18Apple services beyond platform.*: Game Center identity, purchases, notifications.
assets11Asset definitions by reference.
audio19Sound playback.
debugger9Breakpoints, pausing a script and resuming it.
encoding2Bytes to base64 text and back.
engine27The running app.
events6Named events between scripts.
export6Exports the project being edited.
fs9Files on disk, project-relative unless the path is absolute.
gamend19The Gamend backend: session, REST API and realtime socket.
geometry2d10Polygons on the plane as lists of [x, y] points in outline order.
geometry3d6Mesh operations.
hash2SHA-256 content hashes of files and strings.
http1HTTP requests off the frame: method, headers, body, timeout and save_to options.
import7Imports a .glb or .gltf model, an .aseprite sprite, or a .tmx or .ldtk level into the project being edited, with the importers balaur import runs.
input47One frame of input.
json2JSON text to and from script values.
log7The info, warn and error levels a script writes at, and the buffer behind them.
math24Deterministic float maths backed by pure-Rust libm.
multiplayer14Host, join and play a rollback match.
node56What every node has: name, path, transform, children, components and script.
physics14What spans both physics worlds: pausing, sleeping, tuning and clearing.
physics2d55The 2D rigid-body world.
physics3d77The 3D rigid-body world.
platform11Store services every platform shares: sign-in, achievements, leaderboards, cloud saves.
project13The projects this machine has opened, the templates a new one starts from, and the folder picker the OS provides.
regex6Regular expressions, the regex-lite dialect: no look-around or back-references.
release5Which build of the engine this is, what the channels are publishing, and replacing this install with another.
render54What a frame is made of.
replay17Records what a running game is fed and plays it back.
rng5The engine's one deterministic PCG32 stream.
rollback2Rollback netcode from a script's side.
save6Save games: a table in, a table out, stored per user.
scene22The node tree.
script19Loads other scripts, inspects what they declare and calls into them.
settings11Every setting the engine, its plugins and the game declare, by path.
skeleton3Bones under a rig node: their rest pose and the order a skin numbers joints in.
strings6Localization: one strings/<locale>.toml per language, keys to strings.
task3Waiting inside an async handler.
toml3TOML text to and from script tables, the format of scene files, asset definitions and component properties.
ui68Immediate-mode UI redrawn from a script's draw_ui every frame.
web7The page a browser build runs in; off the web every query answers nil.
websocket3A long-lived socket for text or binary frames.
window8The OS window and the display under it.

Value types​

typefunctionsconstants
balaur::Color50
balaur::IVec2399
balaur::IVec33811
balaur::Quat372
balaur::Transform2d153
balaur::Transform3d183
balaur::Vec27712
balaur::Vec38514
balaur::Vec47116