Getting started
Cluaupp is the game toolchain. CL++ is the language.
Requirements
Section titled “Requirements”- Node.js 18 or newer
- Rojo 7.7.0 (
cluaupp initwritesrokit.toml) clpp0.3.2 on PATH from KartzRbx/CLPP (clpp-setup.exethenclpp setup). Override withCLPPorCLPP_PATH.
cargo install --path . # inside a CL++ checkoutclpp setup # VS Code / Cursor language packInstall Cluaupp
Section titled “Install Cluaupp”npm install -g cluaupp@latestcluaupp --versionNeed 1.4.0+. A leftover global 1.3.0 still writes src/server / src/client / src/shared. Upgrade, then init into a new folder.
Or:
npx cluaupp init my-gameFirst game
Section titled “First game”cluaupp init my-gamecd my-gamerokit installcluaupp buildrojo servemy-game/ cluaupp.config.json default.project.json src/ ReplicatedStorage/Shared/Constants/Datas/TemplateData.clh ServerScriptService/Boot/DataBoot.server.clpp ServerScriptService/Handlers/PlayerHandler.server.clpp ReplicatedStorage/Shared/Net/Net.flare StarterPlayer/StarterPlayerScripts/Controllers/DataController.client.clpp StarterPlayer/StarterCharacterScripts/Character/CharacterReady.client.clpp out/ ← generated Luau (do not edit) libs/ ← CluauppLibsTiny program
Section titled “Tiny program”#include <clpp/roblox.clh>
void init() { Players players = GetService<Players>(); post("online: " .: players.GetPlayers());}Language course and reference: kartzrbx.github.io/CLPP. Migrating .cpp: migration.