Rogen IconRogen
Guides

Multi-Place

Step-by-step setup guide for sharing code across multiple places.

Combine multiple directories into one project. Seamlessly share core code across places.

Structure the Repository

Create separate directories for shared and place-specific code.

File System
src
core
lobby
match

Configure the Lobby Place

Create a configuration file for the Lobby place. Use the source array to supply multiple inputs.

lobby.rogen.json
{
	"source": ["core", "lobby"],
	"luau": {
		"output": "lobby.project.json",
		"build": "src"
	},
	"project": {
		"name": "lobby",
		"tree": {
			"$className": "DataModel"
		}
	}
}

Rogen reads all listed directories and merges files cleanly into ReplicatedStorage and ServerScriptService.

Configure the Match Place

Create a second configuration file for the Match place.

match.rogen.json
{
	"source": ["core", "match"],
	"luau": {
		"output": "match.project.json",
		"build": "src"
	},
	"project": {
		"name": "match",
		"tree": {
			"$className": "DataModel"
		}
	}
}

Start Watching

Specify the configuration file to build using the -c or --config flag.

rogen watch --config lobby.rogen.json

If Rogen finds identical file names at the exact same path, the directory listed last in the source array overwrites previous files.

On this page