Skip to Content
FeaturesInstalling Packages

Installing Packages

Installing is the core of Forest: one command that downloads a package and everything it depends on into your project, at versions that are resolved together and locked for reproducibility.

$forest install [package-name]aliasesforest iforest grow

Installing a package records it in your forest.json manifest and pins the exact resolved versions in forest-lock.json, so a teammate (or CI) running forest install with no arguments gets the identical tree. Transitive dependencies come along automatically: a package always finds its own dependencies without any configuration from you.

forest install
$ forest i forest/signal
🌳 Installed forest/signal@2.4.2 (+3 dependencies)

Useful variations:

  • forest install with no name installs everything in forest.json, offering to create a bare manifest if the folder doesn’t have one yet.
  • -v <version> installs a specific version instead of the latest.
  • -a <alias> installs the package under an alias, which is how you hold two major versions of the same package side by side.

Per-platform mechanics

What “installed” looks like on disk, and how your code consumes a package, differs by platform:

  • Roblox: packages land in a Packages/ folder you require through generated entry modules. You decide where that folder mounts in the DataModel, including the two-manifest pattern for server-only code. See Installing on Roblox.
  • UEFN: packages install as Verse files inside your project that you import with using. See Installing on UEFN.

Going deeper

Last updated on