Log inGet started

packages

Updated 6 September 2026

The packages namespace — 7 functions.

globals/packages/list

packages.list() -> { PackageEntry }

List every registered package across scopes.

Returns { PackageEntry } — Array of package entries.

for _, p in ipairs(packages.list()) do print(p.name, p.scope) end

globals/packages/lookup

packages.lookup(name_or_scope: string, name: string?) -> PackageEntry?

Look up a single package by name (any scope) or by exact (scope, name).

Parameters

  • name_or_scope string — Package name, or scope if a second arg is given.
  • name string (optional) — Package name when the first arg is a scope.

Returns PackageEntry? — Package entry or nil.

local p = packages.lookup("@builtin", "audio")

modules/packages/README

require("@builtin/modules/api/engine/packages") -- packages (also available as global 'packages')

Discover and inspect registered packages (folders marked with package.yaml). Public Luau surface over the __packages Internal FFI namespace.

Usage: local packages = require("@builtin/modules/api/engine/packages") Also available as global: packages

modules/packages/list

list(): { PackageEntry }

List every registered package across scopes.

for _, p in ipairs(packages.list()) do print(p.name, p.scope) end

modules/packages/lookup

lookup(name_or_scope: string, name: string?): PackageEntry?

Look up a single package by name (any scope) or by exact (scope, name).

Parameters

  • name_or_scope string — Package name, or scope if a second arg is given.
  • name string? (optional) — Package name when the first arg is a scope.
local p = packages.lookup("@builtin", "audio")

typed/builtin//modules/api/engine/packages/packages/list

packages.list() -> { PackageEntry }

List every registered package across scopes.

typed/builtin//modules/api/engine/packages/packages/lookup

packages.lookup(name_or_scope: string, name: string?) -> PackageEntry?

Look up a single package by name (any scope) or by exact (scope, name).

Parameters

  • name_or_scope string — Package name, or scope if a second arg is given.
  • name string (optional) — Package name when the first arg is a scope.

Returns PackageEntry? — Package entry or nil.

local p = packages.lookup("@builtin", "audio")
  • api
  • reference