Log inGet started

Discovering the engine

You don't need to memorise this engine — its whole surface is discoverable and readable. The engine exposes well over a hundred namespaces (asset, entity, layers, mesh, compute, vfs, camera, players,…

Ask the language server

lsp.namespaces()               -- every namespace (name, method count)
lsp.methods("asset")           -- a namespace's methods, with signatures + docs
lsp.describe("asset/create")   -- one method: signature, args, return, examples

Browse it like a codebase

/zero is a real filesystem; your shell works on it:

ls  /zero/source/libs/@builtin/modules/api/engine                          # the engine's API modules
rg  "spawn" /zero/source/libs/@builtin                                     # search all source
cat /zero/source/libs/@builtin/modules/api/engine/asset.module/init.luau   # read how asset.* works

Reading the authored API is the surest way to understand it — it is the implementation.

Ask the content and tool registries

asset.list("material")                       -- registered content, by type
asset.inspect("@builtin::materials.gold")    -- a full summary of one asset
tools.list()                                 -- workflow tools (called as <toolbox>.<name>)

Confirm anything live

type(_G.asset)        -- is it there?

Run the call in execute and read what comes back. The running engine is the final authority: when a doc and the engine disagree, the engine wins.

Check what's broken

When something isn't behaving, ask the engine what's wrong rather than guessing — the diagnostics toolbox reports the current error state across assets, components, and the engine:

tools.use("diagnostics", "errors")    -- the active errors
tools.use("diagnostics", "summary")   -- a roll-up
tools.use("diagnostics", "validate")  -- re-check and report problems

(A single component's own errors are also on its instance — reportError/errors, the components guide.)

How it fits together

  • asset.*, entity.*, layers.*, tools.*, … are the globals you call.
  • Their implementations are the authored modules under modules/api/engine/ (wrapping the internal __* primitives).
  • The concept guides — assets, components, the tool system, scenes, the engine, worlds — teach the systems; the methods above are how you find the specifics of any of them.

That's the whole method: the engine describes itself. Reach for lsp.*, the shell, the registries, and a live execute before assuming anything.

  • documentation
  • guide