Project map and script inventory
This map prevents a common copy/paste failure: putting every sample into one game. The manual uses three separate projects plus short disposable experiments. A code download is not an installable package; create the specified Studio script type, give it the specified name, and paste that file's contents.
Disposable orientation experiments
- Lesson 02: FirstScript under ServerScriptService; remove it after checking Output
- Lesson 03: LuauTour under ServerScriptService in a disposable place
- Lesson 04: Workspace.TouchPad and ServerScriptService.TouchLab; remove after the experiment
These are not prerequisites that need to remain running. Their purpose is to make language and lifecycle behavior observable.
Project A Obby Workshop
Lesson 05 creates this authored scene:
Workspace
Obby (Folder)
Platform0 ... Platform4 (Parts)
Checkpoints (Folder)
Start (SpawnLocation, numeric Index = 0)
Lesson 06 adds Middle and Finish spawns with numeric Index attributes, Workspace.Hazards.FallZone, and two server Scripts: Checkpoints and Hazards. These stay for all later Obby Workshop lessons.
Lesson 07 adds Workspace.Obby.CoinPlatform, Workspace.Coins with Coin1 ... Coin5 and ServerScriptService.Collectibles. This script owns the per-player leaderstats.Coins value. Coins are counted once per player per session; death does not reset them, leaving/rejoining does.
Lesson 08 adds the CoinHud LocalScript to StarterPlayer/StarterPlayerScripts. The script creates a runtime ScreenGui; do not also build a second identical HUD in StarterGui.
Lesson 09 adds BoundaryServer and BoundaryClient only for an experiment. Remove them afterward; they are not game features.
Lesson 10 adds Workspace.Obby.BoostPlatform, Workspace.BoostStation, ServerScriptService.BoostServer and StarterPlayer/StarterPlayerScripts.BoostClient. The server creates BoostRemotes in ReplicatedStorage. Coins are an eligibility threshold, not a purchase price: the boost does not spend them.
Lesson 11 adds ServerScriptService.BoostConfig and replaces the existing BoostServer body with the modular version. Keep only one BoostServer handler. Keep the existing BoostClient.
Final Project A authored scripts
| Studio path | Type | Source |
|---|---|---|
| ServerScriptService.Checkpoints | Script | checkpoints.luau |
| ServerScriptService.Hazards | Script | hazards.luau |
| ServerScriptService.Collectibles | Script | collectibles.luau |
| StarterPlayer.StarterPlayerScripts.CoinHud | LocalScript | CoinHud |
| ServerScriptService.BoostConfig | ModuleScript | BoostConfig |
| ServerScriptService.BoostServer | Script | modular BoostServer |
| StarterPlayer.StarterPlayerScripts.BoostClient | LocalScript | BoostClient |
Stop, save a local checkpoint, then run the negative tests in the relevant lessons before changing anything else.
Project B Co-op Collector
Lesson 12 starts a new Baseplate, with no Obby Workshop scripts. RoundServer generates its arena and collectibles at runtime, controls the round phases and replicates RoundState attributes. RoundHud displays that state.
- ServerScriptService.RoundServer: Script from round server
- StarterPlayer.StarterPlayerScripts.RoundHud: LocalScript from round HUD
The initial minimum is one player so you can inspect it alone. Set the specified minimum to two for the co-op acceptance test. Do not add the obby's per-player Collectibles script; shared round scoring is a different rule with a different owner.
Lesson 13 is an optional client-only help overlay exercise. Lesson 14 adds temporary observability for tests. Read each lesson's cleanup instruction before shipping; diagnostic scripts are not automatically final features.
Project C Persistence Lab
Lesson 15 uses a separate test experience/universe. A second place inside a production experience is not sufficient isolation because places can share data stores. Use the exact server/client script paths in that lesson; it does not replace the obby's score logic.
The exercise saves a narrow practice-best value. It is not an inventory framework, and it intentionally documents the limits of its merge rule and failure behavior. Do not copy it into a live economy.
Move between versions safely
A local filename such as obby-workshop-07.rbxl tells you what stage it represents. Keep a brief note of deliberate deviations from the tutorial. Before a large rewrite, save a new local checkpoint and confirm which project you have open. Studio windows can look similar even when their data stores and publishing targets differ.
Sources and navigation
Verified 2026-10-03: architecture references are script locations, client/server runtime, and data stores. Exact script contracts come from the linked lessons and supplied source files.
Start here · Glossary · Help context