Roblox
Roblox is Forest’s original platform. Roblox packages are Luau modules: each installed package is a folder with a root module you require by its instance path.
If you’re new to packages, start with Concepts for the platform-neutral ideas (what a package is, publishing, versioning, private access). This section covers the Roblox-specific mechanics layered on top.
Forest is not a Roblox Studio plugin. You run the Forest CLI from your project folder, and it installs packages as files next to your forest.json. Moving those files into the datamodel is your existing sync step, commonly Rojo . Forest never edits your place file.
What’s specific to Roblox
- Layout. Packages install into a
Packages/folder (next to yourforest.jsonin a game project, or next to your root module when authoring a package), which you mount somewhere in the datamodel (commonlyReplicatedStorage.Packagesvia Rojo). - Importing. You
require()a package by its instance path. All requires inside the installed tree are relative, so the tree works wherever you mount it. - One entry point. A package exposes a single root module whose return value is its entire public API.
- No realm concept. There is one packages tree. Splitting server and client code is a project-structure choice (the two-manifest pattern), not a registry feature.
- Aliases. Two packages with the same name from different scopes can coexist by installing one under an alias.
Pages
Last updated on