Log inGet started

settings

Updated 5 September 2026

The settings namespace — 14 functions.

globals/settings/all

settings.all() -> { [string]: any }

Snapshot of the entire settings document (parsed). Modifying the returned table does NOT propagate — call set or setMany to persist. Useful for editors/inspectors that render every section.

Returns { [string]: any } — A nested table mirroring the TOML document.

for section, keys in pairs(settings.all()) do

globals/settings/get

settings.get(key: string) -> any

Look up a value by dotted key. Returns whatever the file holds at that path — string / number / boolean / array / table — or nil if missing.

Parameters

  • key string — Dotted-path key, e.g. "render.culling_mode".

Returns any — The raw value at that key, or nil.

local mode = settings.get("render.culling_mode")

globals/settings/getBool

settings.getBool(key: string, default: boolean?) -> boolean

Boolean-typed accessor. Returns the value when present and boolean-typed; falls back to default (or false) on missing key or type mismatch.

Parameters

  • key string — Dotted-path key.
  • default boolean (optional) — Optional fallback boolean.

Returns boolean — The boolean value or the fallback.

if settings.getBool("render.shadows", true) then ... end

globals/settings/getNumber

settings.getNumber(key: string, default: number?) -> number

Number-typed accessor. Returns the value when present and number-typed; falls back to default (or 0) on missing key or type mismatch.

Parameters

  • key string — Dotted-path key.
  • default number (optional) — Optional fallback number.

Returns number — The number value or the fallback.

local g = settings.getNumber("physics.gravity", -9.81)

globals/settings/getString

settings.getString(key: string, default: string?) -> string

String-typed accessor. Returns the value when present and string-typed; falls back to default (or "" if omitted) on missing key or type mismatch.

Parameters

  • key string — Dotted-path key.
  • default string (optional) — Optional fallback string.

Returns string — The string value or the fallback.

local mode = settings.getString("render.culling_mode", "gpu")

globals/settings/set

settings.set(key: string, value: any?)

Set a value by dotted key, then serialize and write the file. In play mode the write fails like any other source-file write — call wld.edit() first to unlock.

Parameters

  • key string — Dotted-path key.
  • value any (optional) — Replacement value (string / number / boolean / table).
settings.set("render.culling_mode", "cpu")

globals/settings/setMany

settings.setMany(updates: { [string]: any })

Apply many key/value updates in one batched write — fewer serialize+write round-trips than calling set per-key. Same lock semantics as set.

Parameters

  • updates { [string]: any } — A table of dotted-key → value pairs.
settings.setMany({

typed/builtin//modules/settings/settings/all

settings.all() -> { [string]: any }

Snapshot of the entire settings document (parsed). Modifying the returned table does NOT propagate — call set or setMany to persist. Useful for editors/inspectors that render every section.

Returns { [string]: any } — A nested table mirroring the TOML document.

for section, keys in pairs(settings.all()) do

typed/builtin//modules/settings/settings/get

settings.get(key: string) -> any

Look up a value by dotted key. Returns whatever the file holds at that path — string / number / boolean / array / table — or nil if missing.

typed/builtin//modules/settings/settings/getBool

settings.getBool(key: string, default: boolean?) -> boolean

Boolean-typed accessor. Returns the value when present and boolean-typed; falls back to default (or false) on missing key or type mismatch.

Parameters

  • key string — Dotted-path key.
  • default boolean (optional) — Optional fallback boolean.

Returns boolean — The boolean value or the fallback.

if settings.getBool("render.shadows", true) then ... end

typed/builtin//modules/settings/settings/getNumber

settings.getNumber(key: string, default: number?) -> number

Number-typed accessor. Returns the value when present and number-typed; falls back to default (or 0) on missing key or type mismatch.

Parameters

  • key string — Dotted-path key.
  • default number (optional) — Optional fallback number.

Returns number — The number value or the fallback.

local g = settings.getNumber("physics.gravity", -9.81)

typed/builtin//modules/settings/settings/getString

settings.getString(key: string, default: string?) -> string

String-typed accessor. Returns the value when present and string-typed; falls back to default (or "" if omitted) on missing key or type mismatch.

Parameters

  • key string — Dotted-path key.
  • default string (optional) — Optional fallback string.

Returns string — The string value or the fallback.

local mode = settings.getString("render.culling_mode", "gpu")

typed/builtin//modules/settings/settings/set

settings.set(key: string, value: any?)

Set a value by dotted key, then serialize and write the file. In play mode the write fails like any other source-file write — call wld.edit() first to unlock.

typed/builtin//modules/settings/settings/setMany

settings.setMany(updates: { [string]: any })

Apply many key/value updates in one batched write — fewer serialize+write round-trips than calling set per-key. Same lock semantics as set.

Parameters

  • updates { [string]: any } — A table of dotted-key → value pairs.
settings.setMany({
  • api
  • reference