Rogen
Core Concepts

Advanced Routing

Fine-tune how Rogen builds the project tree

Updated

Init files

A folder with an init file (init.luau, index.ts) is routed as usual, but Rogen leaves everything inside it alone.

Data and asset files

Rogen can't write direct paths for files like .json or .toml. It'll tell you in the console when one of them needs to be wrapped in a folder.

Invisible Folders

Wrap a folder name in parentheses, like (inventory), to group files on disk without changing where they end up in Studio. Rogen leaves the folder out but keeps what's inside.

File Hoisting

To put a script at the root of its service, start its name with ^:

  • File: src/core/physics/server/^collision-service.ts
  • Result: placed directly in ServerScriptService.

Advanced Marker Files

These empty files change how Rogen treats the folder they're in and everything below it.

  • .structure turns routing off, so the folder layout stays exactly as it is. Tag filtering still applies.
  • .sync stops Rogen from looking inside at all and syncs the folder as-is, with no routing or tag filtering.
  • .verbatim keeps routing keywords in file names, so InputClient keeps its Client.
  • .unwrap keeps the wrapper folders (server, client and shared) out of Studio.

On this page