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.Xrequires 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.