Skip to main content

Features

The engine features. See also Principles.

Nodes, scenes, scripts

  • Scene tree. Nodes with scripts attached. →
  • Rune. Rust's syntax, async/await. Instant reload. →
  • Debugger. Breakpoints, stepping, frames and locals, in the editor. →
  • Assets. Content referenced by a node. →
Docs: Scenes and nodes →

Simulation

  • Physics. 2D and 3D through Rapier, on a fixed 60 Hz step. →
  • Animation. Clips, tweens and easing. →
  • Skeletons. Bones with skinned polygons. →
  • Determinism. Same inputs, same outputs, on every platform. →
Docs: Determinism →

Screen and sound

  • Rendering. 2D and 3D. →
  • Objects. Basic primitives, bezier paths, text and boolean operations. →
  • Tile maps. Solid, one-way, animated and light-blocking tiles. →
  • Lights. 2D lights and occluders, with post-processing on top. →
  • Shaders. Materials written in WESL. →
  • UI. Widgets and an immediate-mode API for tools. →
  • Text. Outline, shadow, markup and bitmap fonts. →
  • Audio and input. audio playback; keyboard, mouse, gamepads, touch controls and gestures. →
Docs: Rendering →

Online

  • Networking. HTTP, WebSockets and WebTransport, with compression. →
  • Gamend. Accounts, lobbies, chat, leaderboards, server hooks. →
  • Stores. Sign-in, achievements, leaderboards, cloud saves and purchases, on Game Center, iCloud and StoreKit. →
Docs: Networking →

Tools and shipping

  • The editor. A Balaur project: tree, inspector, timeline. →
  • Select and arrange. Select, group, align and hide. →
  • Editor plugins. Docks, tools and custom commands. →
  • Script tooling. Completion, hover, go-to-definition, rename and formatting. →
  • Plugins. Rust or C, static or dynamic. →
  • Export. Bytecode, scenes and assets. →
  • Platforms. Windows, macOS, Linux, iOS, Android and Web. →
  • Written in Rust. Reusing popular libraries, and Rapier, wgpu, egui, rodio, Rune. →
Docs: The editor →
The editor: node tree, viewport, inspector and the Output dock

MIT licensed. See Getting started.