Documentation menu

The manifest

[config]

Last updated October 22, 2026

[config] sets where each environment installs, and how the requires that Ember writes look. Every key is optional; these are the defaults:

[config]
roblox-packages-out = "packages/roblox"
server-packages-out = "packages/server"
lune-packages-out   = "packages/lune"
luau-packages-out   = "packages/luau"
lute-packages-out   = "packages/lute"
seal-packages-out   = "packages/seal"
zune-packages-out   = "packages/zune"
requires            = "string"

The seven folder keys are <environment>-packages-out, one per environment. roblox_server keeps the key server-packages-out and the folder packages/server, so Rojo project paths do not change. Paths are relative to the manifest. shared-packages-out is the old name of roblox-packages-out and still parses.

Every folder is a self-contained environment root: everything a tree declared for that environment needs installs under it.

The folder is deleted and rebuilt on every full install — don't keep hand-written files inside one.

Two environments may not share a folder; pointing two keys at the same path fails with:

[config] points roblox-packages-out and server-packages-out at the same folder (<path>); environment roots must stay distinct

embr init git-ignores packages/; if you relocate the roots, adjust .gitignore to match.

requires#

requires sets how the requires that Ember writes look. It takes "string" or "instance". The default is "string", so existing projects do not change.

[config]
requires = "instance"

With "string", Ember writes string requires, such as require("./.ember/chief_traits/src/init"). It also turns a package's own script.Parent.X requires into strings.

With "instance", Ember writes Roblox instance requires:

  • A package keeps its own script.Parent.X requires as it wrote them.
  • Ember rewrites a require that reaches a dependency as an instance chain, such as script.Parent.packages.roblox.X.
  • Link files require through script.Parent[".ember"].

requires applies only to the roblox and roblox_server trees. The other runtimes have no script, so their trees keep string requires.