UI Designer
On this page
- What they cost
- Switch them on
- Where the files land
- Change the settings later
- On the website
- In Studio (GameData)
- Extras and your own code
- Every Extra
- Core Extras
- Data Saving
- Game Feel (Juice)
- HUD Bindings
- Main Menu & Loading Flow
- Rebindable Controls
- Settings That Really Work
- Gameplay Extras
- Base Builder
- Battle Royale Zone
- Block Building
- Board Grid
- Boss Fights
- Campfire Nights
- Cash Bank
- Challenges & Time Trials
- Checkpoint Race
- Click to Earn
- Colony Empire
- Combiner (fuse / forge with odds)
- Converter
- Creatures & Wildlife
- Deathrun
- Descent Run
- Detection
- Dialogue
- Display Shop
- Door Run
- Emotes
- Fashion Show: Dress-Up Runway
- Fighter Roster
- Flashlight & Battery
- Game Music
- Gathering
- Grow & Steal
- Health, Stamina & Ammo HUD
- Horror Director
- Horror Soundtrack
- Infection
- Interactables
- Keys & Doors
- Kill Feed & Scoreboard
- Land Grid
- Live Minimap
- Lives
- Maps & Voting
- Melee Combat
- Minigames
- Mobs & Enemies
- Movement Gear
- Murder Mystery
- Obby Stages
- Order Queue
- Phase Machine
- Predator Pack
- Quiz Show
- RNG Rolls
- Racing Kit
- Raid Base
- Roleplay: Jobs & Homes
- Roll Station
- Round Mutators
- Round Series
- Rounds & Match Flow
- Rule Runner
- Secret Roles
- Security Office
- Shared Supplies
- Simulator Core
- Slot Grid
- Spawner
- Sports Match
- Squad Status
- Status Effects
- Storm Weather
- Story Run
- Story Runs
- Survival Gear
- Survival Needs
- Survivor Vitals
- Switches
- Team Select
- Teleports & Zones
- Throwables
- Timed Market
- Timing Window
- Tower Defense Waves
- Tycoon Plots
- Unit Roster & Traits
- Vehicles
- Walk to Earn
- Wave Run
- Weapon System
- Worker Route
- Monetization Extras
- Battle Pass
- Dev Products Helper
- Eggs & Crates
- Game Passes
- Gifting
- Premium Benefits
- Robux Products
- Rotating Shop
- Server Boost
- Smart Offers
- Spin Wheel
- Starter Pack
- Timed Boosts
- VIP Pass
- Weapon Skins
- Progression Extras
- Achievements
- Collectibles & Journal
- Collection Index
- Cosmetics In The World
- Crafting
- Daily Rewards
- Inventory & Backpack
- Levels & XP
- Loadout
- Offline Earnings
- Pets
- Playtime Rewards
- Prestige
- Quest Tracker HUD
- Quests
- Rebirths
- Stat Points
- Stat Tracker
- Upgrade Boards
- Upgrades
- Zone Progress
- Social Extras
- Champion Statues
- Chat Tags
- Departure Board
- Global Leaderboards
- Group Rewards
- Invite Rewards
- Lobby & Queue
- Parties & Matchmaking
- Rare Drop Shout-outs
- Trading
- Live ops Extras
- Community Goal
- Event Rotation
- Live Events
- Redeem Codes
- Admin & safety Extras
- Admin Panel
- Anti-Exploit
- Bans
- Data Tools
- Economy Analytics
- Soft Shutdown
Extras: saving, Robux, passes and more
Extras are ready-made game systems that come inside your UI's export, already wired to it: data saving, Robux products, game passes, daily rewards, codes, admin tools and more. You switch them on for a design and fill in a short form. The code is written for you, in plain Luau with a comment on every setting.
Making a simulator or tycoon? The Simulator and tycoon kit walks through the systems behind its HUD, one page each.
What they cost#
- Studio, Studio Max plan: every Extra is included.
- Other plans: an Extra costs 1 export on the design you switch it on for, from the same exports maps and UIs use (then export credits). You pay once: exporting, downloading or sending that design again never charges for it again, and switching it off and on again is free. On another design it counts again.
- Extras that need other Extras switch those on too (most need Data Saving). Each one counts as an Extra.
- Already exported the design? Adding Extras later only costs the new ones: the export box shows an Add Extras button with the price.
See Plans, credits and exports for the plans themselves.
Switch them on#
- Open your design on the UI Designer and sign in.
- Open the Extras panel and switch on the ones you want. The toast tells you what it costs and which other Extras came on with it.
- Fill in the settings that appear under it, then press Save settings. They start from sensible defaults and from your design: for example, every Robux item in your shop gets its own row in Robux Products, and currency pickers list your UI's currencies.
- Export the design (or press Add Extras if it is exported already).
- Install it like any export (Getting started): Send to Studio, the
.rbxmx, or the starter place. Press Play: the Extras run with your settings.
Where the files land#
ServerScriptService
└── BloxGame
├── Main Script: starts every Extra, in order (you don't need to change it)
├── GameData ModuleScript: settings, Robux ids and prices (safe to edit)
├── Core ModuleScripts: the shared toolbox (saving, purchases, remotes)
└── Services one ModuleScript per Extra (RebirthsService...)
StarterPlayer
└── StarterPlayerScripts
└── BloxGame
├── ClientMain LocalScript: starts the parts that run on the player's device
└── Controllers the device half of the Extras that have one
ReplicatedStorage
└── BloxGame shared modules, and the remotes made while the game runs- Every file is tagged with your UI's name, like the hook scripts. Send to Studio adds and updates them in the same undo step as the UI, keeps any file you've edited, and removes the files of Extras you switched off (unless you edited them).
- From the
.rbxmx,BloxUI_Setupmoves them into place when the game runs, folder by folder, and never replaces what is already there. - Extras share the UI's saving: their data goes in the same save as the UI's currencies, one server at a time, so a game never runs two save systems.
Change the settings later#
Two ways, pick one:
On the website#
Change the settings in the design's Extras panel and press Save settings, then download or send the design again. That's free: only switching on a new Extra costs anything. With Send to Studio, GameData is replaced with the new values, unless you have edited it in Studio (then yours is kept).
In Studio (GameData)#
Open ServerScriptService > BloxGame > GameData. It's the one file you edit: your currencies, items, Robux products and passes, and every Extra's settings, each with a comment saying what it does. Change a number or a word, press Play, and the game uses it. No website needed.
GameData.Features.daily_rewards = {
Enabled = true, -- false = this system is off
-- New day starts at (UTC hour): When the next reward unlocks. 0 = midnight UTC. (a whole
-- number from 0 up to 23)
resetHourUtc = 0,
}Each Extra has its own table in GameData.Features, with Enabled first and then one line per setting from the website's form. Enabled = false switches it off (it stops running; its saved data is kept).
- Keep the commas and the curly brackets
{ }where they are. Text goes "in quotes"; numbers andtrue/falsedon't. - Robux ids go in
GameData.Products(developer products) andGameData.Passes(game passes): the long numbers from the Creator Hub, pasted instead of the 0. When the server starts, they're written into your UI's buttons too. - GameData only runs on the server, so secrets like codes are safe there. Players only get the parts they need.
- Once you've edited it, sending the design again keeps your copy. To go back to the website's values, delete your
GameDataand send the design again. - Exported before GameData existed? Your place has a
GameSettingsfile instead. Export the design again to get GameData.
Extras and your own code#
- Robux purchases: an Extra that sells a developer product (like Robux Products) delivers it itself, saving the gift and the purchase id together before Roblox hears it worked. A
UI.Server.onReceiptstub for the same product in<Name>_ServerHooksis ignored, and Output says so. Never setMarketplaceService.ProcessReceiptyourself:UI.Serverowns it. - Product and pass ids: paste each id once, in
GameData.ProductsorGameData.Passes. When the server starts, GameData writes the ids into your UI's buttons, so a button and the Extra that sells it always use the same product. How to make the ids: Robux ids. - Don't rebuild what an Extra does. If you ask an AI for help, the Copy AI prompt text lists the Extras already in the game so it doesn't write them again (Vibe-code it with AI).
- Problems: each Extra prints to Output with a
[BloxGame]prefix, and if one fails the others keep going. If Output saysThis game's BloxUI is too old for the game systems, install the UI again from the website so the place gets the newest runtime.
Every Extra#
148 Extras, by kind. Each one lists the settings the website's form shows, with their starting values.
- Core: Data Saving, Game Feel (Juice), HUD Bindings, Main Menu & Loading Flow, Rebindable Controls, Settings That Really Work
- Gameplay: Base Builder, Battle Royale Zone, Block Building, Board Grid, Boss Fights, Campfire Nights, Cash Bank, Challenges & Time Trials, Checkpoint Race, Click to Earn, Colony Empire, Combiner (fuse / forge with odds), Converter, Creatures & Wildlife, Deathrun, Descent Run, Detection, Dialogue, Display Shop, Door Run, Emotes, Fashion Show: Dress-Up Runway, Fighter Roster, Flashlight & Battery, Game Music, Gathering, Grow & Steal, Health, Stamina & Ammo HUD, Horror Director, Horror Soundtrack, Infection, Interactables, Keys & Doors, Kill Feed & Scoreboard, Land Grid, Live Minimap, Lives, Maps & Voting, Melee Combat, Minigames, Mobs & Enemies, Movement Gear, Murder Mystery, Obby Stages, Order Queue, Phase Machine, Predator Pack, Quiz Show, RNG Rolls, Racing Kit, Raid Base, Roleplay: Jobs & Homes, Roll Station, Round Mutators, Round Series, Rounds & Match Flow, Rule Runner, Secret Roles, Security Office, Shared Supplies, Simulator Core, Slot Grid, Spawner, Sports Match, Squad Status, Status Effects, Storm Weather, Story Run, Story Runs, Survival Gear, Survival Needs, Survivor Vitals, Switches, Team Select, Teleports & Zones, Throwables, Timed Market, Timing Window, Tower Defense Waves, Tycoon Plots, Unit Roster & Traits, Vehicles, Walk to Earn, Wave Run, Weapon System, Worker Route
- Monetization: Battle Pass, Dev Products Helper, Eggs & Crates, Game Passes, Gifting, Premium Benefits, Robux Products, Rotating Shop, Server Boost, Smart Offers, Spin Wheel, Starter Pack, Timed Boosts, VIP Pass, Weapon Skins
- Progression: Achievements, Collectibles & Journal, Collection Index, Cosmetics In The World, Crafting, Daily Rewards, Inventory & Backpack, Levels & XP, Loadout, Offline Earnings, Pets, Playtime Rewards, Prestige, Quest Tracker HUD, Quests, Rebirths, Stat Points, Stat Tracker, Upgrade Boards, Upgrades, Zone Progress
- Social: Champion Statues, Chat Tags, Departure Board, Global Leaderboards, Group Rewards, Invite Rewards, Lobby & Queue, Parties & Matchmaking, Rare Drop Shout-outs, Trading
- Live ops: Community Goal, Event Rotation, Live Events, Redeem Codes
- Admin & safety: Admin Panel, Anti-Exploit, Bans, Data Tools, Economy Analytics, Soft Shutdown
Core Extras#
Data Saving#
Every player's coins, items, upgrades and settings come back when they rejoin.
- Saves the UI's currencies, upgrades and settings, plus every game system's data
- Locks each player's data to one server, so hopping servers never loses progress
- Saves every minute, when a player leaves and when the server shuts down
- Tries again when Roblox is busy, and tells you in Studio if saving is switched off
- Includes the delete-my-data tool Roblox asks for (Right to Erasure)
Settings in GameData: GameData.Features.saving.
| Setting | What it is | Starts as |
|---|---|---|
| Data store name | Text (up to 50 characters). Where player data is saved. Changing it starts every player from zero! | "BloxUI_Data" |
| This game's own save name | Text (up to 30 characters). Gives this game its own DataStores: player data, settings, leaderboards and every system's saves (letters, digits and _). DataStores belong to the whole experience, so two games in one experience need different names. Empty = the shared BloxUI_Data. Changing it starts every player from zero! | empty |
| Autosave every (seconds) | Whole number (30 to 600). Changed data is saved this often (and always when a player leaves). | 60 |
| Wait for another server (seconds) | Whole number (5 to 120). When a player joins while another server still has their data, wait this long for it to let go, then take over. | 30 |
| Show currencies on the player list | On / off. Off: currencies are still saved, but kept as player attributes instead of the leaderboard in the top right. | On |
| What new players start with | A list: Currency, Amount per row. Only for a player's very first visit. | one row per currency of your design |
| Delete the data of these players | A list: User id per row. When Roblox emails you a Right to Erasure request, add the user id here: their data is deleted when a server starts. | empty |
Game Feel (Juice)#
Every important moment gets its own sound, effects and motion: checkpoints light up and chime, coins pop and fly to the wallet, a level up gets a fanfare, 1st place gets everything.
- Its own voice for each moment, sized to it: a coin is a tiny tick that climbs on a streak, a rebirth shakes the screen
- The world reacts to the player: race gates flash and chime higher towards the finish, obby checkpoints light up, buy pads press, gates slide open
- Banners, confetti, rings and number pops for level ups, laps, waves, goals, boss kills, codes and achievements
- Listens to your other systems' events: nothing to wire, nothing doubled where the UI already celebrates
- Light on phones: pooled effects, caps and cooldowns, a reduced-effects setting, follows Reduced Motion and Low Detail
Has a part on the player's device. Settings in GameData: GameData.Features.juice.
| Setting | What it is | Starts as |
|---|---|---|
| Effects | One of: Full, Reduced (no shake or flashes, fewer particles), Off. Players with Reduced Motion on (or Low Detail in Settings That Really Work) always get Reduced. | Full |
| Camera shake and zoom punches | On / off | On |
| Touched parts react (checkpoints, coins, pads, buy buttons, gates) | On / off | On |
| Coins fly into the wallet | On / off | On |
| Moment sounds volume (%) | Whole number (0 to 100) | 80 |
| Tag your obby checkpoints carry | Text (up to 40 characters). BloxMaps checkpoints are found by themselves; this is for your own parts (with a Stage attribute). | "Checkpoint" |
| Tag your kill bricks carry | Text (up to 40 characters) | "KillBrick" |
HUD Bindings#
One line of code drives any HUD widget: player:SetAttribute("Hud_Objective", "Find the key").
- Every Objective, Counter, Meter, Timer, Compass and Stats row of your design listens to one attribute
- Set it from any script (server or client) and the design updates on that player's screen
- Set it on workspace instead and every player sees it (a round timer, a server goal)
- Or bind a widget to a leaderstat, attribute or stat right here, with no code at all
- The Output lists every widget of your design and the attribute that drives it
- Map NPCs open their window: E (or a tap) at a shopkeeper opens the Shop, an egg seller the Eggs, a quest giver the Quests
Has a part on the player's device. Settings in GameData: GameData.Features.hud_bindings. Setup guide.
| Setting | What it is | Starts as |
|---|---|---|
| Widgets fed from a stat (no code) | A list: Widget (id, type, or a Stats row's label), Comes from (empty = only the Hud_ attribute), Shown as per row. Every HUD widget already follows the player attribute Hud_<widget id or type> (Hud_Objective, Hud_Counter, Hud_Counter2, Hud_Meter, Hud_Timer, Hud_Compass) and every Stats / Profile row follows Hud_<its label without spaces> (Hud_BestTime). A row here copies a leaderstat, attribute, currency or stat ("clicks", "machines_built", "playtime") into a widget every second. Press Play: the Output lists y | one row per item of your design |
| workspace:SetAttribute("Hud_...") shows on every player's screen | On / off. A player's own attribute wins over the workspace one. | On |
| NPCs open their window (E / tap at a shopkeeper opens the Shop) | On / off. A map NPC whose role is a game function (shopkeeper, merchant, egg seller, quest giver, trainer, summon, codes, daily...) gets an E prompt that opens your design's matching window. Only when the design has that window; townsfolk, guards and NPCs that already talk (DialogueNPC) get none. | On |
| Stats and Profile rows follow Hud_<label> | On / off | On |
| Hide a data widget nothing in the game drives | On / off. A Counter, Meter, Timer, Objective, Stamina, quest tracker or score that no system writes, no Hud_ attribute drives and that still shows the design's sample is hidden (after a few seconds), so a made-up number never looks real. It comes back as soon as something drives it. Stats / Profile rows nothing fills show a dash. | On |
| Stats / Profile rows show the player's number of the same name | On / off. A row the bindings list doesn't feed shows the player's currency, leaderstat, attribute or stat with its label ("Gold", "Wins", "Level"), when the game has one. | On |
| List the design's widgets in the Output (Studio only) | On / off | On |
| Copy the rows' sources every (seconds) | Number (0.25 to 30) | 1 |
| Boost chips (the HUD's attribute icons: +150%, Friend Boost, Luck...) | A list: Chip id in the design, Tooltip text, Shows, Fixed text (when it shows fixed text), Clicking it, Click target (see Clicking it) per row. Each chip shows a live number, a tooltip on hover / long press, and does something when clicked. Every boost in the game counts once: VIP and pass boosts, the Friend Boost, timed boosts, rebirths, the Index boost. Cash starts at 100%: a chip showing the total says +150% when the player earns 2.5x. A chip missing from the design is skipped. | 5 rows |
| The cash the boost chips measure | One of your currencys. The chips show exactly what this currency's earnings are multiplied by (the same number clicking, tycoons and offline earnings pay with), also in the player attribute BloxGame_CashBoost (250 = +150%). | your first currency |
Main Menu & Loading Flow#
Players wait behind your main menu with a cinematic camera and spawn when they press Play; the loading bar shows real loading.
- The character spawns when the player presses Play, not behind the menu
- A slow camera fly-over of your map behind the menu (or your own camera spots)
- The loading screen waits until your UI's images and sounds have really loaded, with a real progress bar
- Settings and every other menu button open their windows on top of the menu
- Respawns keep working, and players whose device never shows the menu still spawn
Has a part on the player's device. Settings in GameData: GameData.Features.menu_flow.
| Setting | What it is | Starts as |
|---|---|---|
| Players spawn when they press Play | On / off. Only when the design starts on its main menu (or a loading screen before it). | On |
| Respawn after dying (seconds) | Number (0 to 60) | 5 |
| Spawn anyway if a device never shows the menu (seconds) | Whole number (5 to 120) | 15 |
| Tag on parts the menu camera looks from | Text (up to 40 characters). One tagged part: the camera sits there. Several: it glides between them (an Order attribute sets the order). None: it circles your spawn. | "MenuCamera" |
| Seconds from one camera spot to the next | Number (1 to 60) | 8 |
| Seconds for one circle around the map (no tagged parts) | Number (5 to 600) | 60 |
| The loading screen waits for the UI's images and sounds | On / off | On |
| Also wait for everything in Workspace | On / off. Slower on phones. Tag single things "Preload" instead. | Off |
| Build every screen while loading (smoother first opens) | On / off | On |
| Show the loading screen at least (seconds) | Number (0 to 30) | 2 |
| Never wait longer than (seconds) | Whole number (3 to 120) | 20 |
| Hide the backpack and player list behind the menu | On / off | On |
Rebindable Controls#
Your Controls screen really rebinds keys and controller buttons, saved per player, with the right keys shown in the HUD.
- Every action in the design's Controls screen and key hints works on keyboard, mouse and controller
- Players rebind a key by clicking it; the new key is saved and comes back next time they play
- Two actions on one key? They swap, so nothing gets lost (or block it, your choice)
- The HUD's key hints show each player's own keys
- Other game systems (weapons, sprint, abilities) add their actions by name in one line
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.keybinds.
| Setting | What it is | Starts as |
|---|---|---|
| When a key is already used by another action | One of: Swap: the other action gets the old key, Block: keep the old key and say which action uses it, Allow: both actions share the key | Swap: the other action gets the old key |
| Actions may use W A S D and the arrow keys | On / off. Off keeps walking keys free, so nobody breaks their own movement. | Off |
| Keys nobody may bind (comma separated) | Text (up to 200 characters). Escape, Slash (chat), Backquote, F9, F11, F12 and the controller Start / Select buttons are always kept for Roblox. | empty |
| Touch buttons for actions other systems add with touch = true | On / off. The design's own mobile buttons already cover its actions. | On |
| Tell the player what changed after a rebind | On / off | On |
| Controls pause while the Controls screen is open | On / off | On |
| Most actions a player can save | Whole number (5 to 100) | 40 |
Settings That Really Work#
Every switch on your Settings screen changes the real game: hide players and pets, trades, aim assist, speed units, sound, graphics, motion blur and camera smoothing.
- Hide Other Players and Show Other Pets hide them on that player's screen only
- Aim assist for controller and touch players, speed units on the HUD speedometer
- Music, sound effect and ambience sliders turn your game's own sounds up and down
- Low Detail also dims shadows, glow and particles for weak phones (and turns motion blur and smoothing off)
- Trade Requests and Auto-equip Best tell your other game systems what each player wants
Has a part on the player's device. Settings in GameData: GameData.Features.game_toggles.
| Setting | What it is | Starts as |
|---|---|---|
| Hide Other Players also hides their name tags | On / off | On |
| Tag your pet models carry | Text (up to 40 characters). Show Other Pets hides models with this CollectionService tag that belong to someone else (an OwnerUserId or Owner attribute, or a pet inside another player's character). | "Pet" |
| Aim assist strength (%) | Whole number (0 to 100) | 35 |
| Aim assist cone (degrees) | Number (1 to 30). Only targets this close to the middle of the screen pull the camera. | 6 |
| Aim assist range (studs) | Whole number (10 to 2,000) | 250 |
| Who gets aim assist | One of: Controller and touch players, Everyone (mouse players too) | Controller and touch players |
| Aim assist only while holding a weapon or tool | On / off | On |
| SoundGroup for your game's music | Text (up to 40 characters). A SoundGroup in SoundService with this name follows the Music setting (made for you if it's missing). | "Music" |
| SoundGroup for sound effects | Text (up to 40 characters) | "SFX" |
| SoundGroup for ambience | Text (up to 40 characters) | "Ambience" |
| SoundGroup for vehicle engines | Text (up to 40 characters) | "Vehicles" |
| Put game sounds without a SoundGroup into those groups | On / off. Looped music-like sounds go to Music, wind and rain to Ambience, the rest to SFX. | On |
| Low Detail also turns off glow, sun rays and shadows | On / off | On |
| Particles kept in Low Detail (%) | Whole number (0 to 100) | 30 |
| Drive the HUD speed counter in the player's units | On / off. A HUD Counter or Meter labelled MPH, KM/H or Speed shows the player's real speed. | On |
| Speed meter full at (in the player's units) | Whole number (10 to 1,000) | 120 |
| Auto-equip Best also puts the best new Tool in the player's hand | On / off | On |
Gameplay Extras#
Base Builder#
Players build their own base from snap-together pieces (dungeon rooms, treehouse platforms, base modules) as big as you allow.
- Pick a piece, it snaps to a free doorway / edge of your build; green = fits, red = it doesn't
- The server checks every piece: it must join a free socket, not overlap, stay in bounds
- Kits from your own models (sockets are Attachments) or simple boxes; any size of build is saved
- Construction time per piece, and harvesters that grow fruit you pick and sell (or that just pay)
- Always a next goal on the HUD with a guide path; on Tycoon Plots' plots or its own build plots
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.base_builder.
| Setting | What it is | Starts as |
|---|---|---|
| Kit folder (ServerStorage > BloxGame > Kits > ...) | Text (up to 40 characters). Models for the pieces below (same names). A model's sockets are Attachments named Socket with the attribute Dir (N, E, S, W, U, D). | "Dungeon" |
| Pieces | A list: Id (the model's name), Name, Cost, Width (no model), Height (no model), Depth (no model), Sockets (no model): N,E,S,W,U,D, Most of this piece (0 = no limit), Model name (empty = same as Id), Pays per second while built (harvesters, treasure rooms), Build time (seconds, 0 = at once) per row | 5 rows |
| The first piece (placed for free in the middle) | Text (up to 30 characters) | "Entrance" |
| Currency pieces cost | One of your currencys | your first currency |
| Most pieces per player | Whole number (1 to 5,000) | 150 |
| How far from the middle you can build (studs) | Number (20 to 5,000) | 300 |
| How high you can build (studs) | Number (0 to 2,000) | 120 |
| Refund when a piece is removed (%) | Number (0 to 100) | 50 |
| A rebirth clears the build | On / off | Off |
| Pieces take their build time (a scaffold that counts down) | On / off. Off: every piece stands at once. A Build Crew upgrade shortens it, an Instant Build pass skips it. | On |
| Income pieces | One of: Pay every 5 seconds, Grow fruit: pick it, carry it, sell it at the sell stand. Grow fruit: the owner's treehouse loop. The map's sell stands (BloxSellStand, or parts tagged FruitSellStand) buy it; an Auto Sell pass sells it as it grows. | Pay every 5 seconds |
| Fruit a player can carry | Whole number (1 to 100,000) | 40 |
| A harvester holds this many seconds of fruit | Number (5 to 3,600) | 90 |
| Coins a new builder gets once (for the first harvester) | Whole number (0 to 1,000,000,000,000) | 0 |
Battle Royale Zone#
The battle royale loop: drop in from the sky, outrun a shrinking storm, be the last one standing, then spectate the rest.
- A storm circle that shrinks in phases you set, with a glowing wall and damage outside it
- The drop: everyone rides the drop aircraft across the island, jumps over land (SPACE, a tap, A on a gamepad), skydives and lands under a parachute
- Players pick a drop zone on the design's Drop Zones screen and are dropped there by themselves
- The design's storm timer and players-left counter run live; eliminations reach the kill feed
- Last one standing wins: results, rewards, wins and eliminations saved for leaderboards
- Eliminated players spectate the survivors until the next match
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.battle_royale.
| Setting | What it is | Starts as |
|---|---|---|
| Players needed to start | Whole number (1 to 100) | 2 |
| In Studio, start with 1 player (to test) | On / off. Alone in Studio the match still runs: the storm closes all the way and you win if you survive it. | On |
| Lobby time before a match (seconds) | Whole number (3 to 300) | 20 |
| Results time (seconds) | Whole number (3 to 60) | 10 |
| How players arrive | One of: Drop from the sky: skydive, then a parachute, Spawn on the ground | Drop from the sky: skydive, then a parachute |
| Drop height above the ground with no aircraft (studs) | Whole number (20 to 2,000) | 220 |
| Ride the drop aircraft across the map first (the map's FlightPath marker; SPACE / JUMP drops you over land) | On / off. The aircraft is a Model tagged BRDropVehicle (its pivot's -Z is its nose), else the Game Maker's, else a plane of parts. Riders are aboard and out of sight; the camera rides along. | On |
| Skydive fall speed (studs/s) | Number (5 to 400) | 70 |
| The parachute opens by itself this high above the ground (studs) | Number (10 to 2,000). JUMP again in the air opens it sooner. A Model tagged BRParachute is the canopy (else the Game Maker's, else one of parts). | 80 |
| Fall speed under the parachute (studs/s) | Number (5 to 200) | 30 |
| How far apart players land in one drop zone (studs) | Number (0 to 500) | 40 |
| Storm start radius (0 = from the map) | Whole number (0 to 20,000). 0 uses the BloxMaps ZoneCenter marker, else the map's Bounds, else 400 studs. | 0 |
| Storm phases | A list: Wait (seconds), Shrink time (seconds), Size after (% of the start), Damage per second outside per row. Each phase: wait, then shrink to its size (% of the start radius) over its shrink time. Damage is per second outside the circle. | 6 rows |
| Storm wall height (studs) | Whole number (20 to 5,000) | 400 |
| Storm wall colour (#RRGGBB) | Text (up to 7 characters) | "#A24BFF" |
| Guns lie on the map's loot spots (by rarity: a beam of its colour, E to pick up) | On / off. The game's own guns, their real models, at parts tagged BRLoot or the map's Loot markers: Common grey, Uncommon green, Rare blue, Epic purple, Legendary gold (by firepower). | On |
| Share of loot spots with a gun (%) | Number (0 to 100) | 50 |
| Most weapons a player carries (a pickup swaps out the weakest) | Whole number (2 to 10) | 5 |
| What players land with | One of: Their loadout, A knife and their weakest gun (loot the rest), Just a knife (loot every gun) | Their loadout |
| Reward currency | One of your currencys | your first currency |
| Reward for the winner | Whole number (0 to 1,000,000,000) | 300 |
| Reward per player you outlasted | Whole number (0 to 1,000,000,000) | 5 |
| Reward per elimination | Whole number (0 to 1,000,000,000) | 25 |
| Eliminated players spectate until the match ends | On / off. Off: they respawn normally (they're still out of the match). | On |
| Mark the storm centre with a beam when the map has no markers | On / off | On |
| Let the Rounds system start matches (when it's on) | On / off | On |
| Playing alone: bots drop in too | On / off. One player (Studio, a Rounds practice round) gets bot opponents: they head for the safe circle, hunt you when you're near and take storm damage; your weapons knock them out. | On |
| Bots when playing alone | Whole number (1 to 12) | 4 |
| Damage per bot hit | Number (1 to 1,000) | 8 |
Block Building#
Skywars / bedwars building: place blocks on a grid to bridge and wall up, mine them back with a pickaxe, all checked by the server and cleared every round.
- Blocks snap to a grid that meets the map's ground; a see-through block always shows where the next one goes, red with the reason where it can't; the server checks it all again
- Look past the edge of the block you stand on and the next one goes outward: a bridge laid by walking; mouse, phone and gamepad, holding keeps building
- A pickaxe mines blocks back (and map blocks tagged MineableBlock, with ore rewards); players start each round with a stack, mining refills it up to a cap
- The map's chests are loot chests: blocks, a better sword, apples and potions (the middle's are richer)
- Every block is cleared when a round ends; sandbox mode keeps and saves each player's build instead
Has a part on the player's device. Settings in GameData: GameData.Features.block_building.
| Setting | What it is | Starts as |
|---|---|---|
| Grid size (studs) | Number (1 to 16) | 4 |
| Reach (studs) | Number (4 to 60) | 18 |
| Blocks each player starts with | Whole number (0 to 10,000) | 50 |
| Most blocks a player can carry | Whole number (1 to 100,000) | 99 |
| Blocks a mined block gives back | Whole number (0 to 100) | 2 |
| Most placed blocks per player at once | Whole number (1 to 5,000) | 300 |
| Seconds before a placed block vanishes (0 = never) | Number (0 to 36,000) | 200 |
| Players can mine other players' blocks | On / off | On |
| No building this close to a spawn (studs) | Number (0 to 100). Sandbox: nothing within these studs of a spawn. Rounds: everyone starts ON a spawn, so only the standing room over each one is kept clear (0 = no rule). | 8 |
| Seconds between pickaxe hits | Number (0.05 to 3) | 0.25 |
| Seconds between placed blocks | Number (0.02 to 3) | 0.12 |
| When building is on | One of: During Rounds rounds: blocks given at the start, everything cleared at the end, Always (sandbox): blocks given on join | During Rounds rounds: blocks given at the start, everything cleared at the end |
| Sandbox: save each player's blocks (up to 2,000) | On / off | Off |
| What a round asks (shown at GO; empty = the round's own words) | Text (up to 100 characters) | "Bridge across with your blocks and be the last one standing!" |
| Ores and chests pay in | One of your currencys | your first currency |
| Coins a mined ore pays (x its OreAmount; when its Ore isn't a currency) | Whole number (0 to 100,000) | 5 |
| The map's chests are loot chests in a round (once each, opened by holding E) | On / off. BloxMaps Chest markers (Tier 1 on the islands, 2 in the middle) or parts / models tagged LootChest. | On |
| Seconds into a round when every chest fills again (0 = never) | Number (0 to 3,600) | 0 |
| Chest loot | A list: Name (shown when it comes out), What it gives, Amount, Chests (1 = islands, 2 = the middle, 0 = any), How often (weight) per row | 10 rows |
| Block types | A list: Name, Colour (#RRGGBB), Material (SmoothPlastic, Neon, Glass or ForceField), Pickaxe hits to mine it per row | 3 rows |
Board Grid#
A board game table: pieces with their own moves, turns, captures, a win and a bot opponent when you play alone.
- Any grid from 3x3 to 12x12 with pieces that step, slide or leap
- The server checks every move: whose turn, the piece's pattern, a clear path
- Take the enemy king (or leave them no move) to win the game's prize
- A bot takes the empty seat, so one player can always play
- Click a piece, then click where it goes
Settings in GameData: GameData.Features.board_grid.
| Setting | What it is | Starts as |
|---|---|---|
| Board width (cells) | Whole number (3 to 12) | 6 |
| Board height (cells) | Whole number (3 to 12) | 6 |
| Pieces at the start | A list: Piece name, Side, Column (1 = left), Row (1 = side A's edge), Moves (step:1:orth, step:1:diag, step:1:any, step:1:forward, slide:orth, slide:diag, slide:any, leap:knight), King (taking it wins) per row | 20 rows |
| A bot plays the empty seat | On / off | On |
| Seconds the bot thinks | Number (0 to 10) | 1 |
| Currency of the prize | One of your currencys | your first currency |
| Prize for a won game (0 = none) | Whole number (0 to 1,000,000,000,000) | 50 |
| Map tag of the board table | Text (up to 30 characters). A part with this tag (or a hub marker with this name) holds the board; none = a table by the spawn. | "BoardTable" |
| Cell size (studs) | Number (2 to 10) | 4 |
| Seconds before the next game | Number (1 to 60) | 5 |
| Moves before a draw | Whole number (10 to 1,000) | 200 |
Boss Fights#
A real boss with phases and a slam attack drives the design's BossBar live, shares its rewards by damage dealt, and comes back on a timer.
- Spawns your boss model (or a ready-made placeholder) that chases and hits players
- Gets angrier at low health: faster, stronger, with a telegraphed ground slam
- The design's BossBar shows its real name and health to everyone nearby
- Rewards are split by how much damage each player did, plus an item for the top damager
- Counts 'Bosses Slain' for leaderboards, quests, achievements and the profile screen
Has a part on the player's device. Settings in GameData: GameData.Features.boss_fights.
| Setting | What it is | Starts as |
|---|---|---|
| Bosses | A list: Name (empty = the design's BossBar name), Model in ServerStorage > BloxGame > Bosses (empty = placeholder), Health, Extra health per extra player nearby (%), Damage per hit, Reach (studs), Seconds between hits, Walk speed, Notices players within (studs), Spawns at (a Part's name; empty = a part named or tagged BossSpawn), Comes back after (seconds), Currency shared by damage dealt, Reward currency, Item for the top damager (a GameData.Items name; empty = none), Angry at this much health (%; 0 = never), Furious at this much health (%; 0 = never), Ground slam damage (when angry), Ground slam radius (studs), Seconds between slams per row. One row per boss. Put your boss Model (with a Humanoid) in ServerStorage > BloxGame > Bosses. | 1 row |
| Seconds after the server starts before the first boss appears | Whole number (0 to 3,600) | 5 |
| The BossBar shows when a player is this close (studs) | Whole number (20 to 5,000) | 250 |
| Damage share needed for a reward (%) | Number (0 to 100). Players who did less than this much of the damage get nothing (stops tag-and-leave). | 1 |
| The boss heals back to full after this long with nobody near (seconds) | Whole number (3 to 600) | 20 |
| Toasts when a boss appears, gets angry and is defeated | On / off | On |
| Show 'Bosses Slain' on the player list | On / off. Leaderboards with the stat 'Bosses Slain' rank it too. | On |
| Battle pass XP for each boss a player helps defeat (0 = none) | Whole number (0 to 1,000,000). Needs the Battle Pass Extra. | 0 |
Campfire Nights#
A co-op night-survival run round one campfire: gather by day, feed the fire to grow its safe light, survive the nights while creatures hunt outside it.
- The campfire's fuel sets a safe ring of light: creatures never hunt inside it, and it shrinks as the fire burns down
- Day and night with a night counter: chop wood, search scrap and pick food by day, keep the fire alive through the night
- Feeding the fire levels it up: a wider light and new rings of the forest to gather in
- A crafting bench with real items (a sharper axe, a bigger sack, a lantern, camp upgrades) and lost campers to bring home
- The run ends when everyone is down or the last night is survived: a Results screen, rewards, a fresh run
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.campfire_nights.
| Setting | What it is | Starts as |
|---|---|---|
| Nights to survive | Whole number (1 to 99) | 10 |
| The first day (s) | Number (20 to 1,800). Shorter than the others: the first night comes quickly. | 75 |
| A day (s) | Number (20 to 1,800) | 150 |
| A night (s) | Number (20 to 1,800) | 100 |
| Fuel the campfire holds (seconds of burning) | Number (30 to 7,200) | 300 |
| Fuel at the start of a run | Number (1 to 7,200) | 180 |
| Fuel one log adds (s) | Number (1 to 3,600) | 30 |
| The fire burns this many times faster at night | Number (1 to 5) | 1.5 |
| Logs burned for fire levels 2, 3, 4... | Text (up to 80 characters). Each level widens the light and opens the next ring of the forest. | "6, 16, 30, 50, 75" |
| Safe light at level 1 (studs) | Number (6 to 200) | 24 |
| More light per level (studs) | Number (0 to 100) | 9 |
| Light left when the fuel is almost gone (%) | Number (5 to 100) | 45 |
| Fire level that opens the forest's rings 1, 2, 3 | Text (up to 40 characters). Resource piles on a ring the fire hasn't reached yet stay in the dark. | "1, 2, 4" |
| What a player carries (wood + scrap + food) | Whole number (1 to 200) | 10 |
| Hold to gather (s) | Number (0 to 10) | 0.8 |
| Gathers before a pile is empty | Whole number (1 to 100) | 3 |
| An empty pile comes back after (s) | Number (5 to 3,600) | 90 |
| Health one food gives | Number (1 to 100) | 30 |
| Health per second by the fire | Number (0 to 20) | 1 |
| Creatures that enter the light burn (% of their health a second) | Number (0 to 100) | 20 |
| A rescued camper brings fuel (s) | Number (0 to 3,600) | 60 |
| Crafting bench | A list: Id, Name (the item a player gets), Cost, What it does, Amount, For the whole camp (built once a run) per row | 6 rows |
| Ranger class pass (its GameData.Passes name) | Text (up to 40 characters). Owners carry 5 more and gather 1 more from every pile. | "Ranger Class" |
| Firekeeper class pass (its GameData.Passes name) | Text (up to 40 characters). Owners' logs burn half as long again, and they heal twice as fast by the fire. | "Firekeeper Class" |
| Rewards are paid in | One of your currencys | your first currency |
| Paid at dawn for every night survived | Whole number (0 to 1,000,000,000) | 25 |
| Paid to the rescuer for a camper | Whole number (0 to 1,000,000,000) | 50 |
| Paid for surviving every night | Whole number (0 to 1,000,000,000) | 500 |
| Move the sun and darken the nights (Lighting) | On / off | On |
| Open the Results screen at the end | On / off | On |
| A fresh run starts after (s) | Number (5 to 300) | 25 |
Cash Bank#
Cash you carry drops when you die and anyone can grab it. Bank it at the vault by the spawn to keep it; no banking while in combat.
- What a player earns is carried until they bank it: dying drops a share of it as a bag anyone can pick up
- A vault by the spawn banks it with one press; the bank turns a player in combat away
- Everyone sees how much a player carries over their head: who is worth chasing
- Banking never moves the currency, so it can't be used to farm quests, levels or achievements
- The carried amount is saved: leaving the game doesn't make it safe
Needs: Data Saving. Settings in GameData: GameData.Features.cash_bank.
| Setting | What it is | Starts as |
|---|---|---|
| Currency that is carried and banked | One of your currencys | your first currency |
| The bank is called | Text (up to 24 characters) | "Bank" |
| Share of the carried cash a death drops (%) | Number (0 to 100) | 50 |
| Smallest bag (a smaller drop is no drop) | Whole number (1 to 1,000,000,000) | 10 |
| A bag lies for (seconds) | Number (10 to 3,600) | 120 |
| No banking for this long after being hurt (seconds) | Number (0 to 120). Losing health starts it for the hurt player and for the player who hurt them. 0 = the bank is always open. | 10 |
| Show the carried amount over each player's head | On / off | On |
| Name of the bank's marker in the map (none = a vault by the spawn) | Text (up to 40 characters) | "CashBank" |
Challenges & Time Trials#
Time trials from a start line to a finish line, timed by the server, with medals, best times and a global leaderboard.
- A start part and a finish part (or your BloxMaps obby) make a time trial; the server keeps the time
- Gold, silver and bronze par times with rewards, and every player's personal best is saved
- A global leaderboard of the fastest times
- A challenge of the day with a twist: no jumping, low gravity, super speed...
- Fills your design's Challenges screen and shows a live stopwatch
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.challenges.
| Setting | What it is | Starts as |
|---|---|---|
| Challenges | A list: Id (letters, keep it once live), Name, Gold par (seconds), Silver par (seconds), Bronze par (seconds), Reward currency, Gold reward, Silver reward, Bronze reward, Fastest possible time (seconds) per row. Tag a part "ChallengeStart" and one "ChallengeFinish", each with a text attribute Challenge = the id (or a Workspace folder Challenges/<id> with parts Start and Finish). The first challenge also runs on a BloxMaps obby: from checkpoint 1 to the finish line. | 1 row |
| Challenge of the day twists | A list: Twist per row. Each day one challenge gets one twist (the same on every server). Runs with the twist have their own daily leaderboard. | 5 rows |
| Challenge of the day bonus: currency | One of your currencys | your first currency |
| Challenge of the day bonus (beat the bronze par, once a day) | Whole number (0 to 1,000,000,000) | 300 |
| Leaderboard rows | Whole number (3 to 50) | 10 |
| Fastest a runner may move (studs per second) | Whole number (30 to 5,000). Moving faster (a teleport) cancels the run. | 200 |
| Start tag | Text (up to 40 characters) | "ChallengeStart" |
| Finish tag | Text (up to 40 characters) | "ChallengeFinish" |
| Checkpoint tag (optional; attribute Order = 1, 2, 3...) | Text (up to 40 characters). When a challenge has checkpoints, a run must touch them all, in order. | "ChallengeCheckpoint" |
| No start / finish parts: time the obby (checkpoint 1 to the finish line) | On / off | On |
| Show the best time on the player list | On / off | Off |
| Show the "Challenge of the day" button | On / off | On |
Checkpoint Race#
Race through checkpoints in order, lap after lap, against the clock and your own saved best time.
- Checkpoints count only in order: no cutting corners
- One lap or many, timed from the start line
- A personal best that saves, with pay for every finish and a new best
- On foot or in any vehicle the player sits in
- A map without checkpoints gets a tidy loop of gates round the spawn
Settings in GameData: GameData.Features.checkpoint_race.
| Setting | What it is | Starts as |
|---|---|---|
| Tag of the checkpoints | Text (up to 40 characters). Ordered by their attribute BloxCheckpoint (1, 2, 3...), else by name. | "Checkpoint" |
| Laps | Whole number (1 to 20) | 1 |
| Tag of the start line (empty = the first checkpoint starts the clock) | Text (up to 40 characters) | "StartLine" |
| Currency | One of your currencys | not set |
| Pay for each finish | Whole number (0 to 1,000,000,000) | 10 |
| Pay for a new personal best | Whole number (0 to 1,000,000,000) | 0 |
| An unfinished run resets after (seconds, 0 = never) | Number (0 to 3,600) | 0 |
| Fastest lap allowed (seconds; faster is refused) | Number (0 to 600). Stops teleporting to the finish. | 3 |
| A loop of gates by the spawn when the map has no checkpoints | On / off | On |
Click to Earn#
Makes your design's big CLICK button pay for real: server-checked clicks, boosts, and an auto-clicker pass.
- Every tap on the Clicker pays the currency it shows, saved on the server
- Rebirths, boosts, pets and VIP multiply what a click pays
- Stops click-spam cheats with a speed limit (auto-clickers allowed or not, your choice)
- Sell an Auto Clicker game pass: it clicks for the player, even while they explore
- No Clicker in your design? One in its own look appears so it works right away
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.click_to_earn.
| Setting | What it is | Starts as |
|---|---|---|
| Currency a click pays | One of your currencys. Used when the Clicker in your design doesn't name a currency of its own. | your first currency |
| Paid per click (before boosts) | Number (0 to 1,000,000,000,000). 0 = the amount your design's Clicker shows (1 when it shows none). A fraction (0.25) is banked: a whole coin every 4 clicks. | 0 |
| Most clicks counted per second | Whole number (1 to 60). Faster clicks are ignored. 20 is faster than any human can tap. | 20 |
| Allow auto-clicker programs | On / off. true = they only get the speed limit above. false = staying at the limit for a while pauses that player's clicks. | On |
| Seconds at the limit that count as an auto-clicker | Whole number (3 to 120). Only when auto-clickers aren't allowed. | 10 |
| Pause after an auto-clicker is spotted (seconds) | Whole number (5 to 600). Only when auto-clickers aren't allowed. | 30 |
| Auto Clicker game pass | A Roblox pass id. Empty = a game pass in GameData.Passes whose name says Auto Click (or whose perks have autoClick = true). | not set |
| Auto Clicker: clicks per second | Number (1 to 20) | 5 |
| Boosts multiply click earnings | On / off. Rebirths, timed boosts, pets, VIP and 2x passes all multiply what a click pays. | On |
| Pay clicks every (seconds) | Number (0.1 to 2). Smaller = the counter moves sooner. Bigger = less work for the server in full servers. | 0.25 |
| Show a CLICK button when the design has no Clicker | On / off | On |
| Show Clicks on the player list | On / off | Off |
Colony Empire#
Build an empire of little creatures: roll them from the queen, fill a growing nest, they carry food home, sell it when the live price is high.
- Six plots round a hub, a Home button, the next step on the HUD and a guide path for new players
- Made of general blocks: roster, roll station, displays, slot grid, workers, timed market, boards, events, converter
- The format's Robux ladder: Cash x2 -> x30 (always the next one on the HUD), cash packs that scale, a 3 R$ starter pack
- EFF and online leaderboards in the hub
Needs: Data Saving, Unit Roster & Traits, Roll Station, Display Shop, Slot Grid, Worker Route, Timed Market, Upgrade Boards, Event Rotation, Converter. Has a part on the player's device. Settings in GameData: GameData.Features.colony_empire.
| Setting | What it is | Starts as |
|---|---|---|
| The game's cash | One of your currencys | your first currency |
| The Home button says | Text (up to 30 characters) | "Nest" |
| Cash a new player gets (enough for the first unit) | Number (0 to 1,000,000,000,000) | 100 |
| Plots to make when the map has none | Whole number (1 to 12) | 6 |
| Map marker: the plots' tag (attribute PlotIndex) | Text (up to 30 characters) | "ColonyPlot" |
| Starter pack: potions of mutation n (0 = none) | Whole number (0 to 6) | 2 |
| Sell the cash ladder, packs, starter pack and 3x offline | On / off | On |
| Show the next step on the HUD's Objective | On / off | On |
| Cash x2 product (its name in GameData.Products) | Text (up to 60 characters) | "Cash x2" |
| Cash x4 product (its name in GameData.Products) | Text (up to 60 characters) | "Cash x4" |
| Cash x8 product (its name in GameData.Products) | Text (up to 60 characters) | "Cash x8" |
| Cash x12 product (its name in GameData.Products) | Text (up to 60 characters) | "Cash x12" |
| Cash x24 product (its name in GameData.Products) | Text (up to 60 characters) | "Cash x24" |
| Cash x30 product (its name in GameData.Products) | Text (up to 60 characters) | "Cash x30" |
| 3x Offline Rewards product (its name in GameData.Products) | Text (up to 60 characters) | "3x Offline Rewards" |
| Starter Pack product (its name in GameData.Products) | Text (up to 60 characters) | "Starter Pack" |
| Cash Pack S product (its name in GameData.Products) | Text (up to 60 characters) | "Cash Pack S" |
| Cash Pack M product (its name in GameData.Products) | Text (up to 60 characters) | "Cash Pack M" |
| Cash Pack L product (its name in GameData.Products) | Text (up to 60 characters) | "Cash Pack L" |
| Cash Pack XL product (its name in GameData.Products) | Text (up to 60 characters) | "Cash Pack XL" |
Combiner (fuse / forge with odds)#
A fuse machine or forge: N ingredients in, one result out, every possible result and its odds shown live before you commit, a timing bar for better luck.
- Fill the slots (4 pets, 7 ores...): the possible results and their % update live, rarity colours and mutations
- Rarer and more ingredients mean better odds; the odds shown are exactly the odds the server rolls
- A timing bar before the roll: Good x1.4 luck, Perfect x2 (the zone narrows for rarer ingredients)
- A free pity guarantee, an optional Guaranteed Upgrade product, Skip and Fast passes (never for players Roblox restricts)
- Works on any game's items: the pets of a pet game, a forge's ores and gear, or your own lists
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.combiner.
| Setting | What it is | Starts as |
|---|---|---|
| The machine is called | Text (up to 30 characters) | "Fuse Machine" |
| Its button says | Text (up to 20 characters) | "Fuse" |
| Ingredient slots | Whole number (1 to 8) | 4 |
| Fewest ingredients for a go | Whole number (1 to 8). Each ingredient past this many adds luck (below). | 2 |
| Luck for each ingredient past the fewest (x) | Number (1 to 4) | 1.25 |
| Ingredients (empty = every item of the game with a rarity) | A list: Item, Rarity per row | empty |
| Only these kinds go in (comma separated, empty = any) | Text (up to 80 characters). "Pet" for a pet fuse machine, "Ore" for a forge (GameData.Items kind). | empty |
| Results (empty = the same items as the ingredients: pets fuse into pets) | A list: Item, Rarity, Type (Weapon, Armor...; the panel lets the player pick) per row | empty |
| No results listed: the game's items of these kinds come out (empty = the ingredients) | Text (up to 80 characters). "Weapon, Armor" for a forge (ores in, gear out); empty for a fuse (pets in, pets out). | empty |
| A game with no items of a rarity uses the example ores and gear | One of: Ores in, weapons and armor out, Nothing (the machine says so) | Ores in, weapons and armor out |
| Odds model | One of: Spread: one down / same / one up / two up (below), Next tier: the ingredients' rarity or the next one up (chance below) | Spread: one down / same / one up / two up (below) |
| Next tier: chance at the commonest step (percent) | Number (0 to 100) | 10 |
| Next tier: added over the whole ladder (percent) | Number (0 to 100) | 40 |
| Next tier: ladder steps that span covers | Number (1 to 20) | 8 |
| Next tier: lowest chance (percent) | Number (0 to 100) | 10 |
| Next tier: highest chance (percent) | Number (0 to 100) | 50 |
| Next tier: luck may add at most (percent over the highest) | Number (0 to 50) | 5 |
| Result odds from the ingredients' rarity: one down, same, one up, two up (percent) | Text (up to 40 characters) | "15,60,22,3" |
| Mutations (a result arrives as "Golden <name>") | A list: Mutation, Chance (percent), Passed on from an ingredient that has it (percent, added) per row | 2 rows |
| Free guarantee: every Nth go without an upgrade is one (0 = off) | Whole number (0 to 100) | 8 |
| Results listed in the odds panel | Whole number (3 to 12) | 6 |
| A timing bar before the roll (better luck when hit) | On / off | On |
| Timing bar: cursor speed (degrees a second over a 180 bar) | Number (30 to 1,440) | 180 |
| Timing bar: zone width (degrees) | Number (4 to 180) | 48 |
| Timing bar: the zone narrows this much per rarity step | Number (0 to 90) | 6 |
| Timing bar: narrowest zone (degrees) | Number (2 to 180) | 12 |
| Timing bar: seconds before it counts as a miss | Number (1 to 30) | 6 |
| A Good hit: luck (x) | Number (1 to 10) | 1.4 |
| A Perfect hit: luck (x) | Number (1 to 10) | 2 |
| A Good hit: mutation chance (x) | Number (1 to 10) | 1.5 |
| A Perfect hit: mutation chance (x) | Number (1 to 10) | 2 |
| Each go costs (currency) | One of your currencys | your first currency |
| ...this much x the ingredients' rarity step (0 = free) | Number (0 to 1,000,000,000,000,000) | 0 |
| ...plus this x the ingredients' own prices (0 = off) | Number (0 to 100) | 0 |
| Wait by the ingredients' rarity step, comma separated (empty = the seconds below) | Text (up to 120 characters) | empty |
| Seconds before the result is ready (0 = at once) | Number (0 to 86,400) | 0 |
| A new player gets ("Copper Ore x4, Iron Ore x2") | Text (up to 200 characters) | empty |
| Map marker: the machine stands here (a part's name) | Text (up to 40 characters) | "CombineMachine" |
| No marker: put the machine next to the spawn | On / off | On |
| Only at the machine (else the HUD button works anywhere) | On / off | Off |
| How close to the machine (studs) | Number (4 to 60) | 14 |
| Sell the Robux extras below | On / off | On |
| Sell a Guaranteed Upgrade (the next go lands at least one rarity up) | On / off | On |
| Guaranteed Upgrade product (its name in GameData.Products) | Text (up to 60 characters) | "Guaranteed Upgrade" |
| Sell a Skip (finishes a timed go now) | On / off | Off |
| Skip product (its name in GameData.Products) | Text (up to 60 characters) | "Skip Wait" |
| Sell a Fast pass (no waiting, the quick reveal) | On / off | Off |
| Fast pass (its name in GameData.Passes) | Text (up to 60 characters) | "Fast Fuse" |
Converter#
A machine in the hub that turns spare units into boosts: fill it, start it, collect after the timer.
- Spare units go in (the Units list's Convert); their worth fills the machine
- Start it: a cycle (5 minutes by default), then collect the reward at the machine
- Rewards by how full it was: speed boosts, a mutation potion at 100%, half its worth in cash
- A Robux skip finishes the cycle at once
Needs: Data Saving, Unit Roster & Traits. Settings in GameData: GameData.Features.converter.
| Setting | What it is | Starts as |
|---|---|---|
| Currency its cash reward pays | One of your currencys | your first currency |
| The machine is called | Text (up to 30 characters) | "Converter" |
| A cycle takes (seconds) | Whole number (5 to 86,400) | 300 |
| Worth that fills it (100%) | Number (1 to 1,000,000,000,000,000,019,884,624,838,656) | 100,000 |
| Map marker: the machine (in the hub) | Text (up to 30 characters) | "Converter" |
| Sell the skip | On / off | On |
| Skip product (its name in GameData.Products) | Text (up to 60 characters) | "Finish Converter" |
Creatures & Wildlife#
Animals that live in your world: deer and rabbits that wander and bolt when you come close, cows and chickens that graze by the barn, a horse you can ride, a fox that follows you, wolves that hunt. They walk, run, eat and attack on their own legs.
- Herds: say which animal, how many and how it behaves (wander, flee, graze, hunt, follow, mount)
- Every animal moves by code on its own skeleton or parts: it plays in any game, no animation uploads
- Mounts: walk up, press the prompt, ride; jump to get off
- Hunters chase and bite, by night only if you like; prey runs away and comes back when it's calm
- Light on the server: one loop for every animal, the motion is drawn on each device
Has a part on the player's device. Settings in GameData: GameData.Features.creatures.
| Setting | What it is | Starts as |
|---|---|---|
| Herds | A list: Animal (a model in ServerStorage > BloxGame > Creatures: its name, its kind or a role), Behaviour, How many, Health, Bite damage (hunters), Walk speed, Run speed, Size (1 = its own) per row. Each herd lives round a part tagged CreatureSpawn (attributes Creature, Count, Behaviour, Radius), or, without one, on open ground near the map's spawn. | empty |
| Most animals alive at once | Whole number (1 to 40) | 16 |
| Seconds until a fallen animal is replaced | Number (5 to 600) | 45 |
| Hunters only hunt at night (they sleep by day) | On / off | Off |
| How close a player must come for prey to bolt / a hunter to notice (studs) | Number (5 to 200) | 40 |
| The mount's prompt | Text (up to 20 characters) | "Ride" |
Deathrun#
Runners race the course while the killer fires the traps: reach the end to win, or be the killer who stops them all.
- Every round one killer (fair: the longest wait is likeliest) at killer speed, everyone else runs
- The killer fires traps from buttons on the map (each once a round), or from a trap bar on any course
- Runners who reach the finish win; the killer wins when no runner makes it
- Coins for finishing, for staying alive, and for the killer per runner stopped
- Works with Rounds and Maps & Voting: a new course every round
Needs: Rounds & Match Flow, Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.deathrun.
| Setting | What it is | Starts as |
|---|---|---|
| Runner walk speed | Number (4 to 60) | 16 |
| Killer walk speed | Number (4 to 80) | 30 |
| One more killer for every N players (0 = always one) | Whole number (0 to 50) | 0 |
| Seconds a trap stays deadly | Number (0.5 to 15) | 2.5 |
| Seconds a trap flashes before it bites | Number (0 to 5) | 0.6 |
| Seconds between the killer's traps | Number (0 to 30) | 1.5 |
| A course without trap buttons: traps at its checkpoints (the killer's trap bar) | On / off | On |
| Currency the rewards pay | One of your currencys | your first currency |
| Reward for reaching the finish | Number (0 to 1,000,000,000) | 50 |
| Reward per second alive (his game paid 1.25 points a second) | Number (0 to 1,000,000) | 0.25 |
| Killer's reward per runner stopped | Number (0 to 1,000,000,000) | 15 |
| Game pass: better killer chance | A Roblox pass id | not set |
| Extra killer chance with the pass (his: +20 %) | Number (0 to 10) | 0.2 |
Descent Run#
A co-op escape run along a staged route: an opening, areas and checkpoints on the way down or out, a vehicle (or exit) at the end to start and board, and who made it out.
- A short opening (no signal, your friends, the goal far away), then the route: the map's own areas and checkpoints, in order
- Shortcuts: a gated passage and ziplines you switch on from below; a player carried off walks back down the way they came
- The vehicle at the end (a car, a truck, a van...): unlock it, hold to start it (progress is kept), board, leave together or on a countdown
- One fair look at everyone when it leaves: who escaped, who was left behind, who made it out with the whole party
- Escapes, rescues, no-firearm runs and whole-party runs are saved and unlock looks (only worn when chosen)
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.descent_run.
| Setting | What it is | Starts as |
|---|---|---|
| Players needed to start | Whole number (1 to 4) | 1 |
| Wait for the rest of a party (s) | Number (0 to 120). One place only: a run starts this long after the first player is in (a two-place game starts when the lobby's party has arrived). | 8 |
| First-person camera on the mountain | On / off. The camera is locked in first person while you play; only the opening and the ending show the scene from outside. | On |
| Opening length (s) | Number (0 to 30). Phone, friends, valley, howl: a quarter of it each. 0 = no opening. | 12 |
| The opening's one subtitle | Text (up to 80 characters) | "No signal. We have to get back to the car." |
| Returning parties may vote to skip the opening | On / off. Skipped only when nobody is seeing it for the first time and more than half of the party asks. | On |
| Wolves wait at most this long for everyone's controls (s) | Number (0 to 20). Danger begins once every player's camera is back with them, or after this long. | 3 |
| Small one-time hints (sprint, flashlight) | On / off | On |
| Objective on the way down | Text (up to 60 characters) | "Reach your car at the bottom of the mountain" |
| Objective once the car is unlocked | Text (up to 60 characters) | "Start the car and get everyone inside" |
| A checkpoint counts within (studs) | Number (4 to 80) | 18 |
| The service gate opens from within (studs) | Number (4 to 30) | 12 |
| Hold to switch a zipline on (s) | Number (0 to 5) | 1 |
| Zipline speed (studs / s) | Number (20 to 300) | 50 |
| A zipline ride takes at least (s) | Number (1 to 30) | 4 |
| A zipline ride takes at most (s) | Number (2 to 60) | 28 |
| The vehicle at the end (one word) | Text (up to 20 characters). Every text says it: "Start the truck", "Board Van". The map's Vehicle marker places the model. | "car" |
| The car's prompts work within (studs) | Number (4 to 30) | 12 |
| Hold to start the engine (s) | Number (1 to 30). The starter turns, hesitates once, then catches. Letting go (or being attacked) keeps what you had. | 8 |
| Predators hear the engine start from (studs) | Number (0 to 600). Told to the Predator Pack as a noise, so it uses the same budget as every other encounter. | 180 |
| Leave this long after everyone is in (s) | Number (1 to 15) | 3 |
| Begin Departure countdown (s) | Number (10 to 300). A seated player starts it, the whole party sees it, and only that player can cancel it. | 60 |
| Ending length (s) | Number (0 to 20) | 8 |
| Open the Results screen at the end | On / off | On |
| Recognition is paid in | One of your currencys. Spent in the lodge's shop on looks only (jackets, backpacks, flashlight finishes). Nothing sold changes survival. | your first currency |
| Paid for escaping | Whole number (0 to 1,000,000) | 100 |
| Paid for each friend rescued | Whole number (0 to 1,000,000) | 25 |
| Paid for an escape without firing | Whole number (0 to 1,000,000) | 50 |
| Paid for bringing the whole party home | Whole number (0 to 1,000,000) | 50 |
| One place: next descent starts after (s) | Number (5 to 300). Sooner when everyone presses Play Again. A two-place game goes back to its lobby instead. | 30 |
| Lobby place (0 = found by Lobby & Queue, or none) | A Roblox place id. Only needed without Lobby & Queue: where Return to Lobby sends a player. | not set |
| Starter sound (rbxassetid) | Text (up to 80 characters) | "rbxassetid://185372424" |
| Engine loop (rbxassetid) | Text (up to 80 characters) | "rbxassetid://247976926" |
| Car door sound (rbxassetid) | Text (up to 80 characters) | "rbxassetid://157167205" |
| The opening's far howl (rbxassetid) | Text (up to 80 characters). Played low and far away from the next ridge. | "rbxassetid://6329686363" |
Detection#
Guards and cameras that spot players in a vision cone: a suspicion meter, hiding spots, sneaking and an alarm.
- Any tagged part becomes a watcher that sees players in a cone (walls block its sight)
- A suspicion meter fills while a player is seen and drains when they're not; full = caught
- Hiding spots and sneaking help players stay unseen
- Motion mode: only players who move while watched get caught (freeze when it turns!)
- Other systems hear every spot and catch, and can catch a player themselves
Settings in GameData: GameData.Features.detection.
| Setting | What it is | Starts as |
|---|---|---|
| Tag of the watchers | Text (up to 40 characters). The CollectionService tag the guards / cameras / lamps carry. They look the way their front faces. | "Watcher" |
| How far they see (studs) | Number (5 to 300) | 40 |
| Cone width (degrees) | Number (10 to 360). The full width of the vision cone; 360 = all the way round. | 90 |
| Seconds seen to be caught | Number (0.2 to 30) | 2 |
| Seconds to calm down (full to empty) | Number (0.5 to 60) | 4 |
| Tag of the hiding spots | Text (up to 40 characters) | "HidingSpot" |
| Hiding spot reach (studs) | Number (2 to 30). A player this near a hiding spot can't be seen. | 5 |
| Meter speed while sneaking | Number (0 to 1). 1 = as fast as walking, 0 = sneaking players are never spotted. | 0.4 |
| What gets you caught | One of: Being seen, Moving while watched | Being seen |
| Look / turn away every (seconds) | Number (0 to 60). Watchers take turns looking and looking away; 0 = always looking. | 0 |
| When caught | One of: Respawn, Send to a marker, Knocked out, Nothing (other systems decide) | Respawn |
| Marker caught players go to | Text (up to 40 characters). A tag or a hub marker name (for 'Send to a marker'); empty = the spawn. | empty |
| Alarm after a catch (seconds) | Number (0 to 600). The workspace attribute BloxGame_Alarm is on this long; 0 = no alarm. | 20 |
| Seconds between sight checks | Number (0.1 to 2) | 0.25 |
| A watcher by the spawn when the map has none | On / off. One tidy lamp post with a slowly turning head. | On |
Dialogue#
NPCs that talk: a dialogue box with the speaker's name, typewriter text you can skip, choices that branch, and hooks for quests.
- Tag a model DialogueNPC: players get a Talk prompt beside it
- Lines type out (tap to skip), choices branch the conversation
- Choices can give items, start a quest step or fire your own event
- Write a whole conversation in one line of settings (see the help text)
- The server walks the conversation: a device can't skip to a reward
Has a part on the player's device. Settings in GameData: GameData.Features.dialogue.
| Setting | What it is | Starts as |
|---|---|---|
| Conversations | A list: Id (a DialogueNPC's Dialogue attribute), NPC name (shown as the speaker), Lines (| between lines) per row | 2 rows |
| Talk distance (studs) | Number (4 to 60) | 12 |
| Letters per second | Number (5 to 400) | 40 |
Display Shop#
What a roll gives sits on displays on your plot with its price: buy the one you want; the next roll replaces the rest.
- Each display shows the unit itself (its model), its name, tier colour, stat and cash price
- "New!!" on a unit you've never owned
- Buy with the display's prompt; the unit joins the roster (and a free slot)
- The map's Podium<n> markers, else a tidy row of podiums
Needs: Data Saving, Unit Roster & Traits. Settings in GameData: GameData.Features.display_shop.
| Setting | What it is | Starts as |
|---|---|---|
| Currency the displayed units cost | One of your currencys | your first currency |
| Map marker: each display (+ its number) | Text (up to 30 characters) | "Podium" |
| Displays per plot (when the map has none) | Whole number (1 to 10) | 5 |
| Tag on a unit never owned | Text (up to 20 characters) | "New!!" |
| What an empty display says (how to fill more of them) | Text (up to 40 characters) | "Upgrade Rolls to fill" |
Door Run#
A room-by-room horror run: ride the elevator, open numbered doors one by one, hide from what hunts the halls, and make it to the last door.
- Every run is different: hand-built rooms snapped together from a seed, numbered doors, locked rooms with the key inside
- Eight original threats, each with a clear warning and a way to survive it: hide, look, look away, run, crouch
- Drawers full of Brass to spend at the porter's desk halfway, lanterns and flashlights that run out, a pre-run shop in the lobby
- A library puzzle, chases, a dark conservatory and a boiler-room finale; tips after every death, spectating, one revive per run
- Only the rooms near the players are loaded (mobile friendly); elevators in the lobby take groups of up to 4 (Lobby & Queue)
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.door_run.
| Setting | What it is | Starts as |
|---|---|---|
| Doors in a run | Whole number (20 to 100). The last door is the finale. Shorter runs keep the library, the conservatory and one chase when they fit. | 100 |
| Difficulty | One of: Easy (fewer threats, more patient closets), Normal, Hard | Normal |
| Runs at once in one server | Whole number (1 to 12) | 6 |
| Ride alone without the elevators' queue | On / off. Without Lobby & Queue (or gates on the map) every elevator gets a 'Ride' prompt that starts a run for whoever stands in it. | On |
| Rewards are paid in | One of your currencys | your first currency |
| Reward per door opened | Whole number (0 to 1,000) | 1 |
| Reward for escaping | Whole number (0 to 100,000) | 50 |
| Brass per 1 reward at the end | Whole number (1 to 1,000) | 20 |
| Pre-run shop in the lobby | On / off | On |
| The porter's desk halfway (Brass shop) | On / off | On |
| Sell revives (one per run) | On / off | On |
| Revive product name | Text (up to 40 characters) | "Revive" |
| Revive product | A Roblox product id. A Developer Product. Until it's set, Studio sells it as a test purchase and a live game hides the button. | not set |
| Death tips (the Lamplighter) | On / off | On |
| Dark in-run lighting (the lobby keeps the map's) | On / off | On |
| First person in a run | On / off | Off |
Emotes#
The design's emote wheel and emote window play real animations, with optional paid emotes through game passes or items.
- Every emote on the design's wheel and in its emote window really plays
- Starts with Roblox's own public emotes (wave, point, three dances, laugh, cheer, salute)
- Paste any animation id to add your own; loops keep going until the player moves
- Sell emotes: lock one behind a game pass (the buy prompt opens) or an item
- Works on phones, R15 and R6 characters
Has a part on the player's device. Settings in GameData: GameData.Features.emotes.
| Setting | What it is | Starts as |
|---|---|---|
| Emotes | A list: Name, Other names in the design (with commas), Animation id (R15), Animation id (R6 characters; empty = none), Catalog emote id (optional, R15; played with Humanoid:PlayEmote), Keeps playing until the player moves, Needs this game pass (a GameData.Passes name or id; empty = free), Needs this item (a GameData.Items name; empty = free) per row. The design's emote names are matched to a row by its name or one of its other names. | 8 rows |
| Moving or jumping stops an emote | On / off | On |
| Seconds between two emotes | Number (0 to 10) | 0.5 |
| Pressing a locked emote opens its game pass's buy prompt | On / off | On |
Fashion Show: Dress-Up Runway#
A dress-up runway show every round: a theme, a race to get dressed, a walk down the runway, star votes from the room and the judges, and a podium.
- Every show picks a theme (no repeats until every theme was used) and everyone gets dressed against the clock
- Models walk the runway one by one while everyone else rates the look from 1 to 5 stars
- The judges score how much you wear and how well it fits the theme, so a show played alone still works
- Top 3 stand on the pose stage; coins for taking part, for every star and for the podium
- Saved stars give a rank title and a chat tag; pieces tagged vip need the VIP Closet pass
Needs: Rounds & Match Flow, Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.fashion_show.
| Setting | What it is | Starts as |
|---|---|---|
| Themes (one per show) | A list: Theme, Style words (comma-separated) per row. Each show picks one; none repeats until every theme was used. The judges like pieces whose tags share a style word with the theme. | 24 rows |
| Seconds to get dressed | Whole number (20 to 600). Ends early when every model pressed Ready. | 120 |
| Seconds each model walks the runway (the vote is open meanwhile) | Whole number (3 to 30) | 8 |
| Currency the rewards pay | One of your currencys | your first currency |
| Reward for taking part | Whole number (0 to 1,000,000,000) | 20 |
| Reward per star (whole stars) | Whole number (0 to 1,000,000,000) | 10 |
| Bonus for 1st place | Whole number (0 to 1,000,000,000) | 100 |
| Bonus for 2nd and 3rd place | Whole number (0 to 1,000,000,000) | 50 |
| Pieces one look may wear (one per slot) | Whole number (1 to 20) | 12 |
| Wardrobe pieces | A list: Piece name (as in the wardrobe), Slot, Style tags (comma-separated; vip = VIP Closet only), Colour (#RRGGBB, only when the piece has no model), Closet price (0 = free from the start; bought once in the shop's Closet: item id closet_<name>), Closet price currency (empty = the rewards' currency) per row. Names as the design's wardrobe shows them. The model is ServerStorage > BloxGame > Outfits > <name> (an Accessory, a Shirt, a Pants, or a Model / Folder of those). A Shirt / Pants without a model tints the body; other pieces without a model aren't shown. Tag a piece vip for the VIP Closet. | 18 rows |
| Star Power game pass: stars count twice toward the rank (its name) | Text (up to 50 characters) | "Star Power" |
| VIP Closet game pass (its name in GameData.Passes) | Text (up to 50 characters). Pieces tagged vip need this pass; a locked one opens its purchase. Until the pass has an id they're free for everyone. | "VIP Closet" |
Fighter Roster#
Pick a fighter and brawl: a free-for-all battlegrounds with four moves and an ultimate per fighter, or best-of-3 duels.
- The fighters screen really picks your fighter: health, speed, power, defence and a kit of four moves and an ultimate
- Battlegrounds: everyone in the arena at once, a four-hit combo, blocks and parries, knockback, KO streaks, back in seconds
- Or 1v1 duels in an arena: ROUND 1, FIGHT!, K.O., first to 2 round wins
- Punch, kick, block, dash and an ultimate on keys, gamepad and the design's touch buttons
- Every hit, knockout and reward decided on the server; KOs and streaks saved; practice bots so you can test alone
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.fighter_roster.
| Setting | What it is | Starts as |
|---|---|---|
| Fighters | A list: Fighter name, Health, Walk speed, Punch damage, Kick damage, Ultimate damage, Power (% extra damage), Defence (% less damage taken), Free for everyone, Kit (battlegrounds: what its moves do), Colour of its moves and aura (#RRGGBB, empty = the kit's), Move names: four moves and the ultimate, with commas (empty = the kit's) per row. Names match the design's fighters screen. Punch / kick / ultimate are damage; power is a damage bonus in %, defence cuts damage taken in %. Fighters that aren't free must be owned (a crate, the shop, the inventory). | 10 rows |
| Round wins needed (2 = best of 3) | Whole number (1 to 5) | 2 |
| Round length (seconds, 0 = the design's Round timer) | Whole number (0 to 600) | 99 |
| "ROUND 1... FIGHT!" countdown (seconds) | Whole number (0 to 10) | 3 |
| Pause after a knockout (seconds) | Whole number (1 to 10) | 3 |
| Results screen time before the next fight (seconds) | Whole number (3 to 60) | 8 |
| Players join the fight queue by themselves | On / off | On |
| Practice bot when nobody else is waiting | One of: In Studio only, Always, Never | In Studio only |
| Seconds alone in the queue before the bot comes | Whole number (1 to 300) | 15 |
| Bot damage (% of its fighter's) | Number (0 to 200) | 60 |
| Who starts fights | One of: The duel queue, unless a Rounds Extra is on, Always the duel queue, A Rounds Extra (round_started queues everyone, round_ended ends the fights), Battlegrounds: everyone fights at once in the open arena, back moments after a K | The duel queue, unless a Rounds Extra is on |
| Battlegrounds: seconds before a knocked-out fighter is back | Number (0 to 10) | 2 |
| Battlegrounds: seconds a new body can't be hit | Number (0 to 10) | 2 |
| Battlegrounds: damage dealt that fills the ultimate (taken counts half) | Number (10 to 5,000) | 120 |
| Battlegrounds: seconds awakened after an ultimate (harder hits, faster) | Number (0 to 60) | 12 |
| Battlegrounds: practice bots while fewer than two people play | Whole number (0 to 6) | 2 |
| Battlegrounds: extra reward per KO for each KO of a streak (up to 5) | Whole number (0 to 1,000,000,000) | 5 |
| Moves | One of: Built-in moves, unless the Melee Combat Extra is on, Always the built-in moves, The Melee Combat Extra's moves (through the event bus) | Built-in moves, unless the Melee Combat Extra is on |
| Seconds between punches | Number (0.1 to 5) | 0.45 |
| Seconds between kicks | Number (0.1 to 10) | 0.9 |
| Seconds between ultimates | Number (1 to 120) | 15 |
| Seconds between dashes | Number (0.2 to 10) | 1.2 |
| Blocking stops this much damage (%) | Number (0 to 100) | 70 |
| Reward currency | One of your currencys | your first currency |
| Reward for a win | Whole number (0 to 1,000,000,000) | 100 |
| Reward for a loss | Whole number (0 to 1,000,000,000) | 25 |
| Reward per knockout | Whole number (0 to 1,000,000,000) | 10 |
| Show Wins and KOs on the player list | On / off | On |
| Open the design's Results screen after a fight | On / off | On |
Flashlight & Battery#
A real flashlight that runs out: the battery drains on the design's battery meter, pickups and spare batteries refill it.
- A flashlight tool that lights the way (F, the design's Flashlight button, or a click)
- The battery drains while it's on and shows on the design's Battery meter, flickering when it's low
- Battery pickups in the world (parts tagged Battery) and spare batteries from your shop
- Night vision and zoom when your design has them
- Saved: the battery level comes back after a rejoin
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.flashlight.
| Setting | What it is | Starts as |
|---|---|---|
| Tool name | Text (up to 40 characters). A Tool in ServerStorage > BloxGame > Tools with this name (else a placeholder). Empty = an item named like Flashlight, Lighter or Torch in GameData, else "Flashlight". | empty |
| Give every player the tool | On / off | On |
| A full battery lasts (seconds of light) | Number (5 to 3,600) | 150 |
| Night vision drains this many times faster | Number (1 to 20) | 2 |
| Battery for new players (%) | Number (0 to 100) | 100 |
| A battery pickup gives (%) | Number (1 to 100) | 50 |
| Pickups come back after (s, 0 = never) | Number (0 to 3,600) | 60 |
| Spare batteries are this currency | One of your currencys. When the battery dies, one spare is used up automatically. Empty = a currency named like "Batteries", or the item "Battery" in the backpack. | not set |
| Low battery warning at (%) | Number (0 to 50) | 15 |
| Night vision | One of: When the design has a Night Vision button, Always, Never | When the design has a Night Vision button |
| Zoom | One of: When the design has a Zoom button, Always, Never | When the design has a Zoom button |
| Zoomed field of view | Number (10 to 69) | 35 |
| Light range (studs) | Number (5 to 60) | 60 |
| Light brightness | Number (0.5 to 10) | 3 |
| Beam colour (#RRGGBB) | Text (up to 7 characters). Warm white by default; the owner's horror game uses a cool #C6EDFF. | "#FFF4DC" |
| Beam width (degrees) | Number (20 to 120) | 55 |
| A weak lantern glow that never runs out | On / off. A warm glow around each player while the beam is off, so nobody is left in pitch black (the owner's horror game gives everyone a lantern). | Off |
| Lantern glow range (studs) | Number (6 to 40) | 24 |
| Flashlight game pass (0 = everyone gets the flashlight) | A Roblox pass id. Only owners of this pass get the flashlight; everyone else has the lantern. | not set |
| Or the game pass of this name in GameData.Passes | Text (up to 40 characters). The owner's horror game sells the flashlight as a pass ("Flashlight"). Until its id is pasted everyone gets the flashlight. | empty |
| Make placeholder batteries when the map has none | On / off | On |
Game Music#
Upbeat background music for any game that isn't horror: a playlist from Roblox's licensed-for-all library, picked by mood and shuffled per game.
- Tracks every account can play (Roblox's licensed APM library, each id checked to load in other people's games)
- Moods: cheerful pop, playful, chill; the game's seed shuffles the order so no two games start the same
- Loops the playlist with a short gap, through your design's Music slider
- Your own uploaded tracks play first in your own games (the tracks setting)
Has a part on the player's device. Settings in GameData: GameData.Features.game_music.
| Setting | What it is | Starts as |
|---|---|---|
| Mood | One of: Cheerful pop (simulators, tycoons, empires), Playful (obbies, pets, cartoony), Chill (roleplay, building, cozy) | Cheerful pop (simulators, tycoons, empires) |
| Shuffle seed | Whole number (0 to 1,000,000,000) | 0 |
| Music volume (%) | Whole number (0 to 100) | 100 |
| Your own track ids (comma separated, played first; uploads only play in your own games) | Text (up to 300 characters) | empty |
Gathering#
Trees and rocks you gather by hitting them: each hit pays a share of the node, better tools take fewer hits and keep more.
- Hit a tree or a rock with a tool: every hit pays its share of Wood, Stone, Metal or Sulfur at once
- Hit the glowing weak spot for double, and the last hit pays a finishing bonus
- Tools from a rock (25 hits, 37 % kept) to a power drill (9 hits, all of it); tools wear out and can be repaired
- Nodes stay at a count per area: a used-up tree grows back somewhere else, never under a base
- Every hit checked by the server: the tool you hold, its swing time, its reach, the spot you hit
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.gathering.
| Setting | What it is | Starts as |
|---|---|---|
| Resource nodes | A list: Id, Name, Kind (which tool numbers it uses), Loot drained by the hits, Bonus for the last hit, How many in each area, Only in these areas (Biome attribute, comma list; empty = all), Model (ServerStorage > BloxGame > Nodes > ...; empty = its name), The map's own models with these words in their names become this node per row | 4 rows |
| Tools | A list: Tool (an item; its Tool comes from the gear library), Hits to fell a tree (0 = can't), Share of a tree's wood kept, Hits to break a rock (0 = can't), Share of a rock's ore kept, Seconds between swings, Reach (studs), Durability (hits; 0 = never breaks), What it costs (a repair costs half) per row | 7 rows |
| Tools a new player gets once | Text (up to 120 characters) | "Rock" |
| Gather rate (x everything paid) | Number (0.01 to 100) | 1 |
| Weak spots (a glowing spot that counts double) | On / off | On |
| Seconds between top-ups of each area | Number (2 to 3,600) | 30 |
| Steepest ground a node grows on (degrees) | Number (5 to 80) | 30 |
| Area round the spawn when the map has none (studs) | Number (30 to 5,000) | 220 |
| Owned tool items are Tools in the backpack | On / off | On |
| Repair only next to parts with this tag (empty = anywhere) | Text (up to 40 characters) | empty |
Grow & Steal#
The grow-and-steal loop: buy seeds before the restock, plant them on your own plot, harvest and sell, and sneak onto other gardens to steal ripe crops while they're unlocked.
- Every player gets a garden plot (the map's plots, or tidy placeholder plots), saved and regrown on every visit
- A seed stall with a restock timer; bushes and trees keep fruiting up to a cap (caught up while you're away), root crops are pulled whole
- Every crop and fruit rolls a size (now and then a HUGE one) and stacks mutations (Wet + Chilled = Frozen); sell with every boost
- A gear shop of timed sprinklers: placed on your plot, they speed up growth and grow bigger fruit in their radius
- Steal a ripe crop from an unlocked plot; owners lock their base (free, with a cooldown) or buy a long lock
- Sells Base Lock, Restock Seeds, Instant Grow and three passes; on a bases map (conveyor + pedestals) it plays steal-a-creature
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.grow_garden.
| Setting | What it is | Starts as |
|---|---|---|
| Game | One of: From the map (conveyor + pedestals: steal bases, else gardens), Gardens: plant, grow, harvest, sell, steal ripe crops, Steal bases: creatures off the conveyor earn cash, steal them. Auto: a BloxMap bases map (conveyor lane, pedestal slots, laser doors) plays the steal game. | From the map (conveyor + pedestals: steal bases, else gardens) |
| Currency crops sell for | One of your currencys. Seeds cost it and the sell stand pays it. | your first currency |
| Steal bases: a new creature on the conveyor every (seconds) | Number (1 to 30) | 3 |
| Steal bases: a guaranteed rare creature on the conveyor every (seconds, 0 = never) | Whole number (0 to 3,600). Server-wide, on a countdown board over the conveyor's start and the HUD, so players gather for it. | 300 |
| Steal bases: its rarity | One of: Epic, Legendary, Mythic | Legendary |
| Steal bases: a guaranteed rarer one every (seconds, 0 = never) | Whole number (0 to 7,200) | 900 |
| Steal bases: its rarity | One of: Legendary, Mythic, Secret | Mythic |
| Steal bases: a thief carrying a creature moves at (x normal speed) | Number (0.3 to 1) | 0.6 |
| Steal bases: the free lock lasts this much longer per rebirth (seconds) | Whole number (0 to 120) | 10 |
| Steal bases: players can slap a thief carrying a creature (it runs home, the thief is down 3 s) | On / off | On |
| Steal bases: each base has a guard who chases thieves carrying its creatures | On / off | On |
| Steal bases: how fast guards run (studs a second; a carrier walks about 9.6) | Number (4 to 40) | 11 |
| Steal bases: share of new creatures that get a running event's mutation (0-0.25) | Number (0 to 0.25). Only creatures that ride in during the event; ones already on pedestals keep theirs. | 0.15 |
| Steal bases: Server Luck x4 product (its name in GameData.Products) | Text (up to 60 characters) | "Server Luck x4 (15 min)" |
| Steal bases: Server Luck x8 product (its name in GameData.Products) | Text (up to 60 characters) | "Server Luck x8 (15 min)" |
| Steal bases: Guards Sleep product (its name in GameData.Products) | Text (up to 60 characters) | "Guards Sleep (60 s)" |
| Crops (empty = the design's seed packs, else a built-in garden) | A list: Name, Rarity, Seed price (0 = by rarity), Seconds to grow (0 = by rarity), Sells for on average (0 = by rarity), Harvest per row. Leave empty: the drops of the design's seed packs are the seeds. Add rows to set your own crops. | empty |
| Planting spots per plot | Whole number (4 to 48) | 12 |
| Extra spots with the Bigger Garden pass | Whole number (0 to 24) | 6 |
| Seeds a new player starts with | Whole number (0 to 50). The commonest crop's seeds, so a new player plants in the first minute. | 3 |
| The seed stall restocks every (seconds) | Whole number (30 to 3,600) | 300 |
| Players can steal ripe crops | On / off | On |
| Seconds between two steals by the same player | Whole number (5 to 600) | 45 |
| Hold the prompt this long to steal (seconds) | Number (0 to 10) | 1.5 |
| The free base lock lasts (seconds) | Whole number (0 to 600). 0 = no free lock (only the Robux lock). | 60 |
| Seconds before the free lock can be used again | Whole number (10 to 3,600) | 180 |
| The Base Lock product locks for (minutes) | Whole number (1 to 120) | 10 |
| Base Lock product (its name in GameData.Products) | Text (up to 60 characters) | "Base Lock (10 min)" |
| Restock Seeds product (its name in GameData.Products) | Text (up to 60 characters) | "Restock Seeds" |
| Instant Grow product (its name in GameData.Products) | Text (up to 60 characters) | "Instant Grow" |
| Auto Harvest pass (its name in GameData.Passes) | Text (up to 60 characters) | "Auto Harvest" |
| Bigger Garden pass (its name in GameData.Passes) | Text (up to 60 characters) | "Bigger Garden" |
| Longer Base Lock pass (its name in GameData.Passes) | Text (up to 60 characters) | "Longer Base Lock" |
| Crops keep growing while the player is away | On / off | On |
| Players water growing crops / trees (each watering grows it 12% at once) | On / off | On |
| Weather events (rain, frost, storms, golden hour: faster growth and mutations) | On / off | On |
| A gear shop sells timed sprinklers (faster growth, bigger fruit in their radius) | On / off | On |
| About this long between two weather events (seconds) | Whole number (60 to 7,200) | 600 |
| What grows | One of: From the crops' names (all "... Tree": trees), Crops: small plants with fruit, Trees: fewer, bigger spots | From the crops' names (all "... Tree": trees) |
| Plots to make when the map has none | Whole number (1 to 12). Tag your own Parts "GrowPlot" (or use a BloxMap plot map) and these aren't made. | 6 |
| Size of those plots (studs) | Whole number (24 to 200) | 48 |
| Show the next step on the HUD's Objective | On / off | On |
Health, Stamina & Ammo HUD#
The design's health, stamina, ammo and readout bars show the real numbers, with an optional sprint system.
- The hotbar equips your real Tools and shows each one's ammo; ammo counters follow the equipped Tool
- Hold Shift (or tap Sprint on phones) to run: stamina drains, recovers and is checked by the server
- Counters, meters, the compass and a boss bar come alive from simple attributes your scripts set
- Weapon makers just set the Tool attributes Ammo, MaxAmmo and Reserve; everything else is automatic
Has a part on the player's device. Settings in GameData: GameData.Features.hud_stats.
| Setting | What it is | Starts as |
|---|---|---|
| Sprint with stamina | One of: When the design has a stamina bar or a Sprint button, Always, Never. The server owns stamina: it sets the player attributes Stamina and MaxStamina and the walk speed. | When the design has a stamina bar or a Sprint button |
| Sprint walk speed | Number (8 to 100). Roblox's normal walk speed is 16. A faster base speed (upgrades) sprints 1.3x its own speed instead. | 26 |
| Stamina | Number (1 to 100,000). Your scripts can give one player more by setting their MaxStamina attribute (upgrades, perks). | 100 |
| Stamina used per second of sprinting | Number (0 to 10,000). 100 stamina / 20 per second = 5 seconds of sprinting. Standing still while holding sprint uses none. | 20 |
| Stamina recovered per second | Number (0 to 10,000) | 16 |
| Rest before stamina recovers (seconds) | Number (0 to 30) | 1 |
| Stamina needed to start sprinting | Number (0 to 100,000). Stops tired players from stuttering: run out and you wait until you have this much again. | 15 |
| Sprint key | Text (up to 20 characters). A KeyCode name. Controllers use the left stick click; phones get a Sprint button. | "LeftShift" |
| Add a Sprint button on phones | On / off. Only when the design's mobile controls have no Sprint button of their own. | On |
| Hide Roblox's own backpack bar | On / off. Only when the design has a Hotbar (it takes over the 1-9 keys and shows the same Tools). | On |
| Equip the first hotbar slot on spawn | On / off. The design shows slot 1 selected, so the player holds that Tool when they spawn. | On |
| The design's Reload button reloads the Tool | On / off. Fires a RemoteEvent (or BindableEvent) called Reload inside the equipped Tool, if it has one. | On |
| Counters and meters show attributes of the same name | On / off. A Counter labelled "Kills" shows the player attribute Kills (or leaderstats.Kills, or a Workspace attribute). Meters use 0-1, or Name / MaxName. | On |
| The design's compass follows the camera | On / off | On |
| Boss bar follows models tagged | Text (up to 40 characters). The nearest model with this tag and a Humanoid (within 300 studs) fills the design's boss bar. Empty = off. | "Boss" |
Horror Director#
A monster that really hunts your players: it patrols, sees, hears, chases, catches, and your gameover screen works.
- A monster that patrols, spots players, listens for running and chases with real pathfinding
- The Fear meter and vignette rise as it gets close; a jumpscare when it catches you
- Hide in closets and lockers (parts tagged HidingSpot, or the map's hide spots) to lose it
- The design's gameover screen works: Retry, Revive (Robux or your revive currency) and Spectate; with Lives, a catch costs a life
- Easy to Nightmare difficulty; drop your own monster model in ServerStorage > BloxGame > Monsters
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.horror_director.
| Setting | What it is | Starts as |
|---|---|---|
| Difficulty | One of: Easy, Normal, Hard, Nightmare. Scales the monster's speed, how far it sees and hears, how quickly it re-plans and how long it keeps hunting. | Normal |
| Monster model name | Text (up to 60 characters). A Model in ServerStorage > BloxGame > Monsters. Empty = the first model there, or a creepy placeholder. | empty |
| The design's monster items (shown as the monster) | Text (up to 200 characters). Comma-separated item names in your UI (a journal or bestiary entry, e.g. "The Stalker") that draw the monster's model. | empty |
| Monsters at once | Whole number (1 to 5) | 1 |
| Patrol speed (studs/s) | Number (1 to 40) | 9 |
| Chase speed (studs/s) | Number (1 to 60). Players walk at 16. Below that they can outrun it; above it they must hide. | 15 |
| How far it sees (studs) | Number (5 to 500) | 70 |
| Field of view (degrees) | Whole number (30 to 360) | 120 |
| How far it hears running (studs) | Number (0 to 300). Sprinting is heard this far away, walking about a third of it, crouching not at all. | 40 |
| Catch distance (studs) | Number (1.5 to 20) | 4.5 |
| Keeps hunting after losing sight (s) | Number (0 to 60) | 4 |
| Re-plans its path every (s) | Number (0.25 to 5). Lower = smarter but more server work. 0.8 is fine for phones. | 0.8 |
| Wander radius without patrol points (studs) | Number (10 to 1,000) | 80 |
| Monsters wait after the server starts (s) | Number (0 to 600) | 10 |
| Safe seconds after spawning or reviving | Number (0 to 60) | 5 |
| Fear starts at (studs) | Number (5 to 500). The Fear meter and vignette start rising when a monster is this close. | 60 |
| Jumpscare when caught | On / off | On |
| Jumpscare length (s) | Number (0.3 to 5). Each style has its own length around this (a lunge is shorter, a figure in a doorway longer). | 1.4 |
| Jumpscare styles (empty = this game's own set) | Text (up to 120 characters). Every game gets its own two or three, picked from its seed, its monster and its setting, and a player's catches walk through them. To fix them, list styles in order: lunge (the monster's own model rushes at you), grab, face, blackout, drag, static, doorway, eyes. | empty |
| Jumpscare image (rbxassetid, optional) | Text (up to 80 characters). Your own picture instead of the game's styles. | empty |
| Jumpscare sound (rbxassetid, optional) | Text (up to 80 characters) | empty |
| Its own music (a set picked for this game, mixed as the hunt goes) | On / off. Ambience beds, a tension layer as the monster nears, chase themes, stings and a lobby track, picked from Roblox's licensed-for-all library by this game's seed, setting and monster. Your own ambience / chase music ids below play in their place. Off = only your own ids. | On |
| This game's seed (0 = from the place) | Whole number (0 to 2,147,483,647). Decides this game's jumpscare styles and its music. Change it for another set. | 0 |
| The game's setting (the mood of its scares and music) | Text (up to 20 characters). hospital, mansion, carnival, forest, winter, facility, school, city, desert, coast, inferno, ashen, candy. Empty = blood red on black. | empty |
| What the monster is (in a word) | Text (up to 40 characters). ghost, clown, doll, beast, killer, machine, shadow... A ghost comes out of the dark, a beast drags you away. Empty = read from the monster's name. | empty |
| Objective text while chased | Text (up to 60 characters). Shown on the HUD's Objective while a monster chases you. Empty = leave the objective alone. | "RUN! Find somewhere to hide." |
| Max time in one hiding spot (0 = no limit) | Number (0 to 600) | 0 |
| A lit flashlight is seen this many times further | Number (1 to 3). Light gives you away: with the Flashlight system on, a player whose light is on is spotted from further off. | 1.5 |
| A little faster for every extra player (+5%, at most +20%) | On / off | On |
| Chase music (rbxassetid, optional) | Text (up to 80 characters). Plays on the hunted player's screen while a monster chases them. Empty = no music. | empty |
| Field of view while chased | Number (70 to 120). The camera widens while you run for your life (the owner's game goes to 120). | 85 |
| The camera shakes as the monster's steps come closer | On / off | On |
| Players walk at (studs/s, 0 = leave the game's own) | Number (0 to 40). The owner's horror game: 13 (sprinting doubles it). Sets StarterPlayer's walk speed when the server starts. | 0 |
| First person, locked | On / off. Players see through their own eyes (spectating and the jumpscare still move the camera). | Off |
| Head bob and a little camera sway while walking | On / off | Off |
| Field of view (0 = Roblox's 70) | Number (0 to 120). The owner's horror game settles at 60 after a chase. | 0 |
| The view widens over (s) when a chase starts | Number (0.1 to 10) | 1.5 |
| Chase music volume | Number (0 to 10) | 0.8 |
| The picture darkens while chased (colour brightness, 0 = no) | Number (-0.3 to 0) | 0 |
| The jumpscare zooms the view in to (field of view, 0 = no zoom) | Number (0 to 120) | 0 |
| Ambience loop (rbxassetid, optional) | Text (up to 80 characters) | empty |
| Ambience volume | Number (0 to 10) | 0.3 |
| Monster footsteps (rbxassetid, optional) | Text (up to 80 characters). Plays from the monster while it walks: loud close by, gone past 100 studs. | empty |
| Monster footsteps volume | Number (0 to 10) | 5 |
| Sound when a stuck monster goes back home (rbxassetid, optional) | Text (up to 80 characters) | empty |
| Scare triggers along the way | On / off. The map's Scare markers, or invisible triggers every few dozen studs of the route from the spawn through the locked doors to the exit: crossing one flashes a scare. | Off |
| A scare lasts (s) | Number (0.5 to 10) | 4 |
| Scare sound (rbxassetid, optional) | Text (up to 80 characters) | empty |
| Route triggers every (studs) | Number (20 to 400) | 75 |
| A second threat: the onrush | On / off. The lamps near the players flicker and a sound rises; then it sweeps through, fast. Anyone in the open is caught (the same catch as the monster's). Hide, or stand in the safe zone. It only comes when it's fair: never during a chase or right after a respawn, and only when everyone can walk to a hiding spot of their own in time. | Off |
| Its name | Text (up to 30 characters). Shown in the death tip ("The Blackout got you."). | "The Blackout" |
| Warning before it comes (s) | Number (2 to 15). How long the lamps flicker first. It only starts when every player in the open can walk to a free hiding spot or the safe zone within this time. | 5 |
| Never in the first (s) of a run | Number (0 to 600). Players learn the map and the monster first: the onrush stays away this long after a run (or round) starts. | 60 |
| Time between two, at the start (s) | Number (15 to 1,800). It comes more often as locks are opened (with Keys & Doors), down to the time below. | 150 |
| Time between two, with every lock open (s) | Number (15 to 900). The shortest wait, reached when the whole key-and-door chain is open. Without Keys & Doors the time above is used. | 60 |
| Its speed (studs/s) | Number (20 to 200). How fast it sweeps along its way once the warning is over. Players sprint at about 26. | 70 |
| Its reach (studs) | Number (6 to 80). It runs through where the players are; anyone in the open this close to it as it passes is caught. | 28 |
| Leaves you alone after a respawn or leaving the safe zone (s) | Number (0 to 60). None starts while someone is in this grace, and one already coming can't touch them. | 10 |
| The lamps it passed stay dark for (s) | Number (0 to 300). The aftermath: the map's lamps along its way go out as it passes and come back after this long. 0 = they stay lit. | 20 |
| Its rising sound (rbxassetid, optional) | Text (up to 80 characters). Any looping sound: it's played quiet and low, then louder and higher until it comes. Empty = no sound (the lamps, the screen and the camera still warn). | empty |
| Its sound's loudest volume | Number (0 to 10). The sound starts at a tenth of this and swells to it by the end of the warning. | 1 |
| Objective text during the warning | Text (up to 60 characters). Shown on the HUD's Objective until it has passed. Empty = leave the objective alone. | "HIDE! The lights are flickering." |
| A guiding hint when a player is stuck | On / off. With Keys & Doors: no key picked up and no lock opened for the time below? That player's next step (the key, the door, the exit) gets a soft glow only they see. Never a key behind a door that's still locked. | On |
| The hint appears after (s) without progress | Number (15 to 600). Picking up a key or opening a lock starts the wait again, and takes the glow away. | 90 |
| A tip when you're caught | On / off. One short line: what got you and how to avoid it. | On |
| Tip: caught by the monster | Text (up to 60 characters). Shown as "<the monster's name> got you. <this>". Keep it short and plain: no links. | "Break its line of sight. Then hide." |
| Tip: caught by the onrush | Text (up to 60 characters). Shown as "<the onrush's name> got you. <this>". Keep it short and plain: no links. | "Hide when the lights flicker." |
| The monster gets faster per lock opened (%) | Number (0 to 10). With Keys & Doors. 0 = it never changes. | 0 |
| ...at most (%) | Number (0 to 30). The cap on the speed it gains, however many locks are open. Keep its chase speed under the players' sprint. | 12 |
| The monster sees further per lock opened (%) | Number (0 to 20). With Keys & Doors. 0 = it never changes. | 0 |
| ...at most (%) | Number (0 to 50). The cap on the sight range it gains. | 25 |
| Revive costs this currency | One of your currencys. Empty = a currency named like "Revives" if the design has one. | not set |
| Revive price in that currency | Whole number (0 to 1,000,000,000) | 1 |
| Revive product (GameData.Products name) | Text (up to 60 characters). Empty = the product whose name has "revive" in it, or the one that gives the revive currency. | empty |
| Or a revive product id | A Roblox product id | not set |
| Revives per life (0 = no limit) | Whole number (0 to 50) | 1 |
| Gameover waits (s) before an automatic Retry | Number (5 to 600) | 45 |
| Spectate button while down | On / off | On |
| Make placeholders when something is missing | On / off. A creepy placeholder monster and two wardrobes to hide in, so it works the moment you press Play. | On |
Horror Soundtrack#
Every horror game its own sound: ambience, tension, chase themes and a lobby track picked for THIS game, mixed as the hunt goes.
- A set picked from Roblox's licensed-for-all library by the game's seed, setting and monster: no two games sound the same
- Follows the run: a calm bed, tension as the monster nears, a chase theme, silence when you got away, the bed again
- The lobby has its own calm track (a lobby place never sounds like the run); every new run plays another bed
- Modest volumes, through your design's Music slider; your own ambience and chase music ids play in the set's place
Has a part on the player's device. Settings in GameData: GameData.Features.soundtrack.
| Setting | What it is | Starts as |
|---|---|---|
| This game's seed (0 = from the place) | Whole number (0 to 2,147,483,647). Decides which tracks this game gets. Change it for another set. (With the Horror Director on, give both the same seed.) | 0 |
| The game's setting | Text (up to 20 characters). hospital, mansion, carnival, forest, winter, facility, school, city, desert, coast, inferno, ashen, candy. Empty = tracks that fit anywhere. | empty |
| What the monster is (in a word) | Text (up to 40 characters). ghost, clown, doll, beast... (its stings and creeps lean that way). | empty |
| Music volume (%) | Whole number (0 to 100) | 100 |
| A calm track of its own in the lobby | On / off. Plays in a lobby place, and before a run starts. Off = the lobby is silent. | On |
Infection#
Tag-style infection rounds: the infected catch survivors (by touch or by a kill), every catch spreads it, survivors win if one is left at the end.
- Every round starts with a few infected (fair: the longest wait is likeliest), the rest survive
- An infected player who reaches a survivor turns them, or a kill by an infected does
- The infected are a bit faster and glow green; survivors see how many are left
- Survivors win when time runs out with anyone left; the infected win when nobody is
- Works with Rounds and Maps & Voting; rewards for surviving and for every catch
Needs: Rounds & Match Flow, Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.infection.
| Setting | What it is | Starts as |
|---|---|---|
| One infected for every N players (at least one) | Whole number (2 to 50) | 6 |
| Touching a survivor infects them | On / off | On |
| Touch distance (studs) | Number (2 to 12) | 4 |
| Infected walk speed | Number (4 to 60) | 19 |
| Survivor walk speed | Number (4 to 60) | 16 |
| Seconds before the infected can catch anyone | Number (0 to 60) | 5 |
| Currency the rewards pay | One of your currencys | your first currency |
| Reward for surviving the round | Number (0 to 1,000,000,000) | 40 |
| Reward per survivor caught | Number (0 to 1,000,000,000) | 10 |
| Playing alone: bot infected chase you | On / off. One player (Studio, a live server's practice round) survives against bot infected that wake after the grace period; they walk a little slower than you. | On |
| Bot infected when playing alone | Whole number (1 to 8) | 2 |
Interactables#
Stations and objects players can use: press E, click or touch, with a cost, a cooldown, items and a reward.
- Any tagged part becomes usable: a prompt, a click or a touch
- Each use can cost money, need an item, give an item and pay a reward
- A cooldown per player, checked by the server
- Parts that appear later (spawned ones) work too; a map without them gets a tidy station by the spawn
- Other systems hear every use and can perform one themselves
Settings in GameData: GameData.Features.interactables.
| Setting | What it is | Starts as |
|---|---|---|
| Things players can do | A list: Verb id, Prompt text, Tag of the parts, How it is used, Cooldown (seconds), Reach (studs), Hold the key (seconds), Currency, Cost (0 = free), Reward (0 = none), Item given (id), Item needed and taken (id) per row | 1 row |
| A station by the spawn when the map has none | On / off. For a verb whose tag no part in the map carries: one tidy station near the spawn. | On |
Keys & Doors#
Find the keys, unlock the doors, collect what the exit needs and escape: an objective chain that builds itself from the map.
- Keys appear at the map's key spots, in a different place every run
- Locked doors and a locked exit that only their key opens; normal doors open and close
- Objective items (fuses, pages...) the exit needs, and an objective on the HUD that always says what's next
- Monsters push doors open while they hunt; every door makes a noise they hear
- A note pinned to each locked door tells a piece of the story
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.keys_doors.
| Setting | What it is | Starts as |
|---|---|---|
| Who gets a key | One of: Everyone picks up their own copy (the key stays), One key for the whole team (the first finder takes it) | Everyone picks up their own copy (the key stays) |
| Keys move to another key spot every run | On / off | On |
| A key you hold shows in your backpack | On / off | On |
| Objective items the exit needs (0 = every one on the map) | Whole number (0 to 50) | 0 |
| Objective items are called | Text (up to 24 characters). Empty = the map's own names (its ObjectiveItem markers), else "Fuse". | empty |
| The design's key items (shown as the game's key) | Text (up to 200 characters). Comma-separated item names in your UI (e.g. "Level Key, Car Keys") that draw the key model. | empty |
| Stand in the exit this long to escape (s) | Number (0 to 30) | 2 |
| Show what's next on the HUD's Objective | On / off | On |
| Notes on locked doors can be read | On / off. A LockedDoor with a Note attribute gets a note pinned to it (the story, a few lines); Read shows it on screen. | On |
| Monsters open unlocked doors | On / off | On |
| Doors close by themselves after (s, 0 = stay open) | Number (0 to 600) | 0 |
| Door opens (rbxassetid, optional) | Text (up to 80 characters) | empty |
| Door closes (rbxassetid, optional) | Text (up to 80 characters) | empty |
| A locked door rattles (rbxassetid, optional) | Text (up to 80 characters) | empty |
| A key unlocks a door (rbxassetid, optional) | Text (up to 80 characters) | empty |
| Make a key and an exit when the map has none | On / off. So it works the moment you press Play. Tag parts KeySpawn, LockedDoor, Exit and ObjectiveItem for your own. | On |
Kill Feed & Scoreboard#
Real kills from any weapon fill the design's kill feed, scoreboard and team score, and tell your other systems.
- Works with any weapon that sets Roblox's standard "creator" tag (most kits already do)
- The design's kill feed, Tab scoreboard (kills, deaths, streaks, teams) and team score go live
- Kill streak shout-outs, a kill marker on your crosshair, optional coins per kill
- Levels, Quests, Achievements and Rounds hear every kill through the event bus
Has a part on the player's device. Settings in GameData: GameData.Features.kill_feed.
| Setting | What it is | Starts as |
|---|---|---|
| Kills of NPCs (zombies, bosses) | One of: Count them like player kills, Show them in the feed only, Ignore them. An NPC is any model with a Humanoid that isn't a player. | Count them like player kills |
| Count kills of teammates | On / off. Off: a team kill shows in the feed but gives no kill (and breaks nobody's streak but the victim's). | Off |
| On the Roblox player list | One of: Kills, Kills and Deaths, Nothing | Kills |
| Start kills from 0 every round (with the Rounds extra) | On / off. The scoreboard and team score show the current round. Lifetime totals are saved either way. | On |
| Announce kill streaks of (0 = never) | Whole number (0 to 100). Everyone gets a toast at 5, 10, 15... kills without dying. | 5 |
| Kill reward currency | One of your currencys | your first currency |
| Coins per kill (0 = none) | Whole number (0 to 1,000,000,000). The Rounds extra pays its own per-kill reward inside rounds; keep this at 0 when you use both. | 0 |
| Add a small kill feed when the design has none | On / off | On |
| Kill marker on the design's crosshair | On / off | On |
Land Grid#
A plot of land bought tile by tile: owning a tile puts its neighbours up for sale, and every tile you own grows loot to walk over and collect.
- Walk onto a tile that's for sale to buy it; the tiles next to it go up for sale, so the land grows the way the player walks
- Prices come from the map: distance from the plot's start x the tile's tier, with no price table to write
- Every owned tile grows a pile piece by piece; a bigger pile takes longer and pays more (value x pieces)
- The far land is a higher tier: dearer, with better loot
- The map's own tiles (a Land folder and a StartPoint in each plot) or a tidy field of tiles that fills any plot from its front edge
- A rebirth resets the land; Collect All and a whole-server Mega Harvest sell for Robux
Needs: Data Saving. Settings in GameData: GameData.Features.land_grid.
| Setting | What it is | Starts as |
|---|---|---|
| Currency land costs and pays | One of your currencys | your first currency |
| The land is called | Text (up to 30 characters) | "Land" |
| What grows (name, value per piece, from which tier) | A list: Name, Value per piece, Grows from tier, Colour (#RRGGBB) per row. A tile grows any row of its own tier or lower. A pile pays its value x its pieces. | 5 rows |
| Worlds (with Prestige: a player's Nth prestige moves their land to the next row) | A list: Name, Land prices x, Pile values x, Land colour (#RRGGBB, empty = grass) per row. Leave empty for one world. Row 1 is where everyone starts; the last row stays for every prestige after it. | empty |
| With worlds and Prestige: a World Machine in the lobby to advance at | On / off | On |
| Map marker: the World Machine's station (its Station name) | Text (up to 30 characters) | "worldmachine" |
| Price per stud from the start (x the tile's tier) | Number (0 to 1,000,000,000,000). A tier 1 tile 8 studs from the start costs 48; a tier 4 tile 60 studs out costs 1,440. | 6 |
| Tiers (rings from the start to the rim) | Whole number (1 to 8). A map tile with the attribute LandTier keeps its own. | 4 |
| Tiles owned from the start | Whole number (1 to 50). The nearest to the start. A map tile with the attribute LandStart = true is one instead. | 6 |
| Most pieces in a pile | Whole number (1 to 8) | 5 |
| Seconds before a free tile starts growing (least) | Number (0 to 600) | 4 |
| Seconds before a free tile starts growing (most) | Number (0 to 600) | 7 |
| Seconds per piece (least) | Number (0.2 to 600) | 2.5 |
| Seconds per piece (most) | Number (0.2 to 600) | 4 |
| A rebirth resets the land | On / off | On |
| A rebirth needs the whole plot owned | On / off. With Rebirths in the game: the Rebirth button works once every tile is the player's (a Skip Rebirth bought with Robux needs none). | On |
| No game mode with plots: plots made round the spawn | Whole number (1 to 12). One per player. With a tycoon, colony or garden game mode on, the land sits on that mode's plots instead. | 6 |
| No land in the map: the field is (2 x this + 1) tiles a side | Whole number (1 to 12) | 4 |
| No land in the map: a tile's side in studs | Number (4 to 32) | 8 |
| Map marker: the folder of tile parts in each plot | Text (up to 30 characters) | "Land" |
| Map marker: the plot's start (prices count from it) | Text (up to 30 characters) | "StartPoint" |
| Sell Collect All and the Mega Harvest | On / off | On |
| Collect All product (its name in GameData.Products) | Text (up to 60 characters) | "Collect All" |
| Whole-server harvest product | Text (up to 60 characters) | "Mega Harvest" |
Live Minimap#
The design's minimap shows the real map, your team and every point of interest, and opens into a full-screen map.
- A top-down view of YOUR map, drawn live (terrain, parts and meshes), that follows the player
- Markers for you, your team and friends, spawns, shops, zones, quest targets, a battle royale storm and anything you tag
- Tap the minimap (or press M) for a full-screen map with zoom, pan and a waypoint beam
- Works on any map, with or without BloxMaps markers; huge maps just get a coarser picture
- Phone friendly: a light 3D block model in a ViewportFrame that only redraws when you move
Has a part on the player's device. Settings in GameData: GameData.Features.minimap.
| Setting | What it is | Starts as |
|---|---|---|
| Minimap view (studs across) | Whole number (60 to 2,000). How much of the map the small minimap shows, edge to edge. Smaller = more zoomed in. | 240 |
| Minimap size (%) | Whole number (60 to 160). 100 = the size the design gave it. Big values can overlap other HUD pieces next to it. | 100 |
| Turn the minimap with the camera | On / off. Off = north is always up (the design's N stays on top). On = the way you look is always up. | Off |
| How the map is drawn | One of: Scan (terrain + everything, works on any map), Copy the real parts (prettiest on small maps). Scan: the server looks down on the map once and sends a light block model (works with terrain and StreamingEnabled). Copy: each player copies the big anchored parts near them. | Scan (terrain + everything, works on any map) |
| Map detail | One of: Low (fastest), Medium, High (sharpest). How finely the scan looks at the map. High is sharper but sends more blocks to phones. | Medium |
| Biggest map area to scan (studs) | Whole number (256 to 20,000). Maps bigger than this are cut to this size around their centre (the rest still gets markers). | 4,096 |
| Map area size (0 = find it by itself) | Whole number (0 to 20,000). 0 = use the BloxMaps Bounds marker, or else everything anchored in Workspace. Set it for terrain-only maps. | 0 |
| Scan the map again every (minutes, 0 = never) | Number (0 to 120). Only for maps that change while the game runs. A new BloxMap folder is always picked up by itself. | 0 |
| Other players on the map | One of: Teammates and friends, Friends only, Everyone (casual games), Nobody. Only these positions are ever sent to a player, so enemies can't be seen by cheaters either. | Teammates and friends |
| BloxMaps markers to show | Text (up to 200 characters). Comma-separated BloxMap marker kinds. Parts you tag "MinimapIcon" always show (attributes: Icon, Label, Color, Team). | "Spawn, Checkpoint, Finish, Teleport, WorldPortal, Zone, Gate, Shop, Chest, Objective, POI, Egg, Upgrades, DailyReward" |
| Most markers at once | Whole number (10 to 400). Keeps the minimap readable and fast on phones. | 120 |
| Keep far markers on the minimap's edge | On / off. On = markers outside the view sit on the rim, pointing the way. Off = they disappear. | On |
| Full-screen map (tap the minimap) | On / off | On |
| Key that opens the full-screen map | Text (up to 20 characters). A KeyCode name (M, N, Tab...). Skipped when a screen of your design already uses that key. | "M" |
| Tap the big map to set a waypoint beam | On / off | On |
| Add a minimap when the design has none | On / off. The design's own round minimap, where its HUD layout has room (top-right first). | On |
Lives#
A few lives per run, hearts on the HUD, back at your checkpoint after each death, and extra lives for Robux when you run out.
- Each run starts with a few lives; every death (a monster, a fall) costs one
- Back at the last checkpoint you reached, or out of lives: spectate the others
- Extra Life and a lives pack for Robux, given once per purchase and saved first
- Out of lives? Play as the monster (a Robux option) and hunt the survivors
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.lives.
| Setting | What it is | Starts as |
|---|---|---|
| Lives each run starts with | Whole number (1 to 20). 1 = the first death puts you out (unless you buy a life), like the owner's horror game. | 1 |
| Extra Life: developer product (Robux) | A Roblox product id. +1 life. Or paste it in GameData.Products.ExtraLife. | not set |
| Lives pack: developer product (Robux) | A Roblox product id. Several lives at once (the size below). Or paste it in GameData.Products.LivesPack. | not set |
| Lives in the pack | Whole number (2 to 20) | 3 |
| Out of lives: offer to play as the monster | On / off. Needs the Horror Director and a product id below. | On |
| Play as the Monster: developer product (Robux) | A Roblox product id. Or paste it in GameData.Products.PlayAsMonster. | not set |
| After a death you come back at | One of: The last checkpoint you reached (PlayerSpawn markers), The spawn | The last checkpoint you reached (PlayerSpawn markers) |
| Back in the game after (s) | Number (0 to 30) | 3 |
| Out of lives: spectate the others | On / off | On |
| Show the lives on the HUD | On / off | On |
| Out of lives title | Text (up to 24 characters) | "OUT OF LIVES" |
| The owner's horror game's words on the buttons | On / off. BUY 1 LIFE / BUY 3 LIVES / SPAWN AS MONSTER / SPECTATE (the price shows in Roblox's purchase box), and his SPECTATING: bar. | Off |
Maps & Voting#
Several maps in one game: players vote between 3 during the intermission, the winner loads for the round and is cleaned up after.
- Put your maps in ServerStorage > Maps: each round one is cloned in and removed after
- A vote between 3 maps in the lobby (ties are random, no votes = random)
- Every map comes up before any repeats (no map twice in a row)
- Each map can set its own round mode, length, name and picture
- Works with Rounds, Minigames, Murder Mystery and the lobby queue
Has a part on the player's device. Settings in GameData: GameData.Features.map_vote.
| Setting | What it is | Starts as |
|---|---|---|
| Folder of maps in ServerStorage | Text (up to 40 characters). Each child (a Model or Folder) is one map. ServerStorage > BloxGame > Maps works too. | "Maps" |
| Players vote for the next map | On / off | On |
| Maps to choose from | Whole number (2 to 6) | 3 |
| Never the same map twice in a row | On / off | On |
| Without a vote | One of: Every map once, then shuffle again, Random each round, In order | Every map once, then shuffle again |
| Use the map's Spawn / Spawns parts as round spawns | On / off. Parts named Spawn or PlayerSpawn, and the children of a Spawns / PlayerSpawns folder, get the RoundSpawn tag. | On |
| Workspace folder the map loads into | Text (up to 40 characters) | "RoundMap" |
| Seconds the vote is open (0 = the whole intermission) | Number (0 to 120). The owner's MM2: 15 s of voting after 10 s of intermission. | 0 |
| The vote closes this many seconds before the round | Number (0 to 60). The owner's MM2: the winner is decided, then 10 s of 'Starting in'. | 0 |
| Vote screen | One of: Map cards at the top, The owner's MM2 voting panel at the bottom (voters' heads on the maps) | Map cards at the top |
Melee Combat#
The design's Attack, Block, Dodge, Dash, Ability and Ultimate buttons really fight: server hitboxes, combos, parries, knockback and cooldowns on the buttons.
- Punches and slashes with combos, blocks and perfect-timing parries, dashes with dodge frames
- A light string with an ender; blocks that answer: guard breaks, perfect blocks, counters and grabs, NPCs on the same rules
- Abilities: shockwaves, fireballs and heals, each with its own cooldown shown on the Hotbar and buttons
- The server finds who got hit (hitboxes, walls, distance), so nobody can hit from across the map
- Knockback, a combo counter, damage numbers, and the standard 'creator' tag so kills count
- Works on phones with the design's buttons; moves can cost stamina when a stamina system is on
Has a part on the player's device. Settings in GameData: GameData.Features.melee_combat.
| Setting | What it is | Starts as |
|---|---|---|
| Moves | A list: Move name, Buttons that do it (the design's names, with commas), Type, Damage (heal: health; block: % of damage blocked), Range in studs (reach, radius, distance; grab: 3-10), Cooldown (seconds), Stamina it costs (when a stamina system is on), Knockback (speed in studs/second), Time window (dash: can't be hit; block: parry window; counter: stance; grab: lock, at most 7), seconds, Keyboard key (empty = the design's key hints / the usual key), Animation (empty = the built-in one), Hyper armour (string rules: hits still hurt during it but never stun or push), Wind-up before it lands, seconds (0 = the usual for its type; else 0.1-0.75), Block priority 0-2 (string rules: an attack breaks a block of a lower priority; heavies are at least 1; a Block row: wha per row. One row per move. 'Buttons' are the design's event names (and Hotbar slot names) that do it. | 11 rows |
| Fight rules | One of: String: a light string with an ender; blocks answer (guard breaks, perfect block, Classic: combos with a bonus, block and parry. String: hits 1-3 of the click are lights (a short stun), hit 4 is an ender that launches. A heavy breaks a held block; a block raised just before a hit is a perfect block. Enemy NPCs fight on the same rules. | String: a light string with an ender; blocks answer (guard breaks, perfect block |
| String rules: hits in the click's string (the last one is the ender) | Whole number (2 to 6) | 4 |
| String rules: seconds a light stuns who it hits | Number (0 to 1.5) | 0.6 |
| String rules: a block raised this many seconds before a hit is a perfect block | Number (0.05 to 0.5) | 0.17 |
| String rules: seconds a heavy that hits a perfect block stuns its attacker | Number (0 to 5) | 2 |
| String rules: seconds a broken guard stuns the blocker | Number (0.3 to 3) | 1.1 |
| String rules: damage a guard break does | Number (0 to 100) | 8 |
| String rules: posture a guard holds (blocked hits fill it, 25 a light, 50 a heavy; full = broken; 0 = off) | Number (0 to 1,000). It drains 2.5 a second while not blocking. A perfect block puts the hit's posture on the attacker instead. | 100 |
| Seconds between hits to keep a combo going | Number (0.2 to 5) | 1.2 |
| Extra damage per combo hit (%) | Whole number (0 to 100). 10 = the 3rd hit of a combo does 20% more. Capped at 50%. | 10 |
| Every Nth combo hit is a finisher (1.5x damage, 2x knockback; 0 = off) | Whole number (0 to 10) | 3 |
| Seconds an attacker is stunned after being parried | Number (0 to 5) | 1 |
| Teammates can hit each other | On / off | Off |
| Players can hit other players | On / off. Off for a co-op game (a PvE adventure): moves only hurt NPCs, never another player, teams or not. | On |
| Moves hurt NPCs (any model with a Humanoid) | On / off | On |
| Extra reach for laggy players (studs) | Number (0 to 10) | 3 |
| Moves cost stamina when a stamina system is on | On / off. Works with the HUD Extra's sprint stamina, or any script that keeps a 'Stamina' attribute on the character. | On |
| Show the combo counter | On / off | On |
| Clicking (with nothing in your hand) does the first melee move | On / off | On |
| A weapon everyone holds (a Tool's name; empty = fists) | Text (up to 40 characters). From ServerStorage > BloxGame > Tools, given at every spawn. Holding a Tool with a BloxMeleeDamage attribute (a sword) makes the melee moves hit that hard (and BloxMeleeReach studs further); clicking with it attacks. | empty |
Minigames#
A different minigame every round, each building its own arena: a lava tower to climb, falling tiles, a colour floor, king of the hill, a jump race, a maze...
- Each round is a minigame with its own goal: last standing, race to the finish, most points or survive
- Every minigame builds its own arena for the round (a lava tower, tiles that fall, a maze...), dressed with your map's models, then takes it down
- Only minigames your map can really play are picked; every one comes up before any repeats, a special one every few rounds
- The lobby sees the next minigame and its arena; countdowns tell everyone when the lava rises or the floor drops
- Flood mode: the lava never outpaces a steady climber, and it speeds up when most players survive
Needs: Rounds & Match Flow. Settings in GameData: GameData.Features.minigames.
| Setting | What it is | Starts as |
|---|---|---|
| Minigames | A list: Name, Arena (built for the round), Who wins, Round length (seconds), What to do (shown to players), Hazard (a tower's or the map's), Map (a Maps & Voting map name; empty = this map), Special (only every few rounds), Dealt first (the game's own minigames: the first deck starts with them) per row | 16 rows |
| A special minigame every N rounds (0 = never) | Whole number (0 to 50) | 3 |
| The lobby votes for the next minigame (its vote pads) | On / off. A lobby with vote pads (BloxMaps VotePad markers, parts tagged or named VotePad) shows one minigame over each pad during the intermission; players stand on one to vote, the most votes win. | On |
| Vote length (seconds; the intermission needs 3 more) | Whole number (3 to 60) | 10 |
| Hazard rise speed (studs per second; never faster than a steady climber) | Number (0.1 to 20) | 1.2 |
| Seconds before the hazard starts | Number (0 to 120) | 8 |
| Flood speed follows how many survived (FE2 style) | On / off | On |
| Air underwater: water and acid take you when your air runs out (12 s / 3 s), lava at once | On / off. The owner's flood game and Flood Escape: your head under water drains your air, a second out of it fills it again. Off: any touch of the water is out. | On |
| Crumbling: seconds between falling pieces | Number (0.2 to 30) | 1.4 |
| Stop & Go: moving on STOP | One of: Out of the round (watch the rest), Back to the start line | Out of the round (watch the rest) |
| Stop & Go: how many win (the first across the line) | Whole number (1 to 30) | 3 |
| Pick a Side: which side loses | One of: A mix: a different rule each question, The smaller side wins, The bigger side wins, A random side loses. Players on the losing side (and anyone on no side) are out; in a Most points row the winning side scores a point instead. A tie or everyone on one side: nobody loses. | A mix: a different rule each question |
| Pick a Side: seconds to pick a side | Whole number (4 to 30) | 10 |
| Pick a Side: the questions (Would you rather A or B?) | A list: A (blue side), B (red side) per row | 76 rows |
Mobs & Enemies#
Enemies that chase and fight: zombie waves that rise out of the ground and hunt you, monster camps with loot, health bars, rewards for the kill. Server-run and light on the network.
- Waves: zombies rise out of the ground near you and hunt you down, more and tougher each wave, a boss every few waves
- Real bodies with no setup: the owner's zombies (R6, Roblox's own animations and sounds) or a themed body for any name
- Camps: put a part tagged MobSpawner anywhere, its mobs guard it, chase intruders and walk home when led too far
- Loot tables with the odds, XP and coins for the kill (credited to whoever landed the blow)
- A wave counter, health bars and damage numbers, drawn on each device
Has a part on the player's device. Settings in GameData: GameData.Features.mobs.
| Setting | What it is | Starts as |
|---|---|---|
| Mob types | A list: Name (your model in ServerStorage > BloxGame > Mobs has this name; without one a built-in body is used), Model name (empty = same as Name), Kind, Health, Damage per hit, Walk speed, Reach (studs), Seconds between hits, Camps: notices players within (studs), Camps: gives up this far from home (studs), Waves: first wave it appears in, XP for the kill, Coins for the kill, Loot (item:weight, item:weight; "none" counts too), Camps: respawns after (seconds), Tint its body (#RRGGBB; empty = the body's own colours), Exploder: blast radius (studs) per row | 4 rows |
| How mobs appear | One of: Camps: parts tagged MobSpawner (RPG, open world), Waves during each round (zombie survival), Both | Camps: parts tagged MobSpawner (RPG, open world) |
| Most mobs alive at once (the server's budget) | Whole number (1 to 200) | 40 |
| Camps: most mobs fighting one player at once (0 = all of them) | Whole number (0 to 20). The others wait in a ring round the player for their turn. Wave hunters, bosses, spitters and exploders never wait. | 2 |
| Camps: a mob's turn lasts (seconds) | Number (1 to 60) | 5 |
| Waves: enemies in wave 1 | Whole number (1 to 500) | 4 |
| Waves: more enemies each wave | Whole number (0 to 100) | 4 |
| Waves: most enemies in one wave | Whole number (1 to 2,000) | 100 |
| Waves: seconds from the round's start to wave 1 | Number (0 to 120) | 3 |
| Waves: seconds between waves | Number (0 to 120) | 5 |
| Waves: extra health per wave (%) | Number (0 to 500) | 8 |
| Waves: extra speed per wave (%, at most +40 %) | Number (0 to 100) | 2 |
| Waves: extra damage per wave (%) | Number (0 to 500) | 5 |
| Waves: a boss leads every Nth wave (0 = never) | Whole number (0 to 100) | 5 |
| Waves: seconds each wave has (0 = the round's own timer) | Number (0 to 900). The owner's zombie game gives every wave 150 s: the round's timer counts each wave down, the run goes on wave after wave until everyone is down or a wave's time runs out. | 0 |
| Waves: more seconds every 10 waves | Number (0 to 300) | 30 |
| Waves: a cleared wave pays everyone standing this x the wave number | Number (0 to 1,000,000,000) | 0 |
| Co-op: a hit that would kill downs you instead while a teammate stands (hold E to revive) | On / off. Downed players sit on the ground at 1 health; a teammate holds E on them (Squad Status' prompt, or the Mobs' own) to get them up at half health. Nobody standing: the downed fall. | Off |
| Co-op: seconds a downed player waits for a revive | Number (5 to 300) | 45 |
| Co-op: seconds to hold for a revive | Number (0.5 to 20) | 3 |
| Alone: the first down of a run gets up again by itself | On / off | On |
| Waves: whoever fell comes back as the next wave starts (the owner's game) | On / off | Off |
| Perk machines (the map's Perk markers sell these, once a run each; going down costs them) | A list: Name, What it does, Amount, Price (the kill currency) per row | empty |
| Waves: rise this far from the players when the spawn points are far away (studs; 0 = always at the spawn points) | Number (0 to 1,000) | 70 |
| Waves: mobs hunt players anywhere on the map (off = only within their notice range) | On / off | On |
| Extra health per extra player (%) | Number (0 to 500) | 20 |
| Currency kills pay | One of your currencys | your first currency |
| Seconds a mob takes to rise out of the ground | Number (0 to 5) | 0.9 |
Movement Gear#
A Jetpack in the shop really flies: owned movement gear (jetpack, jet boots, gravity coil, pogo, double jump, dash) changes how its owner moves.
- Any item or game pass whose name says jetpack, rocket pack, jet boots, gravity coil, moon boots, pogo, double jump or dash works the moment a player owns it
- Jetpack: hold Jump in the air to fly up, with a fuel gauge that drains, refills on the ground and warns when it's low
- Touch buttons on phones, the gamepad's A / B, and the design's own Jetpack keybind
- The server decides: it checks you own the gear, keeps the fuel and switches Roblox's own physics forces on and off
Has a part on the player's device. Settings in GameData: GameData.Features.movement_gear.
| Setting | What it is | Starts as |
|---|---|---|
| More items that give an ability (Name = ability, commas) | Text (up to 300 characters). Items named like jetpack, rocket pack, jet boots, gravity coil, moon boots, pogo, double jump or dash work by themselves. Add others here: "Sky Cape = jetpack, Bunny Ears = pogo". Abilities: jetpack, jetboots, gravity, pogo, doublejump, dash. | empty |
| Abilities every player has (commas) | Text (up to 100 characters). For a game where everyone flies ("a jetpack race"): jetpack, jetboots, gravity, pogo, doublejump, dash. | empty |
| A full jetpack tank lasts (seconds of thrust) | Number (0.5 to 120) | 5 |
| Seconds on the ground to refill an empty tank | Number (0.2 to 120) | 3 |
| Jetpack climb speed (studs per second) | Number (5 to 150) | 32 |
| Low fuel warning at (%) | Number (0 to 90) | 20 |
| Dash key | Text (up to 20 characters). A KeyCode name (Q, E, LeftControl...). The gamepad's B and a phone's Dash button always work. | "LeftControl" |
| Jetpack and Dash buttons on phones | On / off | On |
| Tell a player what their new gear does | On / off | On |
Murder Mystery#
Murderer, Sheriff and Innocents: secret roles, a knife you swing or hold to throw, a one-shot gun the hero can pick up, coins from every kill.
- Every round: one Murderer, one Sheriff, everyone else Innocent (fair: who waited longest gets the knife)
- The Murderer clicks to swing and holds to throw the knife; the Sheriff has a pistol that reloads in 3 s
- Shoot an innocent and you die too; a fallen Sheriff drops a floating gun for the first innocent
- A kill pops coins out of the body for the killer; assassin mode: everyone hunts a target
- Every hit is checked on the server: reach, line of sight, travel time, cooldowns
Needs: Rounds & Match Flow, Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.murder_mystery.
| Setting | What it is | Starts as |
|---|---|---|
| Mode | One of: Murderer, Sheriff and Innocents, Assassin: everyone has a knife and a target, Knife vs gun duels: Murderers against Sheriffs, no innocents | Murderer, Sheriff and Innocents |
| What the game calls the Murderer (empty = Murderer) | Text (up to 20 characters) | empty |
| What the game calls the Sheriff (empty = Sheriff) | Text (up to 20 characters) | empty |
| What the game calls an Innocent (empty = Innocent) | Text (up to 20 characters) | empty |
| Seconds the role reveal plays before the game clock starts | Number (0 to 30) | 10 |
| Seconds after the match starts before the knife and gun are handed out | Number (0 to 60) | 20 |
| One more Murderer for every N players (0 = always one) | Whole number (0 to 50) | 0 |
| Knife reach (studs in front) | Number (2 to 15) | 3.5 |
| Seconds between swings | Number (0.2 to 5) | 0.75 |
| Seconds between knife throws | Number (0.3 to 10) | 0.75 |
| Hold the click this long (s) to throw instead of swing | Number (0.05 to 1) | 0.2 |
| Knife throw range (studs) | Number (20 to 2,000) | 1,000 |
| Thrown knife speed (studs per second) | Number (30 to 1,000) | 300 |
| Seconds to reload the gun | Number (0.5 to 10) | 3 |
| Gun range (studs) | Number (30 to 2,000) | 1,000 |
| Shooting an innocent kills the shooter too | On / off | On |
| Last innocent left gets the gun if nobody has it | On / off | On |
| Murderer walk speed (x) | Number (0.5 to 2) | 1 |
| Coins a kill pays (lowest) | Whole number (0 to 1,000,000) | 40 |
| Coins a kill pays (highest) | Whole number (0 to 1,000,000) | 60 |
| Coin orbs a kill drops | Whole number (1 to 20) | 5 |
| Chance a kill also drops a crystal (0-1) | Number (0 to 1) | 0.4545 |
| Currency the crystal pays (empty = the game's second currency) | Text (up to 40 characters) | empty |
| Orbs fly to the killer within (studs) | Number (2 to 30) | 5 |
| Coins to collect on the map each round (0 = none, like the owner's MM2) | Whole number (0 to 200) | 0 |
| Coins a player can carry per round | Whole number (1 to 1,000) | 40 |
| Currency the coins pay | One of your currencys | your first currency |
| Reward for the winning side | Number (0 to 1,000,000,000) | 25 |
| Extra reward for the one who kills the Murderer | Number (0 to 1,000,000,000) | 50 |
| Seconds of 'Game Ended' before everyone is back in the lobby (0 = Rounds decides) | Number (0 to 60) | 5 |
| Seconds of the intermission the map vote takes (status line) | Number (0 to 120) | 15 |
| Seconds of 'Starting in' after the vote (status line) | Number (0 to 60) | 10 |
| Game pass: better Murderer / Sheriff chance | A Roblox pass id | not set |
| Extra chance with the pass (1 = twice as likely) | Number (0 to 10) | 1 |
| Playing alone: bots to play against | On / off. One player (Studio, a live server's practice round) is the Murderer or the Sheriff in turn: bot innocents to find, and a bot Murderer to shoot when you're the Sheriff. | On |
| Bot innocents when playing alone | Whole number (1 to 10) | 4 |
Obby Stages#
Obby checkpoints that save: players come back to their stage, can skip a stage for Robux and get a prize at the finish.
- Works with BloxMaps obby checkpoints, or any part tagged "Checkpoint" with a Stage number
- Saves each player's stage; returning players spawn right where they left off
- A "Skip Stage" Robux product (plus Skip 5) from GameData, the most common obby purchase
- Stage counter on the player list, back-to-any-stage teleports, pay for every new stage and a finish reward
- Cooperates with BloxMaps kill bricks and moving parts instead of replacing them
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.obby_stages.
| Setting | What it is | Starts as |
|---|---|---|
| Checkpoint tag (parts need a Stage number attribute) | Text (up to 40 characters). BloxMaps checkpoints and parts in a Workspace folder named Checkpoints (named 1, 2, 3...) work too. | "Checkpoint" |
| Finish tag | Text (up to 40 characters). Touching a part with this tag finishes the obby. BloxMaps finish lines work by themselves. | "Finish" |
| Respawn at the player's stage | On / off | On |
| Stages must be reached in order | On / off. A player can't jump more than one stage past the best stage they reached (stops teleport cheats). | On |
| Show the stage on the player list | On / off | On |
| Player list column | Text (up to 20 characters) | "Stage" |
| Skip 1 stage product (its name in GameData.Products) | Text (up to 60 characters) | "Skip 1 Stage" |
| Skip 5 stages product (its name in GameData.Products) | Text (up to 60 characters) | "Skip 5 Stages" |
| Skips can jump onto the last stage | On / off. Off: the finale has to be beaten. Skips that can't be used yet are saved for later. | Off |
| Players can go back to any stage they reached | On / off | On |
| Rising lava (a lava escape) | On / off. From each checkpoint the lava rises after the player (each player sees their own) and reaches the next checkpoint's height in about 2.6x the walk there + 8 s; reach it and the lava drops back. A DANGER / LAVA / HEAT meter on the HUD shows how close it is. | Off |
| Rising lava speed (1 = normal, 2 = twice as fast) | Number (0.25 to 4) | 1 |
| Finish reward: currency | One of your currencys | your first currency |
| Each new stage pays (the finish reward's currency; 0 = only the finish pays) | Whole number (0 to 1,000,000). Paid the first time a player reaches a stage (not again after going back, not for skipped stages). Every 10th stage pays 5x. | 5 |
| Finish reward: amount (0 = none) | Whole number (0 to 1,000,000,000) | 500 |
| Finish reward: item (optional) | Text (up to 60 characters) | empty |
| Finish badge (optional) | A Roblox badge id | not set |
| Give the finish reward on every full run | On / off. Off: once per player. On: again after starting over from stage 1. | Off |
| Kill brick tag (for maps without BloxMaps) | Text (up to 40 characters) | "KillBrick" |
| Tell returning players their stage | On / off | On |
| A spinning arrow over the next checkpoint | On / off. The owner's obby: a glowing arrow turns over the checkpoint you're heading for, so nobody wonders where to go. | On |
Order Queue#
Customers line up with orders: serve them before their patience runs out for pay and a quick-service tip.
- A new customer every few seconds, up to a set number waiting at once
- Serve the oldest order you can: bring the item it asks for, or just serve
- Pay for every order, plus a tip that shrinks the longer they waited
- A customer who waits too long walks off (and can cost the last server a penalty)
- Works with any game's items and currency: kitchens, deliveries, shops, daycares
Settings in GameData: GameData.Features.order_queue.
| Setting | What it is | Starts as |
|---|---|---|
| What customers order | A list: Item id they want ("order" = nothing needed, serving is enough), What the order is called, Pay for it per row | 1 row |
| Currency customers pay in | One of your currencys | your first currency |
| How long a customer waits (seconds) | Number (5 to 600) | 30 |
| A new customer every (seconds) | Number (1 to 600) | 8 |
| Most customers waiting at once | Whole number (1 to 20) | 4 |
| Tip for instant service (shrinks to 0 at the end of the patience) | Number (0 to 1,000,000,000) | 5 |
| Taken from the last server when a customer walks off (never below 0) | Number (0 to 1,000,000,000) | 0 |
| Tag on the customer stand-ins | Text (up to 40 characters) | "Customer" |
| Tag of the counter part customers wait at (none = by the spawn) | Text (up to 40 characters) | "Counter" |
| How close a player must stand to serve (studs) | Number (4 to 60) | 14 |
Phase Machine#
The game moves through phases (lobby, round, intermission, turns) with their own clocks, round and round.
- A list of phases, each with its own length; 0 seconds waits until another system moves it on
- A phase can wait until enough players are in the game
- A turn phase hands turns round the players, a few seconds each
- Other systems and game rules hear every phase start and end
- Works beside Rounds: it keeps its own phase and never touches the round timer
Settings in GameData: GameData.Features.phase_machine.
| Setting | What it is | Starts as |
|---|---|---|
| Phases (in order) | A list: Phase name, Kind, Seconds (0 = until moved on), Players needed to start the clock per row | 3 rows |
| Start again after the last phase | On / off | On |
| Seconds per turn (turn phases) | Whole number (5 to 300) | 20 |
| Tell players when a phase or their turn starts | On / off | On |
Predator Pack#
Predators that hunt as a pack (wolves, bears, coyotes, hyenas, raptors, hounds, any beast or creature): they stalk, warn, bite, lunge, and can seize a player and drag them to their lair unless they fight free or a friend rescues them.
- A pack that patrols, investigates noise, stalks between the trees, warns, attacks, recovers and retreats: never spawning beside a player
- Bites, and lunges with a visible warning; a well-timed shove interrupts one attacker
- The grab: the predator drags its captive away while everyone watches; hold Fight Free, kick when it opens, or use the weapon in your hand
- Friends free a captive with one weapon hit, a short Help Friend hold, or a flare held close
- Fail the struggle and you wake in the lair with your gear, capped health and a few seconds to walk out
- Fair by design: nearby and attacking predators are capped by party size, one drag at a time, a calm spell after every big encounter
Has a part on the player's device. Settings in GameData: GameData.Features.predator_pack.
| Setting | What it is | Starts as |
|---|---|---|
| What they are (one, lower case) | Text (up to 30 characters). The word the game's texts use: "bear", "raptor", "shadow"... | "predator" |
| ...and several of them | Text (up to 30 characters). Empty = made from the word above (bear -> bears); an odd plural (mouse -> mice) goes here. | empty |
| Predators in the pack (for the whole run) | Whole number (1 to 12). One that is killed stays dead for the run; one that retreats comes back still hurt. | 6 |
| Model name | Text (up to 60 characters). A Model in ServerStorage > BloxGame > Predators. Empty = the first model there. | empty |
| Health | Number (1 to 2,000). 80 = two revolver hits (50) or three hatchet hits (30). | 80 |
| Bite damage | Number (0 to 500) | 20 |
| Lunge damage | Number (0 to 500) | 30 |
| Lunge warning (seconds of lowered stance) | Number (0.2 to 5) | 1 |
| Grab damage (when the leap connects) | Number (0 to 500) | 10 |
| They can grab and drag players | On / off | On |
| Grabs may start after this area (0 = anywhere) | Whole number (0 to 20). The first grab becomes possible on the next broad trail after this area's shelter. | 3 |
| No second grab on a freed player for (s) | Number (0 to 300) | 20 |
| Damage protection after being freed (s) | Number (0 to 60) | 3 |
| The captor staggers after its captive is freed (s) | Number (0 to 30) | 2 |
| Capture window (s) | Number (3 to 120). Starts only when the Fight Free prompt is usable on the player's screen. | 12 |
| Holding Fight Free frees you within (s) | Number (1 to 120) | 10 |
| A kick opportunity opens every (s) | Number (1 to 60) | 3 |
| A kick opportunity stays open (s) | Number (0.2 to 5) | 0.9 |
| One kick fills this much of the meter (0-1) | Number (0 to 1). 0.2 = two kicks bring the escape down to about six seconds. | 0.2 |
| Help Friend hold (s) | Number (0.2 to 30) | 2 |
| Help Friend range (studs from the captor) | Number (3 to 30) | 8 |
| A flare this close to the captor frees the captive (studs) | Number (1 to 60) | 8 |
| ...after this long (s) | Number (0 to 30) | 1 |
| Drag speed (studs/s) | Number (1 to 30) | 7 |
| Health cap when waking in the lair | Number (1 to 1,000) | 35 |
| Transition to the lair after a failed struggle (s) | Number (0.5 to 15) | 2.5 |
| Shove cooldown (s) | Number (0.2 to 60) | 2.5 |
| Shove reach (studs) | Number (2 to 30) | 7 |
| Shove damage | Number (0 to 100) | 5 |
| Nearby at once: solo | Whole number (0 to 12) | 2 |
| Committed attackers: solo | Whole number (0 to 12) | 1 |
| Nearby at once: two players | Whole number (0 to 12) | 3 |
| Committed attackers: two players | Whole number (0 to 12) | 1 |
| Nearby at once: three or four players | Whole number (0 to 12) | 4 |
| Committed attackers: three or four players | Whole number (0 to 12) | 2 |
| Calm after a major encounter: at least (s) | Number (0 to 600) | 20 |
| Calm after a major encounter: at most (s) | Number (0 to 600) | 40 |
| Patrol speed (studs/s) | Number (1 to 60) | 8 |
| Stalking speed (studs/s) | Number (1 to 60) | 11 |
| Chase burst speed (studs/s) | Number (1 to 80). Faster than a sprinting player (20) in bursts, so sprinting is a short commitment. | 24 |
| A chase burst lasts (s) | Number (0.5 to 60) | 4 |
| Speed between bursts (studs/s) | Number (1 to 60) | 15 |
| How far one sees (studs) | Number (10 to 600) | 95 |
| Sprinting is heard from (studs) | Number (0 to 600). A nearby cue. Walking is heard a third as far, crouching not at all. A revolver shot carries much farther. | 45 |
| A noise is worth checking for (s) | Number (1 to 120) | 12 |
| They only enter this far from every player (studs) | Number (20 to 2,000). They walk in from their own entries along real paths. One never appears beside a player. | 120 |
| A retreated one stays away at least (s) | Number (0 to 1,200) | 45 |
| Loses interest outside a closed shelter after (quiet s) | Number (5 to 600) | 35 |
| Warning before the final approach (s) | Number (0 to 60) | 4 |
| Pull the camera back during a struggle | On / off | On |
| Eyes catch the light | On / off | On |
Quiz Show#
A quiz on a big board: players answer by stepping on a pad, with points for speed and a streak.
- Your own questions with up to four choices, shuffled fairly
- Players answer by stepping on a coloured pad (or a HUD button)
- Faster right answers score more, and a streak counts them in a row
- One answer per player per question, checked by the server
- Other systems hear every question and answer
Settings in GameData: GameData.Features.quiz.
| Setting | What it is | Starts as |
|---|---|---|
| Questions | A list: Question, Right answer, Wrong answer 1, Wrong answer 2, Wrong answer 3 per row | 8 rows |
| Seconds per question | Number (5 to 120) | 15 |
| Seconds between questions | Number (1 to 30) | 4 |
| Points for a right answer | Whole number (0 to 1,000,000) | 100 |
| Bonus for answering fast (up to +50%) | On / off | On |
| Currency paid | One of your currencys. Empty = the game's first currency. | not set |
| Paid per right answer (0 = none) | Whole number (0 to 1,000,000,000) | 0 |
| Shuffle questions and choices | On / off | On |
| Start over after the last question | On / off | On |
| Tag of the answer pads | Text (up to 40 characters). Pads are ordered by their attribute BloxAnswer (1..4), else by name. | "AnswerPad" |
| Tag of the question board | Text (up to 40 characters) | "QuestionBoard" |
| A board and 4 pads by the spawn when the map has none | On / off | On |
| Start by itself | On / off. Off = only another system (begin()) starts the quiz. | On |
RNG Rolls#
Roll for rare auras or titles: a "1 in 1,000,000" ladder, a slot-machine reveal, luck boosts and Auto Roll.
- Press Roll: the server rolls a "1 in X" ladder and the reveal spins to it
- Luck stacks: luck passes x luck potions (Robux) x the server's Lucky Hour
- Quick Roll and Auto Roll game passes, the odds always on screen
- Rare rolls are announced to the whole server; the best one can be equipped as a chat tag
- Everything rolled is saved and shows in the Index and Inventory as items
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.rng_rolls.
| Setting | What it is | Starts as |
|---|---|---|
| The ladder (name, 1 in X, colour) | A list: Name, 1 in X, Colour (#RRGGBB, empty = by rarity), Item it gives (empty = an item with the same name), Coins it pays the first time per row | 18 rows |
| Seconds between rolls | Number (0.2 to 30). The server's roll cooldown (the reveal takes about this long). | 1.2 |
| Cost per roll (0 = free) | Number (0 to 1,000,000,000,000) | 0 |
| Currency a roll costs | One of your currencys | your first currency |
| Currency the ladder pays | One of your currencys | your first currency |
| Each roll is an item (Index, Inventory) | On / off | On |
| Equip a rarer roll automatically | On / off | On |
| The equipped aura shows as a chat tag | On / off | On |
| Tell the whole server about rolls rarer than 1 in | Number (0 to 1,000,000,000,000). 0 = never announce. | 10,000 |
| Quick Roll game pass (rolls twice as fast) | A Roblox pass id | not set |
| Auto Roll game pass (rolls by itself) | A Roblox pass id | not set |
| Luck game passes | A list: Name, Game pass id, Luck x per row | 2 rows |
| Luck potions (developer products) | A list: Name, Developer product id, Luck x, Minutes per row | 2 rows |
| Lucky Hour: a server-wide luck boost now and then | On / off | On |
| Minutes between Lucky Hours | Whole number (1 to 600) | 6 |
| Lucky Hour lasts (minutes) | Whole number (1 to 120) | 2 |
| Lucky Hour luck x | Number (1 to 100) | 2 |
| Luck cap | Number (1 to 1,000,000) | 100 |
| Show Rolls on the player list | On / off | On |
Racing Kit#
A complete race loop: grid, 3-2-1-GO, checkpoints and laps that can't be cut, live positions, nitro, drifting and a garage that tunes every car.
- Laps and checkpoints from your track (BloxMaps gates or Parts tagged RaceCheckpoint), passed in order: no shortcuts
- Live position and lap on the HUD, a countdown start, results with best laps, rewards and leaderboards
- Nitro and drift meters, respawn to the last checkpoint, and a placeholder car and track until you add yours
- Never alone: bots fill the empty grid slots and take places in the results (they never earn or save)
- A real garage: every car keeps its own tuning (Engine, Turbo, Tyres...) bought in the design's Upgrades screen
- Works on its own or inside the Rounds system; the server decides every lap, position and reward
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.racing_kit.
| Setting | What it is | Starts as |
|---|---|---|
| Laps per race | Whole number (1 to 20). Circuits only. A point-to-point track (a Start and a Finish line) is always one run. | 3 |
| Racers needed to start | Whole number (1 to 30). The race waits in the lobby until this many players are in the server. | 1 |
| Most racers in one race | Whole number (1 to 30) | 12 |
| Lobby time before a race (seconds) | Whole number (3 to 300) | 15 |
| Bots: fill the grid up to this many rivals | Whole number (0 to 29). With fewer players than 1 + this, bots take the empty grid slots (a player is never alone). They drive the track's line a little slower than the starter car, never collide, and never earn or save. 0 = no bots. | 0 |
| Bots: skill (1 = a little slower than the starter car) | Number (0.5 to 1.5). Their top speed share; they also speed up a little as the best player in the race keeps winning. | 1 |
| Countdown (seconds) | Whole number (1 to 10) | 3 |
| Longest race (seconds) | Whole number (30 to 3,600). Racers still driving when this runs out finish as DNF. | 420 |
| Time to finish after the winner (seconds) | Whole number (5 to 300) | 30 |
| Results screen time (seconds) | Whole number (3 to 60) | 10 |
| Reward currency | One of your currencys | your first currency |
| Reward for 1st place | Whole number (0 to 1,000,000,000) | 500 |
| Reward for 2nd place | Whole number (0 to 1,000,000,000) | 300 |
| Reward for 3rd place | Whole number (0 to 1,000,000,000) | 200 |
| Reward for finishing (4th and later) | Whole number (0 to 1,000,000,000) | 100 |
| Bonus per 1,000 drift points | Whole number (0 to 1,000,000) | 10 |
| Nitro tank (seconds of boost) | Number (0.5 to 30). A full tank boosts this long. Tuning (Nitro Tank) makes it bigger. | 3 |
| Start every race with a full tank | On / off | Off |
| Nitro refill per second (while driving) | Number (0 to 5). Seconds of boost gained every second. Drifting adds more. | 0.08 |
| Nitro gained per second of drifting | Number (0 to 10) | 0.5 |
| Nitro speed boost (x top speed) | Number (1 to 3) | 1.35 |
| Drift: slowest speed that counts (studs/s) | Number (1 to 500) | 30 |
| Drift: smallest slide angle (degrees) | Number (3 to 80) | 14 |
| Drift points per second of drifting | Whole number (0 to 1,000,000) | 250 |
| Spawn a car for every racer | On / off. Uses a Model named after the car in ServerStorage > RacingCars (it needs a VehicleSeat), else the built-in placeholder car. | On |
| Placeholder car: top speed (studs/s) | Number (20 to 600) | 95 |
| Tuning: boost per upgrade level (%) | Number (0 to 50). Each level of Engine, Turbo, Tyres, Nitro Tank... adds this much to that stat of the selected car. | 4 |
| Cars won by races ("Car:wins, Car:wins") | Text (up to 500 characters). Each car is given to a player once their race wins reach its number (the garage says how many). The Game Maker fills it with the cars the shop doesn't sell. | empty |
| Starter car (free, everyone owns it) | Text (up to 60 characters). A car name from GameData.Items or the garage. Empty: the first car of the garage. | empty |
| Anti-cheat: fastest believable speed (studs/s) | Number (50 to 5,000). A car moving faster than this between two checks is ignored at that checkpoint (teleports, speed hacks). | 450 |
| Respawn button cooldown (seconds) | Number (0 to 60) | 3 |
| Respawn when this far below the track (studs) | Whole number (10 to 1,000) | 60 |
| Build a placeholder track when the map has none | On / off | On |
| Let the Rounds system start races (when it's on) | On / off | On |
| Speed shown in | One of: km/h, mph, studs/s | km/h |
Raid Base#
Build a base anywhere from grid pieces, upgrade twig to steel, keep it with a claim cabinet's upkeep, and raid other bases.
- Foundations, walls, doorways, windows and floors snap to a grid; build as twig, upgrade in place to wood, stone, metal, steel
- Pieces stand on what's under them: break a support and what it held falls
- A claim cabinet: only its authorised list can build nearby; its store pays a daily upkeep or the base decays
- Raid other bases: each tool takes a set number of hits per material, charges blow walls open, a hit base can't build for 60 s
- Everything checked and saved by the server; health bars, a tier-coloured build ghost and the cabinet's upkeep panel
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.raid_base.
| Setting | What it is | Starts as |
|---|---|---|
| Material tiers (weakest first; the ids stay) | A list: Id, Name, Health of a wall / foundation (a floor has half), Cost to build / upgrade to it (a floor half) per row | 5 rows |
| Claim cabinet cost | Text (up to 200 characters) | "Wood x500" |
| Claim radius round the cabinet (studs) | Number (12 to 600) | 60 |
| Anyone who reaches a cabinet may authorise themselves | On / off. Off: only the owner is on the list (and whoever the owner authorised before). | On |
| An upkeep day (seconds; paid in 144 slices) | Number (60 to 864,000) | 86,400 |
| Upkeep and decay go on while the owner is away | On / off | On |
| At most this many days away are played back | Number (0 to 60) | 7 |
| Most pieces in one base | Whole number (1 to 2,000) | 250 |
| How far from you a piece may go (studs) | Number (8 to 200) | 32 |
| Players can damage other bases | On / off | On |
| No upgrades, repairs or new pieces this long after a hit (s) | Number (0 to 3,600) | 60 |
| Raid table: hits to destroy a piece of each material (0 = can't) | A list: Tool or charge (an item), Twig, Wood, Stone, Metal, Steel, Tool wear per hit, Fuse (s; > 0 = a charge that sticks on), Used up on each hit per row | 8 rows |
Roleplay: Jobs & Homes#
Real jobs with uniforms and paychecks, homes on plots with a lockable door, a wardrobe that dresses you and vehicles.
- The Jobs screen's buttons start a job: uniform, team, chat tag and a paycheck every few minutes
- Buying a home in the Homes screen builds it on a plot, one per player, with a door only you can open
- The wardrobe's Wear really changes your avatar, and it's still on when you come back
- Workplaces clock you in (a JobTask's job), car pads spawn their vehicle, a plot's own house is claimed as it stands
- Premium homes, premium cars and double paychecks come with their passes; nothing a client can fake, all saved
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.roleplay.
| Setting | What it is | Starts as |
|---|---|---|
| Paycheck currency | One of your currencys | your first currency |
| Minutes between paychecks | Number (0.5 to 120). The design's "Next paycheck" timer counts this down. | 5 |
| No pay after this many minutes without moving (0 = off) | Number (0 to 60) | 5 |
| Seconds before a player can change job again | Whole number (0 to 600) | 5 |
| Each job is a team on the player list | On / off | On |
| Show the job as a chat tag | On / off | On |
| Players keep their job when they come back | On / off | On |
| Jobs | A list: Job name (as on the button), Pay per paycheck, Colour (#RRGGBB), Uniform shirt id (optional), Uniform pants id (optional), Tool name (optional), Reward per job task, Works at the map's workplaces of (optional job name) per row. The design's job buttons are matched by name. Uniform ids are optional (without them the job's colour is used). Tool = a Tool in ServerStorage > BloxGame > Tools. | 9 rows |
| Seconds between job tasks at the same spot | Whole number (1 to 600) | 20 |
| Homes (the design's Homes screen) | A list: Home name (as in the design), Model name (optional), Free (claim it at an empty plot), Premium (free with the premium homes pass) per row. Prices come from the design's Homes screen. Model = a Model in ServerStorage > BloxGame > Homes (empty = the home's name; none = a placeholder house). Free homes can be claimed at an empty plot. | 6 rows |
| Homes a player can own (0 = any number; they live in one at a time) | Whole number (0 to 20) | 0 |
| Plots to build when the map has none tagged "HousePlot" | Whole number (0 to 40) | 8 |
| Wardrobe (Wear) | A list: Item name (as in the design), Slot, Asset id (optional), Placeholder colour (#RRGGBB) per row. Asset ids from the Roblox catalog (a hat's id, a shirt / pants template id). Without an id the colour is used, so Wear works before you pick real items. | 20 rows |
| Wearing needs the item in the inventory (off = dress-up for everyone) | On / off | Off |
| Vehicles | A list: Vehicle name, Top speed (studs/s), Colour (#RRGGBB), Model name (optional), Premium (needs the premium cars pass) per row. Spawned from the design's vehicle / garage screen, a SpawnVehicle button, or a part tagged "VehicleSpawner" (attribute Vehicle = the name). Model = a Model in ServerStorage > BloxGame > Vehicles with a VehicleSeat (none = a placeholder car). | 2 rows |
| Seconds between vehicle spawns | Whole number (1 to 120) | 5 |
| Game pass that makes premium homes free (its name in the shop) | Text (up to 40 characters). Found in GameData.Passes by this name (or a pass named like premium homes / mansion). | "Premium Homes" |
| Game pass that unlocks premium vehicles (its name) | Text (up to 40 characters) | "Supercar Pass" |
| Game pass that doubles every paycheck (its name) | Text (up to 40 characters) | "2x Paycheck" |
Roll Station#
A free roll at a station on your plot: N results fly out (eggs, crates, cards) with luck, a tier cap you level up, and lucky procs; the odds are always shown.
- Press the station (or the HUD's Roll): N results (an upgrade board) land on the displays and hatch
- Weighted tiers: 1 in N each at luck x1; luck makes the rarer tiers likelier (x luck^0.6)
- The station's level caps the rarest tier (an upgrade board levels it)
- Procs: a Super egg (big luck), x2 and x8 luck eggs, a token instead of a result
- Robux packs (1 of 5 with a mutation, odds on screen; never shown where Roblox restricts paid random items)
Needs: Data Saving, Unit Roster & Traits. Has a part on the player's device. Settings in GameData: GameData.Features.roll_station.
| Setting | What it is | Starts as |
|---|---|---|
| The station is called | Text (up to 30 characters) | "Queen" |
| What it gives out | Text (up to 30 characters) | "Egg" |
| The token a roll can drop | Text (up to 30 characters) | "Star" |
| Currency the station's levels cost | One of your currencys | your first currency |
| Each tier's roll chance at luck x1 (1 in N; the roster's tiers in order) | A list: 1 in N per row | 11 rows |
| Station levels (each unlocks a rarer tier) | A list: Price, Rarest tier it rolls per row | 8 rows |
| Upgrade board that gives the luck (its id) | Text (up to 20 characters) | "luck" |
| Upgrade board that gives the results per roll (its id) | Text (up to 20 characters) | "rolls" |
| Most results per roll | Whole number (1 to 10) | 5 |
| Seconds between two rolls | Number (0.5 to 60) | 2.5 |
| Super egg chance (luck x10, at least the 2nd tier) | Number (0 to 1) | 0.01 |
| x2 luck egg chance | Number (0 to 1) | 0.03 |
| x8 luck egg chance | Number (0 to 1) | 0.003 |
| Token instead of a result chance | Number (0 to 1) | 0.04 |
| A result arrives mutated (chance) | Number (0 to 1) | 0.005 |
| A new player's first roll is the commonest tier | On / off | On |
| Map marker: the station in each plot | Text (up to 30 characters) | "QueenPad" |
| Model shown on the station (a BloxItemModels name; empty = the one marked StationModel / ColonyQueen) | Text (up to 60 characters) | empty |
| Pack odds (percent, commonest first, 5 numbers) | Text (up to 60 characters) | "52,30,15,2.5,0.5" |
| Sell packs | On / off | On |
| Pack product (its name in GameData.Products) | Text (up to 60 characters) | "Unit Pack" |
| Pack x3 product | Text (up to 60 characters) | "Unit Pack x3" |
| Pack x10 product | Text (up to 60 characters) | "Unit Pack x10" |
Round Mutators#
Between rounds, players chip in coins for one twist on the next round for everybody: low gravity, speed, fog, overtime or a rush clock.
- A board per mutator in the lobby: walk up, pay with the game's own currency, and the NEXT round has that twist for everyone
- Low gravity, speed, moon jump, thick fog, a longer round, or a rush clock that every finisher cuts
- Everyone is told who bought it; it is cleared the moment the round ends
- One per round by default (first come), so every round can be a different game
- A sink for earned currency that needs no Robux and works with any round game
Needs: Rounds & Match Flow. Settings in GameData: GameData.Features.round_mutators.
| Setting | What it is | Starts as |
|---|---|---|
| Currency mutators cost | One of your currencys | your first currency |
| Mutators | A list: Id (letters, digits, _), Name on the board, What it changes, Amount (a multiplier), Price per row. gravity: the world's gravity x amount. speed / jump: the round's players x amount. fog: on. time: the round's length x amount. rush: each player who finishes multiplies the time left by amount (a race round). | 6 rows |
| Most mutators on one round | Whole number (1 to 4). 1 = the first one bought is the round's twist. | 1 |
| Rush clock: never below (seconds) | Whole number (1 to 120) | 10 |
| Mutators also apply to practice rounds | On / off. Off: a bought mutator waits for the next real round. | Off |
| Tell everyone who bought a mutator | On / off | On |
| Map marker: where the boards stand (a hub marker) | Text (up to 30 characters) | "MutatorBoards" |
Round Series#
Rounds become a match: the first player to win three rounds takes it, with a prize, a lobby board and a champion's mark.
- Counts every round win; the first to the target takes the match and the count starts again
- A tie at the top is settled by the next round
- The match prize is paid in the game's own currency, once per match
- A board in the lobby: the match, the standing, the last champion
- Works with any round game: last standing, most kills, races, minigames
Needs: Rounds & Match Flow. Settings in GameData: GameData.Features.round_series.
| Setting | What it is | Starts as |
|---|---|---|
| Round wins that take the match | Whole number (2 to 20) | 3 |
| Currency of the match prize | One of your currencys | your first currency |
| Match prize (0 = none) | Whole number (0 to 1,000,000,000,000) | 250 |
| A round one player played alone counts too | On / off. Off: nobody takes a match unopposed. In Studio a lone tester's rounds always count. | Off |
| The board's word for a match | Text (up to 20 characters) | "MATCH" |
| Tell everyone who took the match | On / off | On |
| Map marker: the board (a hub marker) | Text (up to 30 characters) | "SeriesBoard" |
Rounds & Match Flow#
A real round loop: lobby, intermission countdown, the round on your map, and the design's results screen with real stats and rewards.
- Lobby, intermission countdown, 3-2-1-GO, the round, then results, on repeat
- Win by last one standing, most kills, first to the finish line, or surviving the timer (teams too)
- Players are teleported to the map's spawn markers and back to the lobby afterwards
- The design's timer and objective show the countdown; its Victory screen shows placement, kills, time and rewards
- The server decides everything: kills, finishes, placements and the coins it pays out
Has a part on the player's device. Settings in GameData: GameData.Features.rounds.
| Setting | What it is | Starts as |
|---|---|---|
| How a round is won | One of: Pick from the game (obby = finish line, fps = kills, battle royale = last standi, Last one (or team) standing, Most kills when time runs out, First to reach the finish, Survive until the timer ends. Auto: a map with a Finish marker races to it; fps / shooter designs play for kills; battle royale for last standing; anything else survives the timer. | Pick from the game (obby = finish line, fps = kills, battle royale = last standi |
| Players needed to start | Whole number (1 to 50) | 2 |
| Let one player test rounds in Studio | On / off. In Studio a round starts with just you, so you can test it by pressing Play. | On |
| Practice rounds while a live server is short of players | On / off. Fewer players than needed: the HUD says "Waiting for players (1/2)" and offers PLAY SOLO NOW; a practice round (bots where the mode needs opponents, a share of the rewards) also starts by itself after the wait below. | On |
| Practice rounds pay (share of a real round's reward, 0 = nothing) | Number (0 to 1). A new player's first round on a quiet server is usually a practice round: it pays this share of the coins (so XP too) and counts their rounds, finishes and best time. Wins and kills against bots are never saved (the leaderboards stay real). | 0.5 |
| Practice round starts by itself after (seconds alone; 0 = only the button) | Whole number (0 to 3,600) | 40 |
| Bots fill a fight played alone | On / off. One player in a last-one-standing or most-kills round (Studio, a practice round) gets bot opponents that walk at you and hit; your weapons hurt them. Murder Mystery, Infection, Deathrun and Battle Royale bring their own stand-ins. | On |
| Bots in a solo fight | Whole number (1 to 8) | 3 |
| Damage per bot hit | Whole number (1 to 1,000) | 10 |
| Nobody wins in a round's first (seconds) | Whole number (0 to 120). A round never ends the moment it starts (a lone player isn't "the last one standing" at GO). | 5 |
| Intermission (seconds) | Whole number (3 to 600) | 15 |
| Round length (seconds) | Whole number (10 to 7,200) | 180 |
| Who ends a match round | One of: Auto: the game mode when it keeps its own schedule (tower defense, battle royale, The game mode, always (the round length is only a 30-minute safety cap), The round length, always. A tower defense match ends when its waves are beaten or its base falls, a battle royale when one is left: a 180 s round used to cut them short. | Auto: the game mode when it keeps its own schedule (tower defense, battle royale |
| Results shown for (seconds) | Whole number (2 to 120) | 8 |
| Kills that win right away (most kills; 0 = off) | Whole number (0 to 1,000) | 0 |
| Time left for the others after the first finish (seconds) | Whole number (0 to 600). First to finish: the round ends when everyone finished, or this long after the winner. | 20 |
| Teleport players to the map's spawns at the start | On / off. Uses parts tagged RoundSpawn, else the BloxMaps Spawn markers (team spawns for team players). Without either, players play where they stand. | On |
| Send everyone back to the lobby after the round | On / off. They respawn at your lobby SpawnLocation (or a part tagged LobbySpawn). | On |
| Hold players still during 3-2-1 | On / off | On |
| Rewards are paid in | One of your currencys | your first currency |
| 1st place | Whole number (0 to 1,000,000,000) | 100 |
| 2nd place | Whole number (0 to 1,000,000,000) | 50 |
| 3rd place | Whole number (0 to 1,000,000,000) | 25 |
| Everyone who plays the round | Whole number (0 to 1,000,000,000) | 10 |
| Per kill in the round | Whole number (0 to 1,000,000,000) | 5 |
| Show Wins on the player list | On / off. A saved Wins value in leaderstats (the Roblox player list and leaderboards read it). | On |
| Toasts for the round's big moments | On / off | On |
| The results screen closes by itself after (seconds, 0 = only with the next phase) | Number (0 to 60). The end-of-round card frees the mouse while it's up; it always closes when the intermission / vote begins, on respawn and at the next round. | 6 |
| 3-2-1-GO when a round starts | On / off. Off when the game mode shows its own start (the owner's MM2: a fade and the role roller). | On |
| A small round banner when the design has no Timer / Objective | On / off. Off when the game mode draws its own status line (the owner's MM2 status at the top). | On |
Rule Runner#
The game's own rules as data: when something happens, if a condition holds, do a few things.
- Rules like "when a coin is touched, add 1 score" or "when score reaches 100, win"
- Scores, meters, timers and stats per player, saved where you want them
- Wins and losses with what happens next (a new round, results, the next level)
- Bounded: a rule can't fire too often or set off an endless chain; a broken rule is skipped
- Works with the other gameplay blocks: stations, spawners, customers, phases
Settings in GameData: GameData.Features.rule_runner.
| Setting | What it is | Starts as |
|---|---|---|
| Resources (scores, meters, timers, stats) | A list: Name (a plain word), Kind, Starts at, Lowest, Highest, Saved between visits per row | empty |
| Rules | A list: When (verb:use, touch:Coin, timer:10, resource:score >= 10, phase:round, spawn:Coin, npc_patience_out), Only if (joined with " and "), Do (joined with ";": add score 1; notify Nice!) per row | empty |
| Most rule firings per player per second | Whole number (1 to 60) | 10 |
| A player wins when (a condition, empty = never) | Text (up to 120 characters) | empty |
| After a win | One of: Start the round again, Rebirth, Show the results, Go to the next level, Nothing | Show the results |
| A player loses when (a condition, empty = never) | Text (up to 120 characters) | empty |
| After a loss | One of: Start the round again, Rebirth, Show the results, Go to the next level, Nothing | Start the round again |
Secret Roles#
A few players get a secret role each round; meetings, votes, and one side wins.
- A few hidden players each round; everyone else is the town
- Each player only ever learns their own role
- Meetings on a timer, from a button or a report; the most-voted player is out
- A tie or a skip sends nobody out
- The town wins when every hidden player is out; the hidden win when they are as many as the rest
Settings in GameData: GameData.Features.secret_roles.
| Setting | What it is | Starts as |
|---|---|---|
| Name of the hidden role | Text (up to 30 characters). What the hidden players are called (impostor, spy, werewolf, culprit...). | "Impostor" |
| Name of everyone else | Text (up to 30 characters) | "Crewmate" |
| Hidden players per round | Whole number (1 to 5) | 1 |
| Players needed to start | Whole number (2 to 20). With fewer players in the server the game waits. | 3 |
| Meeting length (seconds) | Number (10 to 300) | 30 |
| A meeting every (seconds, 0 = only when called) | Number (0 to 1,800) | 120 |
| Tag of the meeting buttons | Text (up to 40 characters). Parts with this CollectionService tag get a "Call meeting" prompt (30 s cooldown per player). | "MeetingButton" |
| Players may skip the vote | On / off | On |
| Currency of the win pay | One of your currencys | not set |
| Pay to each winner (0 = none) | Whole number (0 to 1,000,000,000) | 25 |
| Seconds before a new round | Number (3 to 120) | 10 |
| A meeting button by the spawn when the map has none | On / off | On |
Security Office#
A real night shift: doors, lights and cameras on a failing power supply, animatronics that creep closer, nights 1-5. Or an anomaly shift: spot what changes in the rooms on the cameras and report it before 6 AM.
- The design's doors, lights, mask and camera panel really work; each one uses power
- Animatronics move from camera to camera and try to get in; the server decides every move
- Survive until 6 AM on the night clock; nights 1-5 get harder, winning pays and unlocks the next
- Anomaly shift: a chair goes missing, a lamp flickers, a figure stands in a corner; report the room and the kind
- Cameras show parts tagged SecurityCam; the Nights screen shows what's unlocked
- A placeholder office and camera rooms are built so it plays the moment you press Play
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.security_office.
| Setting | What it is | Starts as |
|---|---|---|
| Game | One of: Night guard: doors, lights, power and animatronics, Anomaly shift: spot what changed on the cameras and report it | Night guard: doors, lights, power and animatronics |
| Nights | Whole number (1 to 7) | 5 |
| Length of a night (12 AM to 6 AM, seconds) | Number (30 to 1,800) | 360 |
| Power at the start of a night (%) | Number (10 to 100) | 100 |
| Power used per bar of usage (% per second) | Number (0.01 to 5). Usage is 1 bar, plus 1 for each closed door, light, open camera and sealed vent. | 0.1 |
| Extra drain per night after the first (% per second) | Number (0 to 1) | 0.02 |
| Animatronics try to move every (s) | Number (1 to 60) | 5 |
| Seconds of darkness before the power-out attack | Number (1 to 120) | 12 |
| Animatronics | A list: Name, Path (cameras, then where it attacks), How active on nights 1-7 (0-20 each), Model name (ServerStorage > BloxGame > Animatronics) per row | 4 rows |
| Start night 1 by itself when a player joins | On / off | On |
| Seconds before a night starts | Number (0 to 120) | 6 |
| Winning a night pays | One of your currencys | your first currency |
| Pay x night number | Whole number (0 to 10,000,000) | 50 |
| Cameras can fail (the Reboot button fixes them) | On / off. Only when the design has a Reboot button, from night 3. | On |
| Build a placeholder office and camera rooms when the map has none | On / off | On |
| Night guard: add Left / Right Door and Light buttons the design doesn't have | On / off. For a design without door buttons (phones have no Q / E keys). | Off |
| Anomaly shift: seconds between anomalies on night 1 | Number (8 to 600). Every night after it they come 14% faster (never faster than every 16 s). The first one comes this long after 12 AM. | 40 |
| Anomaly shift: this many at once ends the night | Whole number (2 to 12) | 4 |
| Anomaly shift: seconds of warning before too many ends it | Number (0 to 60) | 10 |
| Anomaly shift: seconds a report is checked | Number (0.5 to 20) | 3 |
| Anomaly shift: sanity lost for a wrong report | Number (0 to 100) | 12 |
| Anomaly shift: sanity lost per second per anomaly left alone | Number (0 to 10) | 0.3 |
| Anomaly shift: an unreported figure reaches the office after (s, night 1) | Number (15 to 600) | 60 |
| Anomaly shift: sanity an intruder in the office takes | Number (0 to 100) | 35 |
| Anomaly shift: pay for each anomaly fixed | Whole number (0 to 10,000,000) | 10 |
| Anomaly shift: a lost night starts again after (s) | Number (5 to 600) | 25 |
| Anomaly shift: the kinds that happen (empty = all) | Text (up to 100 characters). Any of: missing, extra, moved, light, figure, color, camera (comma separated). | empty |
| This game's seed (0 = from the place) | Whole number (0 to 2,147,483,647). Decides this game's jumpscare styles. Change it for another set. | 0 |
| The game's setting (the mood of its scares) | Text (up to 20 characters). hospital, facility, school, mansion, carnival... Empty = blood red on black. | empty |
Shared Supplies#
Shared loot containers, four inventory slots each, drop / hand over / swap, and quick pings for a co-op survival run.
- Containers take a second to open and show EVERYONE what's inside; players take single items
- Four slots each: a weapon takes one, bandages and flares stack to two, ammo sits beside the revolver
- A full inventory offers a swap; drop supplies or hand them to a friend
- The run's loot is rolled once from its seed (rare weapons on a run budget) and never rerolled
- Pings for Danger (named after the game's threat), Supplies, Come Here and Help; a lost player's things wait in a pack
Has a part on the player's device. Settings in GameData: GameData.Features.shared_supplies.
| Setting | What it is | Starts as |
|---|---|---|
| Seconds to open a container | Number (0 to 10). The Open prompt is held this long. The server checks the hold, the distance and the player's state. | 1 |
| Reach for containers and pickups (studs) | Number (4 to 30) | 10 |
| Inventory slots per player | Whole number (1 to 8) | 4 |
| Bandages / flares per slot | Whole number (1 to 10) | 2 |
| Loose rounds per slot (no revolver yet) | Whole number (1 to 30) | 6 |
| Spare rounds a revolver can carry | Whole number (0 to 60) | 12 |
| Bandages everyone starts a run with | Whole number (0 to 4) | 1 |
| Reach for handing an item to a friend (studs) | Number (4 to 40) | 12 |
| The first cabin's shelter is named like | Text (up to 40 characters). Its containers get one extra bandage and one flare per starting player. | "Lantern" |
| ...or it is the secure shelter of area | Whole number (0 to 50). Used when no shelter's name holds the word above. | 3 |
| First cabin: bandages per starting player | Number (0 to 4) | 1 |
| First cabin: flares per starting player | Number (0 to 4) | 1 |
| Later secure shelters: supplies per starting player | Number (0 to 4). Rounded up, at least one: each later secure shelter is sure to hold bandages or flares. | 0.5 |
| Chance an ordinary container holds a supply | Number (0 to 1) | 0.5 |
| Share of runs with one revolver | Number (0 to 1) | 0.35 |
| Share of runs with one hatchet | Number (0 to 1) | 0.65 |
| 4-player runs: chance of a second hatchet | Number (0 to 1) | 0.15 |
| Most revolvers in a run | Whole number (0 to 1) | 1 |
| Most hatchets in a run | Whole number (0 to 2) | 2 |
| Rounds in a found revolver | Whole number (0 to 6) | 3 |
| A run with a revolver hides spare rounds this often | Number (0 to 1) | 0.6 |
| Rounds in that small reserve | Whole number (1 to 6) | 3 |
| Seconds a ping stays in the world | Number (1 to 30) | 6 |
| Seconds between one player's pings | Number (0.5 to 30) | 2 |
| How far away a ping can be placed (studs) | Number (20 to 2,000) | 300 |
| The danger ping says | Text (up to 20 characters). The game's threat in one word: "Wolf", "Bear", "Guard"... | "Danger" |
Simulator Core#
The simulator loop for any theme: train a stat, break or catch things on the map, better tools, bosses, a bag to sell, zones and rebirths, all checked by the server.
- Pick a theme (mining, walls, pets, fishing, lifting, bubble gum, clicker, RNG, speed) or write your own rows
- Works on any map: the map's Breakable markers (or parts you tag SimNode) become ores, walls or fishing spots
- Tools and bags to buy, bosses that ask for a recommended stat, a world-finish bonus, a sell pad
- The server does every hit, catch and sale: distance, speed, zone and order are checked
- Pets, rebirths, boosts and passes multiply the stat and the earnings
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.sim_core.
| Setting | What it is | Starts as |
|---|---|---|
| Theme | One of: Automatic (from the game's name and currencies), Mining: ores with HP, Power and Wins per ore, pickaxes from bosses, Walls: train Power, break each zone's walls in order, finish the world for coins, Pets: break coins, crates and chests with your pets, Fishing: cast, wait for the bite, reel in, sell your bucket, Lifting: lift for Strength, beat arm wrestlers, ... | Automatic (from the game's name and currencies) |
| Currency nodes, bosses and sales pay | One of your currencys | your first currency |
| The stat's currency (empty = a currency named like the stat, else kept here) | Text (up to 40 characters). Power / Strength / Bubbles: when your design has a currency with that name the stat IS that currency (rebirths can reset it, the HUD shows it). Write none to always keep it here. | empty |
| Stat name (empty = the theme's) | Text (up to 24 characters) | empty |
| What the nodes are called (empty = the theme's) | Text (up to 24 characters) | empty |
| What the tools are called (empty = the theme's) | Text (up to 24 characters) | empty |
| The action's word on the button (empty = the theme's: Mine, Lift, Fish...) | Text (up to 24 characters) | empty |
| Names for the theme's tools, in order (empty = the theme's) | Text (up to 400 characters). Wooden Sword, Iron Sword, ...: the theme's tools keep their numbers and take these names (a sword simulator on the lifting loop holds blades). The Tools list below replaces everything. | empty |
| Nodes (empty = the theme's) | A list: Name, Zone, Weight (how common), Health, Stat it gives, Currency it gives per row. Per zone, picked by weight for each node on the map. Health is what a node takes to break; stat and reward are what breaking it gives. | empty |
| Tools and bags (empty = the theme's) | A list: Name, Kind, Price, Power (x), Speed (x), Capacity (bags), Zone it's sold in, How you get it per row. A tool's power multiplies hits / training (speed: faster; luck: rarer catches). A bag's capacity is how much you carry before selling. Price 0 = free from the start; from boss = a boss gives it. | empty |
| Bosses (empty = the theme's) | A list: Name, Zone, Power needed, Reward, Tool it unlocks (a tool's name) per row. A fight is won when your stat x tool reaches the boss's power. The reward is paid every win; the tool only the first time. | empty |
| Every player has their own nodes (no stealing) | On / off. Off: nodes are shared, everyone who hit one gets its reward when it breaks. | On |
| Reach (studs) | Number (6 to 60) | 16 |
| Seconds before a broken node is back (0 = the theme's) | Number (0 to 3,600) | 0 |
| Bag capacity to start (0 = the theme's; no bag when the theme has none) | Number (0 to 1,000,000,000,000,000) | 0 |
| Sell from anywhere (no sell pad needed) | On / off | Off |
| Seconds a boss fight takes | Number (0 to 30) | 3 |
| Extra stat per friend in the server (0.05 = +5 %, the owner's walls simulator) | Number (-1 to 1). -1 = the theme's (walls: 0.05, the others: none). | -1 |
| Money scale (x every coin the action pays, the tools' prices, the bosses' rewards) | Number (0.0001 to 1,000,000,000). The Game Maker sets it so the theme's first zone gate comes at the owner's Mining RNG pace on this map (cloud/server/game/progression.py). 1 = the theme's own numbers. | 1 |
| Zone by zone (x a zone's rewards per zone past the first) | Number (0.001 to 1,000). Zone z's fish / boss rewards x this ^ (z - 1), on top of the theme's own rows: the Game Maker tames fishing and lifting to the map's gates (progression.py). 1 = the theme's own growth. | 1 |
| No nodes on the map: put a few next to the spawn | On / off | On |
| Auto game pass (auto mine / train) | A Roblox pass id. Empty = a pass in GameData.Passes named Auto Mine / Auto Train / Auto Farm... | not set |
| x2 stat game pass | A Roblox pass id. Empty = a pass named x2 <stat> (x2 Power, Double Strength...). | not set |
| x2 reward game pass | A Roblox pass id. Empty = a pass named x2 <currency> (x2 Coins, Double Wins...). | not set |
| Sell Anywhere game pass | A Roblox pass id. Empty = a pass named Sell Anywhere / Remote Sell. | not set |
Slot Grid#
Owned slots that grow in stages (a nest's floors, a hive's rings, a barn's rows): unlock each slot, place units, Equip Best.
- Stages add slots on any curve (1, 3, 6, 10, 15, 21, 28 by default); each slot is unlocked on its own at a rising price
- Press a slot: unlock it, put your best spare unit in, or level the unit up; F takes it out
- Every slot shows its unit (name, tier colour, mutation, level, stat); the frame takes the tier's colour
- Equip Best fills every slot with the best units; new units move into a free slot by themselves
- The map's nest (SlotAnchor_<n>, FloorAnchor_<f>) or a tidy stepped mound that grows with each stage
Needs: Data Saving, Unit Roster & Traits. Settings in GameData: GameData.Features.slot_grid.
| Setting | What it is | Starts as |
|---|---|---|
| Currency slots and stages cost | One of your currencys | your first currency |
| The whole grid is called | Text (up to 30 characters) | "Nest" |
| One slot is called | Text (up to 30 characters) | "Slot" |
| One stage is called | Text (up to 30 characters) | "Floor" |
| Stages (slots so far, price) | A list: Slots with this stage, Price per row | 7 rows |
| The second slot's price | Number (0 to 1,000,000,000,000,000,019,884,624,838,656) | 50 |
| Each next slot costs x | Number (1 to 50) | 3.1 |
| Map marker: the grid's model in each plot | Text (up to 30 characters) | "Nest" |
| Map marker: each slot (+ its number) | Text (up to 30 characters) | "SlotAnchor_" |
| Map marker: each stage's parts (+ its number) | Text (up to 30 characters) | "FloorAnchor_" |
| Sell the unlock-a-slot product | On / off | On |
| Unlock-a-slot product (its name in GameData.Products) | Text (up to 60 characters) | "Unlock Slot" |
Spawner#
Things keep appearing at map markers every few seconds, up to a cap, and can vanish after a while.
- Each kind of thing its own tag, place, timing and cap
- An optional lifetime: things vanish on their own after a while
- The game's own model by name, else a tidy stand-in (or a character)
- Spawned things can be used, collected or destroyed by the other systems
- Other systems hear every appearance and removal
Settings in GameData: GameData.Features.spawner.
| Setting | What it is | Starts as |
|---|---|---|
| What appears | A list: Tag of the things, Where (a map marker or tag; empty = by the spawn), Every (seconds), At most at once, Vanishes after (seconds, 0 = never), Model (search words), A character instead of a block per row | empty |
Sports Match#
A real football match: a server-owned ball, pass, shoot and tackle, goals on the score bug, a match clock and results.
- Pass, charged power shots and tackles on keys, gamepad and the design's touch buttons
- Goals, kick-offs, the match clock, the score bug and kit bonuses (pace, shooting, passing, stamina) all run on the server
- End-of-match results with goals, assists, shots and pass accuracy, plus coin rewards
- Bots fill both teams (a keeper too), so one player gets a full match; players who join take their places
- Tag parts "Goal", "Ball" and "TeamSpawn" (BloxMaps stadiums already have them), or press Play and use the placeholder pitch
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.sports_match.
| Setting | What it is | Starts as |
|---|---|---|
| Match length (seconds, 0 = the design's match timer) | Whole number (0 to 3,600). 0 uses the seconds on the design's Match timer (or 300 if it has none). | 0 |
| First to this many goals wins (0 = play the whole clock) | Whole number (0 to 50). 0 also reads the design's score bug ("First to 5"). | 0 |
| Team 1 name (empty = the design's score bug) | Text (up to 16 characters) | empty |
| Team 2 name (empty = the design's score bug) | Text (up to 16 characters) | empty |
| Players needed to start a match | Whole number (1 to 50). In Studio a match always starts with 1 player, so you can test alone. With bots on, one player starts a match after a few seconds. | 2 |
| Players a side (bots fill the empty spots) | Whole number (1 to 6). Bots top each team up to this many. A player who joins takes a bot's place. | 3 |
| Fill empty spots with bots | On / off. A player alone (in Studio or on a fresh server) still gets a real match: bot team-mates, bot opponents and a bot keeper. Bots never get rewards. | On |
| Bot skill (0.5 = easy, 1.5 = hard) | Number (0.5 to 1.5). How fast bots run, how far out they shoot and how well they aim. A sprinting player is always faster. | 1 |
| Who starts matches | One of: This Extra, unless a Rounds Extra is on, Always this Extra (a new match after each results screen), A Rounds Extra (its round_started / round_ended events) | This Extra, unless a Rounds Extra is on |
| Ball size (studs, for the placeholder ball) | Number (1 to 8) | 2.5 |
| A goal's Team attribute is | One of: The team that defends that goal (their net), The team that scores in it | The team that defends that goal (their net) |
| Kick-off countdown (seconds) | Whole number (0 to 15) | 3 |
| Goal celebration (seconds) | Whole number (1 to 15) | 4 |
| Results screen time (seconds) | Whole number (3 to 60) | 10 |
| Pass speed (studs/s) | Number (10 to 200) | 60 |
| Weakest shot (studs/s) | Number (10 to 200) | 55 |
| Full-power shot (studs/s) | Number (20 to 300) | 125 |
| Seconds to charge a full-power shot | Number (0.2 to 5) | 1.2 |
| Lift of a full-power shot (0 = along the ground) | Number (0 to 1) | 0.4 |
| Ball pick-up range (studs) | Number (1 to 12) | 4 |
| Tackle range (studs) | Number (2 to 20) | 8 |
| Seconds between tackles | Number (0.5 to 10) | 2 |
| Tackle success chance (%) | Whole number (1 to 100) | 85 |
| Tackled players are slowed for (seconds) | Number (0 to 5) | 1 |
| Walk speed | Number (4 to 60) | 16 |
| Sprint speed | Number (4 to 80) | 24 |
| Seconds of sprint on a full stamina bar | Number (1 to 60) | 5 |
| Seconds to refill stamina | Number (1 to 60) | 8 |
| Reward currency | One of your currencys | your first currency |
| Reward for a win | Whole number (0 to 1,000,000,000) | 100 |
| Reward for a draw | Whole number (0 to 1,000,000,000) | 50 |
| Reward for a loss | Whole number (0 to 1,000,000,000) | 25 |
| Reward per goal | Whole number (0 to 1,000,000,000) | 20 |
| Colour players in their team's colour | On / off | On |
| Show Goals and Wins on the player list | On / off | On |
| Kit (the design's kit screen) | A list: Item name (as in the design), Slot, Pace %, Shooting %, Passing %, Stamina %, Free for everyone, Shirt template id (Kit slot, optional), Pants template id (Kit slot, optional) per row. Stats are percent bonuses: pace = run speed, shooting = shot power, passing = pass speed, stamina = sprint time. Items that aren't free must be owned (from packs, the shop or the inventory). | 9 rows |
| Shoot key (hold to charge) | Text (up to 20 characters) | "F" |
| Pass key | Text (up to 20 characters) | "E" |
| Tackle key | Text (up to 20 characters) | "Q" |
| Sprint key (hold) | Text (up to 20 characters) | "LeftShift" |
| Open the design's Results screen after a match | On / off | On |
Squad Status#
The design's team widget shows your real teammates: their names, live health and whether they're alive, downed, escaped or out, with hold-to-revive.
- Your team (or everyone, in co-op games) fills the design's TeamStatus portraits
- Live health bars, and Alive / Downed / Dead / Escaped / Caught states
- Downed players can be revived by a teammate holding E (or tapping and holding on a phone)
- Round and horror Extras report downed and escaped players; scripts can too
Has a part on the player's device. Settings in GameData: GameData.Features.squad_status.
| Setting | What it is | Starts as |
|---|---|---|
| Who shows up | One of: My team (everyone when there are no teams), Only my team, Everyone in the server | My team (everyone when there are no teams) |
| Show myself too (first) | On / off | On |
| Show a health bar on each teammate | On / off | On |
| Teammates can revive a downed player (hold E) | On / off | On |
| Seconds to hold for a revive | Number (0.5 to 20) | 3 |
| Health after a revive (% of max) | Whole number (1 to 100) | 30 |
| How close the reviver must be (studs) | Number (3 to 30) | 10 |
Status Effects#
Burning, bleeding, poison, chill, stun, regeneration, haste: one system keeps every status effect. Shrines by the spawn and parts of the map give them.
- Effects are rows of data: health per second, walk speed, a stun, damage dealt and taken
- One timer and one strength per effect: getting it again refreshes it, it never stacks
- Shrines by the spawn: step on the healing spring or the swift shrine, and its sign says what it gives
- Parts of the map give effects to whoever touches or stands in them: lava burns, a spring heals, a pad hastes
- Every other system gives or removes an effect with one call
- The strongest harmful effect shows over the player's head with its seconds left
Needs: Data Saving. Settings in GameData: GameData.Features.status_effects.
| Setting | What it is | Starts as |
|---|---|---|
| Effects | A list: Id (letters, digits, _), Shown as, Colour (#RRGGBB), Lasts (seconds), Health lost per second (negative heals), Walk speed (added to 1), Can't walk, Damage dealt (added to 1, for the game's combat), Damage taken (added to 1, for the game's combat), While it lasts no harmful effect can be given, Harmful (a cleanse removes it; shown over the head) per row. health: lost per second (negative heals). speed / damage dealt / damage taken: added to 1 (speed -0.3 = 30% slower). Empty = the built-in twelve. | 12 rows |
| Shrines by the spawn | A list: Effect (an id from the list above), Name on its sign, Seconds the effect lasts after stepping off per row. A pad a player steps on to get an effect; its sign says what the effect does. No rows = no shrines. | 2 rows |
| Shrines and parts of the map give effects (tag BloxStatusZone, attribute Effect) | On / off | On |
| Longest an effect can last (seconds) | Number (1 to 3,600) | 120 |
Storm Weather#
A storm you can hear and feel (snow, rain or ash): gusts that hide the distance but never what is next to you, and shelter that feels like relief.
- Snow, rain or ash and wind all run long, with gusts whose timing comes from the run's seed (a different storm each run)
- A gust only thins what is far away: nothing within the near limit (40 studs) is ever hidden
- In snow: breath in the cold and frost creeping in from the screen's edges; warm light and quiet the moment you step inside
- Sound by place: hard ground in the open, soft ground under trees, creaking wood in cabins, water in a ravine
- Music that stays back while you explore, builds when predators commit, and recedes after an escape or in shelter
Has a part on the player's device. Settings in GameData: GameData.Features.storm_weather.
| Setting | What it is | Starts as |
|---|---|---|
| What falls | One of: Snow, Rain, Ash, Nothing (wind and fog only). The particles' look only: gusts, sounds and music are the same. Breath and frost show in snow. | Snow |
| Shortest calm between gusts (s) | Number (5 to 600) | 35 |
| Longest calm between gusts (s) | Number (5 to 900) | 75 |
| A gust lasts at least (s) | Number (1 to 30) | 3 |
| A gust lasts at most (s) | Number (1 to 60) | 6 |
| No gust this long after the reveal area is first entered (s) | Number (0 to 120). A big view gets a quiet moment: gusts and far sounds wait. | 20 |
| The reveal area (its DescentArea index; 0 = none) | Whole number (0 to 50) | 0 |
| Never hide anything closer than (studs) | Number (20 to 200). Fog and blowing snow start beyond this, so an attack next to you can always be read. | 40 |
| Air thickness in a full gust (0-1) | Number (0.1 to 0.6). The map's own air is kept between gusts; a gust thickens it to this (the far view goes, the near stays). | 0.46 |
| Without an Atmosphere: far view in calm air (studs) | Number (100 to 10,000) | 900 |
| Without an Atmosphere: far view in a gust (studs) | Number (60 to 5,000) | 160 |
| Snowflakes per second (best graphics) | Number (0 to 600) | 120 |
| Breath puffs outdoors | On / off | On |
| Frost at the screen's edge outdoors | On / off | On |
| Frost grows over (s outdoors) | Number (5 to 600) | 90 |
| Warm light and quiet inside a shelter | On / off | On |
| Wind volume | Number (0 to 3) | 0.5 |
| Music volume | Number (0 to 3) | 0.35 |
| Music stays up this long after the last attack (s) | Number (2 to 60) | 12 |
| Music stays uneasy this long after a predator is seen (s) | Number (2 to 90) | 15 |
| Music stays down this long after an escape (s) | Number (1 to 60) | 8 |
| A far sound at most every (s) | Number (20 to 600). Distant sounds are rare on purpose, and never play while predators are near: a sound you can place should mean something. | 90 |
| Wind loop | Text (up to 80 characters) | "rbxasset://sounds/action_falling.ogg" |
| Gust | Text (up to 80 characters) | "rbxassetid://12222200" |
| Water under the ice (loop) | Text (up to 80 characters) | "rbxasset://sounds/action_swim.mp3" |
| Footstep in snow | Text (up to 80 characters) | "rbxassetid://123482534263519" |
| Wood creak | Text (up to 80 characters) | "rbxassetid://157167203" |
| Music loop | Text (up to 80 characters) | "rbxassetid://1840271919" |
| Heartbeat under the music | Text (up to 80 characters) | "rbxasset://sounds/action_jump_land.mp3" |
| Far sound | Text (up to 80 characters) | "rbxassetid://6329686363" |
Story Run#
One run from start to escape: a short intro, the hunt, then real results, rewards and the way back to your lobby.
- Every run has a beginning, a middle and an end: intro, hunt, escape or caught
- A short story: the intro's title and line while the camera shows the way, an ending line at the exit
- Results with real numbers: time, keys found, lives lost, and the rewards paid once
- Works with a party from your lobby place (TeleportData) or on its own in one place
- Sends players back to the lobby, or starts a fresh run in the same server
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.story_run.
| Setting | What it is | Starts as |
|---|---|---|
| Intro before the hunt starts (s) | Number (0 to 120). Players look around safely; the monsters wake when it runs out. | 10 |
| Intro caption | Text (up to 30 characters) | "THE LIGHTS GO OUT IN" |
| Intro title (the place's name) | Text (up to 28 characters). Shown over the story line as the intro starts. Empty = no title. | empty |
| Intro story line | Text (up to 140 characters). One or two short sentences: what happened here and what to do. Empty = "Find the keys and escape." | empty |
| Show the way during the intro | On / off. The camera glides to the first locked door (or the exit) and back while the story line shows. | On |
| Ending line at the exit | Text (up to 120 characters). Shown as a player escapes, while the camera rises, before their results. Empty = no ending line. | empty |
| Time limit (s, 0 = none) | Number (0 to 7,200). When it runs out, everyone still inside counts as caught. | 0 |
| Players needed to start | Whole number (1 to 50) | 1 |
| Wait for the rest of a party (s) | Number (0 to 120). A party teleported from the lobby arrives a few seconds apart. | 20 |
| Rewards are paid in | One of your currencys | your first currency |
| Reward for escaping | Whole number (0 to 1,000,000,000) | 100 |
| Reward per key found | Whole number (0 to 1,000,000,000) | 10 |
| Reward per objective item found | Whole number (0 to 1,000,000,000) | 5 |
| Lobby place (0 = start a new run here) | A Roblox place id. The place of the same experience that players queue in. 0 = this place is the whole game: a new run starts after the results. | not set |
| Next run (or back to the lobby) after (s) | Number (5 to 300) | 20 |
| Open the Results screen at the end | On / off | On |
| Runs start from the lobby's gates | On / off. With Lobby & Queue and gates on the map (parts tagged QueuePad): a run starts when a gate's group arrives (the owner's horror lobby: elevators of 3, a 21 s countdown); everyone else waits in the lobby, and the run's players come back to it at the end. | Off |
Story Runs#
Chapters of objectives for a party: find the key, collect the fuses, survive, escape. Checkpoints, lives, a Robux revive, rewards, back to the lobby.
- Objectives in order, shown on the HUD: reach / use a goal, collect N things, survive N seconds
- Team checkpoints: a fallen player comes back at the last one while they have lives
- A Robux revive when a player is out of lives; the run fails only when everyone is out
- Rewards per chapter, chapters remembered, and the party returns to the lobby
- Starts from the Lobby & Queue (or by itself in a one-place game / Studio)
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.story_mode.
| Setting | What it is | Starts as |
|---|---|---|
| Chapters | A list: Name, Objectives, in order (split with |), Coins for finishing, XP for finishing per row | 2 rows |
| Start | One of: When the Lobby & Queue group arrives (or runs here), As soon as players are here (one-place story / Studio) | When the Lobby & Queue group arrives (or runs here) |
| Lives per player | Whole number (1 to 99) | 3 |
| Robux revive (+1 life) developer product | A Roblox product id | not set |
| Currency rewards pay | One of your currencys | your first currency |
| Seconds on the ending before going back | Whole number (2 to 120) | 8 |
Survival Gear#
Using what you carry: a flashlight everyone always has, bandages, flares, a hatchet and a six-round revolver, all checked by the server.
- A dependable flashlight for everyone: no battery, no inventory slot
- Bandage: 2.5 seconds to use, interrupted by a hit, used up only when it finishes
- Flare: burns about 15 seconds, held or dropped, and keeps predators back
- Hatchet: a windup, a hit, a recovery; revolver: six rounds, loaded one at a time, a loud report
- Friendly fire is off; a held weapon is a defensive action while a predator has you
Needs: Shared Supplies. Has a part on the player's device. Settings in GameData: GameData.Features.survival_gear.
| Setting | What it is | Starts as |
|---|---|---|
| Flashlight: how far the beam reaches (studs) | Number (10 to 120) | 60 |
| Flashlight: beam width (degrees) | Number (10 to 120) | 55 |
| Flashlight: brightness | Number (0.2 to 10) | 2.2 |
| Flashlight: on when a run starts | On / off | Off |
| Bandage: seconds to use | Number (0.2 to 15). A hit, a grab or going down stops it; the bandage is only used up when it finishes. | 2.5 |
| Bandage: health restored | Number (1 to 500) | 30 |
| Flare: seconds it burns | Number (1 to 120) | 15 |
| Flare: how far it keeps predators back (studs) | Number (2 to 60) | 12 |
| Flare: this close to a captor frees the captive (studs) | Number (1 to 40). The Predator Pack does the freeing; these two numbers are what it reads. | 8 |
| Flare: ...held there for (seconds) | Number (0 to 10) | 1 |
| Hatchet: damage | Number (1 to 500) | 30 |
| Hatchet: reach (studs) | Number (2 to 20) | 6 |
| Hatchet: seconds between swings | Number (0.2 to 5) | 0.9 |
| Hatchet: seconds from the swing's start to its hit | Number (0 to 2) | 0.35 |
| Revolver: damage | Number (1 to 500) | 50 |
| Revolver: rounds in the cylinder | Whole number (1 to 12) | 6 |
| Revolver: seconds between shots | Number (0.1 to 5) | 0.6 |
| Revolver: seconds to load one round | Number (0.1 to 5) | 0.7 |
| Revolver: how far a shot reaches (studs) | Number (20 to 2,000) | 300 |
| Revolver: how far predators hear a shot (studs) | Number (0 to 2,000) | 260 |
Survival Needs#
Hunger and thirst that drain, food and water that fix them, a day/night cycle and storage chests that keep your stuff.
- Hunger and thirst meters on the design's HUD drain over time; starving hurts
- Eat and Drink use food from the backpack, bushes and wells in the world (tagged Food / Water)
- A day/night cycle drives the design's timer, the day counter and the sky
- Storage chests (tagged StorageChest) keep items safe: per player or shared, saved, no duplicates
- Bandages and herbs heal through the design's Heal button
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.survival_needs.
| Setting | What it is | Starts as |
|---|---|---|
| Full to empty hunger (seconds, 0 = off) | Number (0 to 36,000) | 600 |
| Full to empty thirst (seconds, 0 = off) | Number (0 to 36,000) | 420 |
| Sprinting drains this many times faster | Number (1 to 5) | 1.5 |
| Damage per second when a meter is empty | Number (0 to 100) | 2 |
| Meters after a respawn (%) | Number (1 to 100) | 75 |
| Food and drink | A list: Item name, Fills, Amount (% or health) per row. Items the design's GameData lists with food words (meat, fish, bread...) or drink words (water, juice...) work too. | 7 rows |
| Food pickups grow back after (s) | Number (0 to 3,600) | 45 |
| Day length (s) | Number (30 to 7,200) | 300 |
| Night length (s) | Number (30 to 7,200) | 180 |
| Move the sun and moon (Lighting.ClockTime) | On / off | On |
| Objective text at night | Text (up to 60 characters) | "Survive until dawn" |
| Storage chests are | One of: Private: each player has their own contents, Shared: everyone uses the same contents | Private: each player has their own contents |
| Different items a chest holds | Whole number (1 to 100) | 24 |
| Make a berry bush, a well and a chest when the map has none | On / off | On |
Survivor Vitals#
A survivor's body for a co-op run: health, bleeding, sprint and stamina, downed and revived, carried by a friend.
- Health, one bleeding effect, and walk / sprint / crouch with stamina the server owns
- At zero health you're downed: crawl while a friend holds Revive, or use your one self-revive
- A friend can carry you, load you into the vehicle, and put you down again safely
- Every state (normal, grabbed, downed, carried, seated, dead...) has its own rules and cleanup
- A small HUD: health and stamina bottom left, each friend's condition at a glance
Has a part on the player's device. Settings in GameData: GameData.Features.survivor_vitals.
| Setting | What it is | Starts as |
|---|---|---|
| Health | Number (1 to 10,000). What everyone starts a run with. | 100 |
| Bleeding: health lost per second | Number (0 to 100). There is only ever ONE bleeding effect per player. | 1 |
| Bleeding lasts (s) | Number (0 to 120). A new hit starts the timer again. It never stacks. | 10 |
| Reduced blood for everyone | On / off. No blood particles or marks. A hit still shows through a small camera kick, a sound and the health bar. Each player can also switch it on for themselves. | Off |
| Downed: seconds to be revived | Number (1 to 600). When it runs out the character is dead for this run. It waits while they sit in the vehicle. | 45 |
| Downed: crawl speed | Number (0 to 16). Studs per second. | 3 |
| Revive: hold for (s) | Number (0.5 to 30). A friend holds the Revive prompt this long. No item needed. | 5 |
| Health after a revive | Number (1 to 10,000) | 30 |
| Revive and Carry: how close (studs) | Number (3 to 40). Walk further away while holding and the revive is interrupted. | 8 |
| Self-revives per run | Whole number (0 to 5). An emergency revive you do yourself while downed. 0 = none. | 1 |
| Self-revive: hold for (s) | Number (0.5 to 60) | 8 |
| Safe from damage after a revive (s) | Number (0 to 30) | 3 |
| Lair wake: safe seconds | Number (0 to 60). Nothing can hurt or grab you while you leave the lair. | 10 |
| Lair wake: most health you keep | Number (1 to 10,000). Being carried off never gives health back: it only cuts it down to this. | 35 |
| Walk speed | Number (1 to 100). Studs per second. Also the speed while carrying a friend. | 13 |
| Sprint speed | Number (1 to 100) | 20 |
| Crouch speed | Number (0 to 100). Crouching is quieter (the predators read it). It never makes you invisible. | 8 |
| Stamina | Number (1 to 100,000) | 100 |
| Stamina used per second of sprinting | Number (0 to 10,000). 100 stamina / 20 per second = 5 seconds of sprinting. | 20 |
| Stamina back per second | Number (0 to 10,000) | 25 |
| Rest before stamina comes back (s) | Number (0 to 30) | 1.25 |
Switches#
Levers, dials, pressure plates and button sequences that open gates when the puzzle is right.
- Levers, dials and mirrors with 2 to 8 positions, turned with a key press or a click
- Pressure plates held down by a player or a push block
- Buttons pressed in the right order (a wrong press starts it over)
- A solved puzzle opens its gates; an untouched one can reset itself
- Other systems hear every switch and every solved puzzle
Settings in GameData: GameData.Features.switches.
| Setting | What it is | Starts as |
|---|---|---|
| Puzzles | A list: Puzzle id, How it is solved, Tag of the switches, Positions per switch, Target (comma list), Tag of the gates, How a switch is used, Resets when untouched (seconds, 0 = never), Stays solved per row | 1 row |
| Tag of the push blocks | Text (up to 40 characters). Parts with this tag hold a pressure plate down, like a player does. | "PushBlock" |
| Currency of the reward | One of your currencys | not set |
| Reward per solved puzzle (0 = none) | Whole number (0 to 1,000,000,000) | 0 |
| Switches and a gate by the spawn when the map has none | On / off | On |
Team Select#
The design's team screen puts players on real Roblox Teams, kept fair, with VIP-only teams and team spawns.
- Join Blue / Join Red / Auto-Assign buttons really assign Roblox Teams (the player list shows them)
- Auto-balance: nobody can stack a team; auto-assign picks the smallest
- Optional game-pass teams (a VIP squad), with the purchase prompt built in
- Each team spawns at its own BloxMaps team spawn; other Extras (sports, rounds, kill feed) follow the teams
Has a part on the player's device. Settings in GameData: GameData.Features.teams.
| Setting | What it is | Starts as |
|---|---|---|
| Teams (empty = from your place, your design or BloxMaps) | A list: Team name, Colour (#RRGGBB), Game pass needed (empty = anyone), Most players (0 = no limit) per row. Empty: the Teams already in your place, else the design's "Join ..." buttons, else the BloxMaps map's team spawns, else Red and Blue. | empty |
| New players | One of: Pick on the team screen (auto-assigned without one), Auto-assign when they join, Stay neutral until they pick | Pick on the team screen (auto-assigned without one) |
| Seconds to pick before being auto-assigned | Whole number (0 to 600). 0 = wait forever. | 25 |
| Most extra players a team may have | Whole number (0 to 50). 1 = a team can have at most one player more than the smallest team (after the switch). | 1 |
| Seconds between team switches | Whole number (0 to 3,600) | 10 |
| No switching during a round (Rounds extra) | On / off | On |
| Respawn at the team's spawn after joining | On / off | On |
| Put players back on their last team when they rejoin | On / off | Off |
| Colour the BloxMaps team spawns for these teams | On / off. Spawn markers with Team = 1 belong to the first team, 2 to the second... BloxMaps' placeholder teams are replaced by yours while the game runs. | On |
Teleports & Zones#
The design's worlds screen and teleport buttons really move players, with zones locked behind coins or a level.
- World cards and teleport buttons go to BloxMaps zones, teleport markers or parts tagged TeleportPoint
- Lock zones behind a price or a level: the server checks it, takes the coins and saves the unlock
- Simulator gates get an Unlock prompt and open for their owners; walk-in portals just work
- Other places too: paste a place id and the card teleports there with TeleportService
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.teleports. Setup guide.
| Setting | What it is | Starts as |
|---|---|---|
| Destinations (optional: the design and the map are used by themselves) | A list: Name (a world card, teleport button or marker name), Where (a TeleportPoint / marker name or a zone number; empty = same as the name), Another place's id (empty = this place), Price currency, Price to unlock (0 = free), Level needed (0 = none) per row. Leave empty to start: world cards find the BloxMaps zone (or TeleportPoint part) with the same name, or zone 1, 2, 3 in order. Add a row to set a price, a level or another place's id. | empty |
| BloxMaps zone prices are in | One of your currencys. Zone and gate markers carry their cost. Used when the gate doesn't name a currency of your design. | your first currency |
| Read prices from the design's locked world cards | On / off. A card saying "5,000 Coins" or "Level 10" costs that, unless a row above or a zone marker says otherwise. | On |
| Walk-in portals | On / off. BloxMaps Teleport / WorldPortal markers and parts tagged TeleportPad (attribute To = a destination) teleport whoever steps in. | On |
| Zone gates: an Unlock prompt, open for owners | On / off. BloxMaps simulator gates. The barrier disappears (only for players who unlocked the zone). | On |
| Send players out of zones they haven't unlocked | On / off. The server checks every second, so walking through a gate with a cheat doesn't help. | On |
| Seconds between teleports | Number (0 to 60) | 2 |
Throwables#
A throwing tool: snowballs, balls or balloons fly on an arc, hit players or tagged things, and refill at piles.
- Click to throw where you aim; the throw arcs down with gravity
- Limited ammo that refills while you stand at a pile
- Hits hurt other players (never teammates or someone who just spawned) or set off tagged things
- An optional reward for every hit
- The server checks every throw: cooldown, ammo, aim
Has a part on the player's device. Settings in GameData: GameData.Features.throwables.
| Setting | What it is | Starts as |
|---|---|---|
| The thrown thing (tool name) | Text (up to 40 characters). ReplicatedStorage > BloxItemModels > (this name) when it's there, else a plain ball. | "Snowball" |
| Damage of a hit | Number (0 to 1,000) | 10 |
| Throw speed (studs per second) | Number (10 to 400) | 80 |
| Gravity on the throw | Number (0 to 400) | 60 |
| Seconds between throws | Number (0.1 to 10) | 0.6 |
| Ammo you can carry | Whole number (1 to 999) | 10 |
| Map tag of the refill piles | Text (up to 30 characters). Stand next to a part with this tag to refill; none on the map = a pile by the spawn. | "AmmoPile" |
| Seconds per ammo at a pile (0 = all at once) | Number (0 to 30) | 1 |
| Currency of the hit reward | One of your currencys | your first currency |
| Reward per hit (0 = none) | Number (0 to 1,000,000,000) | 0 |
| Teammates can hurt each other | On / off | Off |
| The verb's name (for game rules) | Text (up to 20 characters) | "throw" |
Timed Market#
Sell what you gathered at a live price that changes every few seconds for the whole server: wait for green.
- One server-wide price multiplier, re-rolled every 10 s between a min and a max
- A price board with a red -> green bar, a marker and the countdown; the HUD shows the total sale multiplier
- Selling pays the price x every cash boost (passes, the cash ladder, the index bonus...)
- Auto Sell (sells by itself at a good price) and Fixed Price (always at least x2.5) products
- Sells any system's goods (worker_route's food by default)
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.timed_market.
| Setting | What it is | Starts as |
|---|---|---|
| Currency selling pays | One of your currencys | your first currency |
| The sell point is called | Text (up to 30 characters) | "Market" |
| The price board is called | Text (up to 30 characters) | "Price" |
| A new price every (seconds) | Number (2 to 600) | 10 |
| Lowest price x | Number (0.01 to 100) | 0.5 |
| Highest price x | Number (0.01 to 100) | 2 |
| Fixed Price product sells at least at x | Number (1 to 100) | 2.5 |
| Auto Sell sells when the price is at least x | Number (0 to 100) | 1 |
| What it sells: the system holding the goods (its id) | Text (up to 30 characters) | "worker_route" |
| Map marker: the sell point in each plot | Text (up to 30 characters) | "SellStall" |
| Map marker: the price board (in the hub) | Text (up to 30 characters) | "PriceBoard" |
| Sell Auto Sell / Fixed Price | On / off | On |
| Auto Sell product (its name in GameData.Products) | Text (up to 60 characters) | "Auto Sell" |
| Fixed Price product | Text (up to 60 characters) | "Fixed Price" |
Timing Window#
Hit the notes on the beat: perfect, good or miss, with a combo, a score, a best score and a reward at the song's end.
- A song of notes on up to six lanes, the same chart every time for a fair best score
- Perfect and good windows, with a little room for network lag
- Mashing doesn't work: a press with no note is a miss and breaks the combo
- Pads in the world light up as notes come; keys D F J K or a tap on a pad
- Combo, score and best score as attributes any HUD can show; a reward paid once per song
Has a part on the player's device. Settings in GameData: GameData.Features.timing_window.
| Setting | What it is | Starts as |
|---|---|---|
| Beats per minute | Number (40 to 240) | 100 |
| Lanes (keys D F J K) | Whole number (1 to 6) | 4 |
| Song length (seconds) | Number (10 to 600) | 60 |
| Perfect window (seconds either side) | Number (0.02 to 0.5) | 0.08 |
| Good window (seconds either side) | Number (0.05 to 1) | 0.18 |
| Allowed network lag (added to both windows) | Number (0 to 0.5) | 0.12 |
| Points for a perfect | Whole number (0 to 1,000,000) | 100 |
| Points for a good | Whole number (0 to 1,000,000) | 50 |
| Currency of the song reward | One of your currencys | your first currency |
| Reward per 1000 points (paid once at the song's end) | Number (0 to 1,000,000,000) | 5 |
| Tag of the lane pads (none on the map = pads by the spawn) | Text (up to 40 characters) | "NotePad" |
| Seconds before the first beat | Number (0 to 10) | 2 |
| Chart pattern (the same number = the same notes) | Whole number (1 to 1,000,000) | 1 |
Tower Defense Waves#
A full tower defense loop: waves of enemies down your path, towers you place, upgrade and sell, a base to protect and a results screen.
- Waves you configure (enemy types, counts, HP, speed, rewards) walking a path of Parts tagged TDPath, or your BloxMaps waypoints
- Place towers on TDSpot parts or an automatic grid; upgrade, sell and pick targeting (First, Last, Strongest...)
- Cash per kill and per wave, base health on the design's health bar, Skip Wave votes, a boss bar for bosses
- Victory or game over opens the Results screen; highest wave, wins and towers placed are saved for leaderboards
- Placeholders for the path, the base, the spots, enemies and towers, so it plays the moment you press Play
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.tower_defense.
| Setting | What it is | Starts as |
|---|---|---|
| Waves to win | Whole number (1 to 200) | 20 |
| Players needed to start | Whole number (1 to 30) | 1 |
| Lobby time before a match (seconds) | Whole number (3 to 300) | 10 |
| Time to build before wave 1 (seconds) | Whole number (3 to 300) | 25 |
| Break between waves (seconds) | Whole number (0 to 120) | 12 |
| Timed waves: the next wave comes this long after the last one started (0 = when it's cleared) | Whole number (0 to 600). The top tower defense games run ~60 s waves: the next one marches in even while the last is still on the road. | 0 |
| Skip Wave opens this long into a wave (0 = only near the end of it) | Whole number (0 to 300) | 0 |
| Start each match at the battlefield (players are moved beside the road) | On / off. Players spawn in the lobby; when a match starts they're moved next to the first stretch of the road where the enemies arrive. A lobby portal (a Part named like "portal" in the map's Lobby) takes them there too. | Off |
| Results screen time (seconds) | Whole number (3 to 60) | 12 |
| Base health | Whole number (1 to 1,000,000) | 100 |
| Story acts (1 = off): every victory unlocks the next, tougher act | Whole number (1 to 50). A match plays the act its players have reached (the lowest, so nobody is crushed). Past the last act it keeps getting tougher (nightmare). | 1 |
| Each act: enemies get this much more health (%) | Whole number (0 to 500) | 40 |
| Each act: rewards (coins and summon currency) grow this much (%) | Whole number (0 to 500) | 25 |
| Infinite mode after the last act (endless waves until the base falls) | On / off | Off |
| Match cash at the start | Whole number (0 to 1,000,000,000) | 600 |
| Match cash currency id (empty = automatic) | Text (up to 40 characters). A design currency used ONLY in matches (it is reset every match), like "cash"; the design's currency bar shows it. Empty: a currency named Cash if the design has one, else a HUD Counter labelled cash / money shows the match cash (no separate money display is drawn). | empty |
| Cash for every player when a wave is cleared | Whole number (0 to 1,000,000,000) | 100 |
| Extra wave cash per wave number | Whole number (0 to 1,000,000) | 10 |
| Kill cash grows this much every wave (%) | Whole number (0 to 100) | 0 |
| Selling gives back (% of what was spent) | Whole number (0 to 100) | 60 |
| Reward currency (kept after the match) | One of your currencys | your first currency |
| Reward per wave survived | Whole number (0 to 1,000,000,000) | 25 |
| Extra reward for a victory | Whole number (0 to 1,000,000,000) | 500 |
| Summon currency won in matches (empty = none) | One of your currencys. The currency summons cost (gems): playing pays it too, so the summon banner never needs Robux. | not set |
| Summon currency per wave survived | Whole number (0 to 1,000,000) | 0 |
| Summon currency for a victory | Whole number (0 to 1,000,000) | 0 |
| Summon currency for a boss kill (each player) | Whole number (0 to 1,000,000) | 0 |
| Towers are units players own (summoned, equipped) | On / off. On: each player places only the units they own and have equipped (the hotbar shows them); summons and the shop give more. Off: everyone places every tower. | Off |
| Units equipped at once | Whole number (1 to 9) | 5 |
| Units every new player gets (comma separated) | Text (up to 200 characters) | empty |
| Traits: a unit's first copy rolls one (Swift, Keen, Brutal... Celestial), every duplicate rolls again | On / off. Duplicates from the summon banner are worth having: the better trait stays (a higher tier always wins). | On |
| Most towers per player | Whole number (1 to 200) | 20 |
| Smallest gap between towers (studs) | Number (1 to 40) | 4 |
| Automatic grid: cell size (studs) | Number (2 to 40). Only when the map has no TDSpot parts or BloxMaps tower zones. | 6 |
| Path width (studs; towers can't stand on it) | Number (2 to 60) | 10 |
| Tower zones farther than this from the road are left out (studs, 0 = keep all) | Number (0 to 500). A zone no starting unit can reach the road from is a trap for new players: give it the longest starter range. | 0 |
| Upgrade: extra damage per level (%) | Whole number (0 to 500) | 40 |
| Upgrade: extra range per level (%) | Whole number (0 to 100) | 8 |
| Upgrade: each level costs this many times the last | Number (1 to 5) | 1.5 |
| New towers target | One of: First (closest to the base), Last, Strongest, Weakest, Closest | First (closest to the base) |
| Towers | A list: Name, Cost (match cash), Damage per hit, Range (studs), Hits per second, Splash radius (0 = one enemy), Slows enemies by (%), Cash every wave (farms), First upgrade cost, Highest level, Placeholder colour (#RRGGBB), Rarity (units), Most of this one per player (0 = no limit), Support: towers in its range deal more damage (%), Can hit flying enemies per row. Towers named like the design's hotbar slots use these numbers. Other hotbar towers get numbers from their name (farm, freeze, sniper, flame...). | 7 rows |
| Enemy types | A list: Name, Health, Speed (studs/s), Cash per kill, Damage to the base, Placeholder size (studs), Placeholder colour (#RRGGBB), Armor: damage blocked (%), Flies (only towers that hit flying enemies reach it), Heals enemies near it (health per second), A boss (the boss bar shows it; later waves add it every N waves) per row | 5 rows |
| Waves (one row per group of enemies) | A list: Wave, Enemy (name from Enemy types), How many, Seconds between them, Start after (seconds into the wave) per row. Rows with the same wave number make up that wave. Waves after the last one listed repeat the list, tougher each time (see below). | 17 rows |
| Every wave: enemies get this much more health than the wave before (%) | Number (0 to 100). 0 = the listed waves keep the enemies' health as set (only the waves past the list grow, below). | 0 |
| Later waves: extra enemy health per wave (%) | Whole number (0 to 200) | 15 |
| Later waves: extra enemies per wave (%) | Whole number (0 to 200) | 8 |
| Later waves: a boss every N waves (0 = never) | Whole number (0 to 100) | 10 |
| Skip Wave: % of players who must vote | Whole number (1 to 100) | 50 |
| Skip Wave: allowed when this % of the wave is left | Whole number (0 to 100) | 30 |
| Skip Wave: cash for each voter | Whole number (0 to 1,000,000,000) | 50 |
| Build a placeholder path, base and spots when the map has none | On / off | On |
| Let the Rounds system start matches (when it's on) | On / off | On |
Tycoon Plots#
A real tycoon: claim a plot, buy droppers from your Build window, watch cash flow down the conveyor. Saved and rebuilt on every visit.
- Players claim a plot (one each). It's released when they leave and rebuilt from their save when they come back
- Every machine bought in the design's Build window appears on the plot, in order: droppers, upgraders, conveyors, buildings
- Drops ride the conveyor into the collector and pay the owner, multiplied by upgrades, rebirths and boosts
- Use your own models (ServerStorage > BloxGame > Tycoon) or the built-in placeholders; works on BloxMap tycoon maps
- Shows the next goal on the HUD, counts machines for leaderboards and pays offline earnings at your tycoon's rate
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.tycoon_plot.
| Setting | What it is | Starts as |
|---|---|---|
| Currency the tycoon earns | One of your currencys. Drops, buildings and offline earnings pay this currency. | your first currency |
| Build window (screen id) | Text (up to 60 characters). The screen whose shop items are your machines, in the order they're built. Empty = find it by itself. | "build" |
| Machines (empty = the Build window's items) | A list: Name, Build window item, Kind, Price (0 = the design's price), Value (0 = worked out from the price), Model name (empty = same as Name) per row. Leave empty to use the Build window's items in order. Add rows to set a machine's kind, numbers or model yourself. | empty |
| Machines must be built in order | On / off. true = only the next machine can be bought (the classic tycoon). false = any machine, any time. | On |
| The first money-making machine is free | On / off. New players get it (and anything before it) when they claim, so nobody is ever stuck without income. | On |
| Every object on the plot has its own buy button | On / off. Plots with a Buildables folder (or objects tagged TycoonBuildable) are built button by button: walls, floors, droppers, decor, in dependency order (DependsOn attribute). | On |
| A plot built as one model (a generated map's) is cut into buttons | On / off. No Buildables on the plot: its build model (PlotBuild<n>) becomes foundation, wall rings and roof pieces, bought bottom up, front first; each pays a little income. | On |
| Most buttons a cut-up plot gets | Whole number (3 to 120) | 24 |
| Button prices start at | Number (1 to 1,000,000,000,000). Buttons without their own Price attribute are priced on a curve from this to the last price (the first button is free). | 25 |
| The last button costs | Number (2 to 1,000,000,000,000,000) | 1,000,000 |
| Seconds a machine takes to pay for itself | Number (5 to 3,600). Used when a machine's Value is 0. Smaller = a faster game. | 60 |
| A dropper drops every (seconds) | Number (0.5 to 30) | 2 |
| Upgraders multiply a drop's value by | Number (1 to 100). Used when an upgrader's Value is 0. | 1.5 |
| Each conveyor makes every drop worth this many times more | Number (1 to 100). Used when a conveyor's Value is 0. Conveyors also make the belt faster. | 1.25 |
| Belt speed (studs per second) | Number (1 to 60) | 8 |
| Drops | One of: Real drops ride the belt into the collector (classic), No drops: droppers pay straight away (lightest for big servers) | Real drops ride the belt into the collector (classic) |
| Most drops on one plot at once | Whole number (5 to 200). More drops than this pay straight away instead, so phones stay smooth. | 25 |
| A drop disappears after (seconds) | Number (5 to 120) | 20 |
| How players get a plot | One of: Step on a plot's claim pad, Given one as soon as they join | Step on a plot's claim pad |
| Give a free plot to players who haven't claimed after (seconds) | Whole number (0 to 600). 0 = never. Only with the claim pads. | 20 |
| Players spawn at their own plot | On / off | On |
| Plots to make when the map has none | Whole number (1 to 12). Tag your own Parts or Models "TycoonPlot" and these aren't made. | 4 |
| Size of those plots (studs) | Whole number (40 to 300) | 80 |
| 2 player plots: a friend can team up on a plot | On / off. On a "2 player" BloxMap tycoon map (Duo plots) a second player steps on an owned plot's pad to join: their money builds the owner's tycoon and they earn what it earns. | On |
| A beam shows the way to the next button | On / off. A glowing path and a bobbing arrow lead each player to their next button (or to the till when its cash pays for it, or to a free tycoon to claim). Players can also switch it off on the Settings screen (Guide Path). | On |
| A buy pad on the plot for the next machine | On / off. The classic tycoon button: step on it to buy. The Build window works as well. | On |
| Where the tycoon's cash goes | One of: Into the plot's till when the game sells an Auto Collect pass, else straight to , Into the plot's till: step on its pad to collect (BloxMap tycoon maps), Straight to the wallet every second. The till is the cash safe by a BloxMap plot's door. An Auto Collect pass (its name says auto + collect) skips the walk. | Into the plot's till when the game sells an Auto Collect pass, else straight to |
| Sell the design's machines on the plot | On / off. Off for a builder tycoon: the plot is what Base Builder's pieces make and its money is what they earn (no machine boxes). | On |
| Rebirths reset the plot | On / off. Needs the Rebirths extra. The free first machine comes back straight away. | On |
| Each "Dropper Speed" upgrade level: faster drops (%) | Number (0 to 100). Upgrades in your design whose name says speed / drop rate. | 5 |
| Each "Value" upgrade level: drops worth more (%) | Number (0 to 100). Upgrades in your design whose name says value / income / price. | 5 |
| Offline earnings pay the tycoon's income | On / off. Offline earnings (the Offline Earnings extra, or the design's own screen) pay your tycoon's real income. | On |
| HUD widget that shows the next goal | Text (up to 60 characters). A widget id or type (Objective). Empty = don't show it. | "Objective" |
| HUD widget that counts machines built | Text (up to 60 characters). auto = the first Counter whose label says machines / built / buildings. Empty = none. | "auto" |
| Show "Build your tycoon" in the Quest Tracker | On / off. Needs the Quest Tracker HUD extra. | On |
Unit Roster & Traits#
A roster of units with tiers, levels, mutations and timed speed boosts: the creatures a colony, a farm or a factory game collects.
- Units with a tier (colour), one stat, a level (stat x1.1 a level, rising cost) and a mutation (a multiplier)
- Mutation potions and timed speed boosts per unit with an auto-feed toggle, sold in an item shop that restocks
- An index of units and mutations: a whole tier found pays cash and a lasting cash bonus
- Units, boosts and potions given by any reward (daily rewards, codes) land in the roster by name
- Other blocks use it: slots, rolls, displays, workers, the converter
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.unit_traits.
| Setting | What it is | Starts as |
|---|---|---|
| Currency units, levels and the item shop cost | One of your currencys | your first currency |
| One unit is called | Text (up to 30 characters) | "Unit" |
| Many units are called | Text (up to 30 characters) | "Units" |
| The speed boost item | Text (up to 30 characters) | "Jelly" |
| Getting rid of a unit | Text (up to 30 characters) | "Release" |
| The unit's stat (what it brings per trip) | Text (up to 12 characters) | "EFF" |
| Tiers (commonest first) | A list: Name, Colour (#RRGGBB), Base stat, Cash price, First level-up costs per row | 11 rows |
| Units (empty = 3 per tier with neutral names) | A list: Name, Tier (1 = the first row), Stat (0 = the tier's), Price (0 = the tier's), Model (ReplicatedStorage.BloxItemModels name; empty = the name) per row | 33 rows |
| Mutations (stat multipliers) | A list: Name, Stat x, Colour, Potion's cash price (0 = Robux only) per row | 6 rows |
| Clear-mutation potion's cash price | Number (0 to 1,000,000,000,000,000,019,884,624,838,656) | 100,000 |
| Speed boosts (fed to one unit) | A list: Grade (shown before the boost's word), Speed x, Lasts (seconds), Cash price (0 = Robux only), Item shop stock per restock per row | 4 rows |
| Item shop: each potion's stock per restock | Whole number (0 to 99) | 2 |
| Item shop restocks every (seconds) | Whole number (30 to 86,400) | 300 |
| A unit's max level | Whole number (1 to 1,000) | 50 |
| Stat x per level | Number (1 to 3) | 1.1 |
| Each level-up costs x the last | Number (1 to 10) | 1.6 |
| Units a player can keep | Whole number (5 to 200) | 60 |
| Index: a whole tier found pays its unit price x | Number (0 to 1,000,000) | 20 |
| Index: + cash bonus per whole tier (percent; +1% per mutation found) | Number (0 to 100) | 5 |
| Sell boosts, potions and units for Robux | On / off | On |
| Boost 1 product (its name in GameData.Products) | Text (up to 60 characters) | "Boost 1" |
| Boost 2 product (its name in GameData.Products) | Text (up to 60 characters) | "Boost 2" |
| Boost 3 product (its name in GameData.Products) | Text (up to 60 characters) | "Boost 3" |
| Boost 4 product (its name in GameData.Products) | Text (up to 60 characters) | "Boost 4" |
| Potion 1 product (its name in GameData.Products) | Text (up to 60 characters) | "Potion 1" |
| Potion 2 product (its name in GameData.Products) | Text (up to 60 characters) | "Potion 2" |
| Potion 3 product (its name in GameData.Products) | Text (up to 60 characters) | "Potion 3" |
| Potion 4 product (its name in GameData.Products) | Text (up to 60 characters) | "Potion 4" |
| Potion 5 product (its name in GameData.Products) | Text (up to 60 characters) | "Potion 5" |
| Potion 6 product (its name in GameData.Products) | Text (up to 60 characters) | "Potion 6" |
| Clear Potion product (its name in GameData.Products) | Text (up to 60 characters) | "Clear Potion" |
| Restock Shop product (its name in GameData.Products) | Text (up to 60 characters) | "Restock Shop" |
| Get Common Unit product (its name in GameData.Products) | Text (up to 60 characters) | "Get Common Unit" |
| Get Uncommon Unit product (its name in GameData.Products) | Text (up to 60 characters) | "Get Uncommon Unit" |
| Get Rare Unit product (its name in GameData.Products) | Text (up to 60 characters) | "Get Rare Unit" |
| Get Epic Unit product (its name in GameData.Products) | Text (up to 60 characters) | "Get Epic Unit" |
| Get Legendary Unit product (its name in GameData.Products) | Text (up to 60 characters) | "Get Legendary Unit" |
| Get Mythic Unit product (its name in GameData.Products) | Text (up to 60 characters) | "Get Mythic Unit" |
| Get Exotic Unit product (its name in GameData.Products) | Text (up to 60 characters) | "Get Exotic Unit" |
| Get Secret Unit product (its name in GameData.Products) | Text (up to 60 characters) | "Get Secret Unit" |
| Get Divine Unit product (its name in GameData.Products) | Text (up to 60 characters) | "Get Divine Unit" |
| Get OP Unit product (its name in GameData.Products) | Text (up to 60 characters) | "Get OP Unit" |
| Get Celestial Unit product (its name in GameData.Products) | Text (up to 60 characters) | "Get Celestial Unit" |
Vehicles#
Players ride their own kart, boat, bike or mount from a pad: drive with the normal keys, boost on a cooldown.
- Press the pad's prompt to get your own vehicle and sit in it
- Drive with Roblox's own seat keys: no extra buttons to learn
- Speed, acceleration, turning and a boost on a cooldown, checked by the server
- The game's own model by name, else a tidy stand-in shaped by its kind
- An empty vehicle tidies itself away after a while
Settings in GameData: GameData.Features.vehicles.
| Setting | What it is | Starts as |
|---|---|---|
| Vehicles | A list: Vehicle id, Name players see, Model (name in the game's models; empty = a stand-in), Kind, Top speed (studs per second), Acceleration, Turning (degrees per second), Boost (times the top speed), Boost lasts (seconds), Boost again after (seconds), Cost per ride (0 = free) per row | 1 row |
| Tag of the vehicle pads | Text (up to 40 characters). A pad's attribute BloxVehicle picks the vehicle (else the first one). | "VehiclePad" |
| An empty vehicle goes after (seconds) | Number (3 to 600) | 20 |
| A pad by the spawn when the map has none | On / off | On |
Walk to Earn#
A Steps (Miles, Distance...) currency that walking really earns: the server measures how far each player moves.
- Every few studs walked or run pays one of the currency (1 step per 8 studs by default)
- Measured on the server, along the ground: teleports, seats and impossible speeds pay nothing
- Pays through the game's normal currency path, so pets, boosts and VIP multiply it
Needs: Data Saving. Settings in GameData: GameData.Features.walk_earn.
| Setting | What it is | Starts as |
|---|---|---|
| Currency walking earns | One of your currencys. Empty = the design's currency named like Steps, Miles, Distance or Kilometers (none: nothing is paid). | not set |
| Studs walked for one of the currency | Number (1 to 1,000) | 8 |
| Fastest speed that still pays (studs per second) | Number (5 to 1,000). Faster moves (a flung body, a speed hack) pay only this much; a jump of many studs at once (a teleport) pays nothing. | 60 |
| Moving in the air pays too (jumps, jetpacks) | On / off | On |
Wave Run#
Run out from your base, grab items that are rarer the further you go, carry them home before the wave sweeps the map, bank them for income, then upgrade speed and carry capacity and rebirth.
- A wave cycle for the whole server: a calm spell, a countdown warning, then a wave that sweeps the map from the far end
- Caught outside the safe zone: you're washed home and drop everything you carry
- Items spawn along the run-out strip with a timer each (MM:SS over them, red under 10 s); the further out, the rarer
- Carry up to your capacity, bank them at your own base: every banked item pays every second
- Speed and Carry upgrades on price curves (cash or Robux), rebirth for an income boost (it costs Speed)
- Sells Mega Wave (a giant wave now, then luckier items), +Speed and +1 Carry products
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.wave_run.
| Setting | What it is | Starts as |
|---|---|---|
| Currency banked items pay | One of your currencys. Banked items pay it every second; Speed and Carry upgrades cost it. | your first currency |
| Items (empty = the built-in creatures) | A list: Name, Rarity, Pays a second when banked (0 = by rarity) per row. What spawns on the field. Rarer rows only spawn further from the bases. | empty |
| Calm between two waves (seconds) | Whole number (10 to 600) | 45 |
| Warning before a wave (seconds) | Whole number (3 to 60) | 10 |
| How fast the wave crosses the field (studs a second) | Number (10 to 400) | 55 |
| A Mega Wave is this much faster | Number (1 to 5) | 1.6 |
| An empty spawner refills after (seconds) | Whole number (1 to 120) | 6 |
| An item stays this long before it expires (seconds) | Whole number (10 to 600) | 60 |
| How fast rarer items get likelier with distance | Number (0 to 10). 0 = the same odds everywhere; 2 = at the far end a Legendary is ~80 times likelier than by the bases. | 2 |
| Spawners to make when the map has none | Whole number (4 to 120) | 36 |
| Items a new player can carry | Whole number (1 to 20) | 1 |
| Most items anyone can carry (all Carry upgrades) | Whole number (1 to 50) | 10 |
| Walk speed lost per carried item (0.05 = 5%) | Number (0 to 0.2) | 0.04 |
| Items a base holds (a full base sells the cheapest) | Whole number (4 to 60) | 16 |
| An item sold from a full base pays this many seconds of its income | Whole number (0 to 3,600) | 60 |
| Walk speed of a new player | Number (8 to 60) | 16 |
| Walk speed each Speed level adds | Number (0.1 to 10) | 1 |
| Most Speed levels | Whole number (1 to 500) | 60 |
| The first Speed level costs | Number (0 to 1,000,000,000,000,000) | 25 |
| Each next Speed level costs x | Number (1 to 10) | 1.22 |
| The first Carry level costs | Number (0 to 1,000,000,000,000,000) | 400 |
| Each next Carry level costs x | Number (1 to 20) | 3 |
| Players can rebirth (it costs Speed levels) | On / off | On |
| Speed levels the first rebirth costs | Whole number (1 to 500) | 20 |
| Each next rebirth costs this many more | Whole number (0 to 500) | 10 |
| Income added per rebirth (0.5 = x1.5, x2, ...) | Number (0.05 to 10) | 0.5 |
| Sell the Robux products below | On / off | On |
| Mega Wave product (its name in GameData.Products) | Text (up to 60 characters) | "Mega Wave" |
| Speed product (its name in GameData.Products) | Text (up to 60 characters) | "+10 Speed" |
| Speed levels the Speed product gives | Whole number (1 to 500) | 10 |
| Carry product (its name in GameData.Products) | Text (up to 60 characters) | "+1 Carry" |
| Bases to make when the map has none | Whole number (1 to 12). A BloxMap wave map (Plot markers + a WaveField marker) makes its own. | 6 |
| Length of the field made when the map has none (studs) | Whole number (100 to 3,000) | 420 |
| Show the next step on the HUD's Objective | On / off | On |
Weapon System#
Ready-made guns, grenades and knives that work with the design's crosshair, ammo counter and hit markers, with every hit checked by the server.
- Guns, shotguns, snipers, grenades and knives, with ammo, reload, aim zoom and crouch
- The design's Hotbar weapons become real Tools, and its crosshair shows hit and kill markers
- Every hit is checked by the server (fire rate, walls, distance, lag), so cheaters can't one-shot anyone
- Headshots, damage falloff and the standard 'creator' tag, so kill feeds and leaderboards count kills
- Change any number here or in GameData.Items; drop your own gun models in ServerStorage > BloxGame > Tools
Has a part on the player's device. Settings in GameData: GameData.Features.weapon_system.
| Setting | What it is | Starts as |
|---|---|---|
| Weapons | A list: Weapon name (the Tool's name), Type, Damage per hit (per pellet for shotguns), Headshot damage (x) (knives: backstab), Shots (or throws, stabs) per second, Hold to keep firing, Magazine size (grenades: how many you carry), Spare ammo, Reload time (seconds), Range in studs (grenades: throw distance), Full damage up to (studs), Damage left at max range (%), Spread (degrees), Bullets per shot (shotguns: 6 to 10), Aim zoom (field of view; 70 = no zoom), Blast radius (grenades, studs), Fuse (grenades, seconds), Fire sound (empty = the built-in one), Everyone gets it when they spawn per row. One row per weapon. A Tool with the same name in ServerStorage > BloxGame > Tools uses these numbers. | 6 rows |
| Weapons in the design's Hotbar become real weapons | On / off. They're the starter loadout (with the Hotbar's ammo numbers), and the Hotbar's number keys pick them. | On |
| Give the starter weapons when a player spawns | One of: Yes, unless a Loadout Extra hands out weapons (a player it has nothing for still, Always, Never (my own scripts or StarterPack give them) | Yes, unless a Loadout Extra hands out weapons (a player it has nothing for still |
| Gun game: the weapon ladder (names, commas; empty = off) | Text (up to 400 characters). Everyone carries one weapon: the ladder's step they're on. Each kill moves the killer to the next one; the first kill with the last one wins (Rounds' first-to number is the ladder's length). | empty |
| Make simple placeholder guns when a weapon has no Tool yet | On / off. Your own Tool named like the weapon in ServerStorage > BloxGame > Tools always wins. | On |
| Teammates can hurt each other | On / off | Off |
| Players can hurt other players | On / off. Off for a co-op game (zombie waves): weapons only hurt NPCs, never another player, teams or not. | On |
| Weapons hurt NPCs (zombies, bosses: any model with a Humanoid) | On / off | On |
| Extra room for lag when checking a hit (studs) | Number (0 to 20). Bigger = kinder to laggy players, smaller = stricter on cheaters. | 4 |
| Most lag a hit check makes up for (milliseconds) | Whole number (0 to 1,000) | 350 |
| Currency for each kill (0 = none) | Whole number (0 to 1,000,000) | 0 |
| Kill reward currency | One of your currencys | your first currency |
| Spare ammo never runs out | On / off | Off |
| Walking speed while crouched (%) | Whole number (10 to 100) | 55 |
| Walking speed while aiming (%) | Whole number (10 to 100) | 80 |
| Aim assist on phones and controllers (pixels; 0 = off) | Whole number (0 to 200). Shots bend toward an enemy this close to the crosshair. Players can switch it off with the design's aimAssist setting. | 60 |
| Show bullet tracers | On / off | On |
| First person while holding a gun | On / off | Off |
| Hide Roblox's own backpack bar when the design has a Hotbar | On / off | On |
Worker Route#
Your placed units walk (or fly) to the source, gather, and carry it home to the drop point; production = their stats x speed x boosts.
- Production per second = sum of each placed unit's stat x speed x boosts x the gain board / trip seconds
- The drop point shows what's waiting and the rate; the sell point (timed_market) takes it
- The walkers are drawn on each device by code: bob, wing flap or leg wiggle, the source shrinks at each bite
- Offline earnings while away (rate, max hours); food packs (Robux) give minutes of production
Needs: Data Saving, Unit Roster & Traits, Slot Grid. Has a part on the player's device. Settings in GameData: GameData.Features.worker_route.
| Setting | What it is | Starts as |
|---|---|---|
| What units carry | Text (up to 30 characters) | "Food" |
| Where they gather it | Text (up to 30 characters) | "Food Source" |
| Seconds a trip takes at speed x1 | Number (1 to 120) | 5 |
| Upgrade board that multiplies what they bring (its id) | Text (up to 20 characters) | "foodGain" |
| Upgrade board that speeds them up (its id) | Text (up to 20 characters) | "speed" |
| Map marker: the source in each plot | Text (up to 30 characters) | "FoodSource" |
| Map marker: the drop point in each plot | Text (up to 30 characters) | "CollectPad" |
| How the walkers move | One of: Fly (bob, wings flap), Walk (legs wiggle), Hop | Fly (bob, wings flap) |
| Walkers drawn per device (all plots) | Whole number (0 to 300) | 60 |
| Offline: share of production earned away (1 = all) | Number (0 to 5) | 1 |
| Offline: at most this many hours | Number (0 to 72) | 8 |
| Sell the packs | On / off | On |
| 20-minute pack product (its name in GameData.Products) | Text (up to 60 characters) | "Food Pack M" |
| 80-minute pack product | Text (up to 60 characters) | "Food Pack L" |
Monetization Extras#
Battle Pass#
A season battle pass with a free and a premium reward track that players level up by playing.
- 30+ tiers of free and premium rewards: currency, items and 2x boosts
- Season XP from quests, minutes played, wins and a daily login bonus
- Premium unlocks with a game pass or a Robux product from GameData, plus an optional Buy Tier product
- Seasons end on a UTC date and the next one starts by itself; unclaimed rewards are delivered
- Fills your design's pass screen, with Claim All, tier-up toasts and a live countdown
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.season_pass.
| Setting | What it is | Starts as |
|---|---|---|
| Season name ({n} = season number) | Text (up to 40 characters) | "Season {n}" |
| Current season ends (UTC date, YYYY-MM-DD) | Text (up to 10 characters). The season ends at 00:00 UTC on this day. Leave empty for automatic seasons: the first starts the first time your game runs. | empty |
| Days in each next season | Whole number (3 to 180) | 30 |
| Number of the current season | Whole number (1 to 999) | 1 |
| Tiers | Whole number (5 to 100) | 30 |
| Season XP for each tier | Whole number (10 to 1,000,000) | 300 |
| Extra XP each tier needs (0 = every tier costs the same) | Whole number (0 to 100,000) | 0 |
| XP for each quest claimed | Whole number (0 to 100,000) | 50 |
| XP for each minute played | Whole number (0 to 10,000) | 2 |
| Most XP from playtime per day | Whole number (0 to 1,000,000) | 240 |
| XP for the first visit of the day | Whole number (0 to 100,000) | 100 |
| XP for each win | Whole number (0 to 100,000). A win is the event "win", an obby finish or a finished challenge. Your scripts can also call BattlePass.addXp. | 25 |
| Premium game pass (its name in GameData.Passes) | Text (up to 60 characters). Empty = your design's own premium pass entry. Owners get premium every season. | empty |
| Premium product, one season (its name in GameData.Products) | Text (up to 60 characters). Optional. A developer product that unlocks premium for the current season only. | empty |
| Buy Tier product (its name in GameData.Products) | Text (up to 60 characters). Optional. Each purchase jumps to the next tier. Not in GameData = no Buy Tier button. | "Battle Pass Tier" |
| Rewards (empty = an automatic track) | A list: Tier, Track, Reward, Currency (currency and boost rewards), Amount (or item count), Item name (item rewards), Boost minutes per row. Each row replaces the automatic reward of one tier on one track. Tiers you don't list keep the automatic reward. | empty |
| Give unclaimed rewards when a season ends | On / off | On |
| Show a toast on every new tier | On / off | On |
Dev Products Helper#
Checks every Robux button in your game: which ids are missing, which system gives what, and test purchases in Studio.
- Lists every Robux-priced thing in your design with its GameData entry and whether its id is pasted
- Asks Roblox if each id is real and if its price matches
- Prints one clear setup checklist to the Output when the game starts
- An admin-only in-game Monetization check panel that test-prompts each product (free in Studio)
Has a part on the player's device. Settings in GameData: GameData.Features.product_helper.
| Setting | What it is | Starts as |
|---|---|---|
| Key that opens the Monetization check panel (admins) | Text (up to 20 characters). A key name like F4, M or RightBracket. Admins can also type /monetization in chat. | "F4" |
| In Studio, whoever is testing may use the panel | On / off | On |
| More people who may use the panel | A list: User id per row. The game's owner (and the Admin Panel's admins, when it's on) may always use it. | empty |
| Ask Roblox whether each id is real and its price matches | On / off | On |
| Print the whole checklist in live servers too | On / off. Off: live servers only print a one-line warning when ids are missing. | Off |
Eggs & Crates#
Eggs and crates that roll on the server, show their odds, guarantee a rare with a pity counter and sell for coins or Robux.
- Your design's crate and egg shop gives real items, rolled fairly on the server
- Every egg shows its odds before anyone pays (Roblox rules for paid random items)
- A pity counter guarantees a Legendary after a run of bad luck
- 2x Luck boosts really do make rare drops likelier
- Sell eggs for coins, for Robux, or on egg stands in your world
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.eggs.
| Setting | What it is | Starts as |
|---|---|---|
| Power the crates / eggs in my design | On / off. The design's Cases sections give real items (with pity, luck and the open limit). Their prices and odds stay the design's. | On |
| Extra eggs (egg stands, Robux eggs, or a design crate to take over) | A list: Egg id (letters, digits, _), Name, Icon, Paid with, Price (0 = not sold for currency), Developer product (Robux, optional), Take over this design crate (its id, optional) per row | 2 rows |
| What the extra eggs drop | A list: Egg id, Item id (goes into the player's items), Name on screen (optional), Rarity, Weight (bigger = more likely), Icon per row | 9 rows |
| Pity: guaranteed drop after this many opens without one (0 = off) | Whole number (0 to 10,000) | 50 |
| Pity guarantees at least | One of: Common, Uncommon, Rare, Epic, Legendary, Mythic, ... | Legendary |
| 2x Luck boosts drops from this rarity up | One of: Common, Uncommon, Rare, Epic, Legendary, Mythic, .... Luck multiplies the weight of these drops (needs Timed Boosts or VIP). | Epic |
| Seconds between opens (per player) | Number (0 to 60). Stops spam-opening and gives the reveal time to play. | 1.5 |
| Longest wait for a reveal to finish (seconds; 0 = off) | Number (0 to 60). One egg or crate at a time: a second open waits until the player's hatch / roll is over (or this many seconds). | 12 |
| How a crate on a stand opens | One of: The design's reveal (egg hatch / crate spinner), The owner's knife crates: a Buy! prompt, YES / CANCEL, his case reel with the re. reel: the owner's MM2 crate stands (his floating crates, his odds board) and his murder FFA case reel. | The design's reveal (egg hatch / crate spinner) |
Game Passes#
Sell VIP, 2x coins and more: perks switch on the moment a pass is bought.
- Connects each game pass in your shop to a perk
- Perks: more currency (2x coins), a free item, a chat tag like [VIP] or extra slots
- Checks ownership with Roblox when players join and right after they buy
- Works without rejoining: the perk turns on the second the purchase goes through
- Your own scripts can read the Pass_<name> attribute for anything else
Needs: Data Saving. Settings in GameData: GameData.Features.passes.
| Setting | What it is | Starts as |
|---|---|---|
| Game passes | A list: Game pass id, Perk, Currency it multiplies, Multiplier, Item it gives, Chat tag, Chat tag colour, Extra slots per row | one row per game pass in the shop of your design |
Gifting#
Players buy Robux gifts for friends in the server, and every gift arrives, even if the friend already left.
- Pick a player in the server or a friend, then everything bought in the shop is theirs
- The friend sees who it's from the moment it arrives
- Left the game already? The gift waits safely and arrives when they next play, in any server
- Gifts can be currency, items or timed boosts
- Every gift is delivered exactly once, even if Roblox retries the purchase
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.gifting. Setup guide.
| Setting | What it is | Starts as |
|---|---|---|
| Gifts for sale | A list: Gift id (letters, digits, _), Name, Developer product (Robux), What the friend gets, Currency, Item id (items) / boost id (boosts), Amount (minutes for boosts), Icon per row | 2 rows |
| Players may also "gift" themselves | On / off | Off |
| Gifts only to players with the same or lower regional prices | On / off. Roblox's advice with regional pricing: nobody buys cheap for a friend where it costs more (GetUsersPriceLevelsAsync). | On |
| Gift anything from the shop: pick a player, then every Robux product bought goes to them | On / off. The Gift picker lists players in the server first, then the player's friends, with a search box. While a gift target is set, every developer product bought (from the systems below) is filed for that player instead, even if they left or play in another server. | On |
| Whose products can be gifted (system ids, comma separated) | Text (up to 100 characters). products = GameData.Products (gem packs, cash packs), boosts = Timed Boosts. Things for yourself (Skip Rebirth, offline claims) are never gifted. | "products, boosts" |
| A picked gift target stays for (minutes) | Whole number (1 to 240) | 30 |
| The design's Gift picker (screen or element id) | Text (up to 60 characters). Its search box is GiftSearch, its rows GiftRow1, GiftRow2..., the Shop's label GiftTarget and its clear button GiftTargetClear. Missing? The built-in picker opens instead. | "GiftPicker" |
| Show a Gift button on screen | On / off | On |
| Or open it from this design element (element id) | Text (up to 100 characters). Clicking any button in your design with this id opens the gift picker. | empty |
Premium Benefits#
Roblox Plus and Premium members earn more and get a daily gift, and everyone else sees why they should join.
- Roblox Plus subscribers and Premium members earn a bonus on your currency
- A free daily gift for members, every UTC day
- A "Get Plus" button opens Roblox's own Plus window: Roblox pays you 250 Robux a month for 3 months per new subscriber
- Joining mid-game turns the perks on at once (confirmed on the server)
- Members spend more time in your game, and their purchases cost them less (Roblox pays the Plus discount)
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.premium.
| Setting | What it is | Starts as |
|---|---|---|
| Currency | One of your currencys | your first currency |
| Premium players earn (x) | Number (1 to 5). 1.2 = 20% more of this currency. | 1.2 |
| Daily gift for Premium players | Whole number (0 to 1,000,000,000) | 100 |
| Design button that opens Roblox Premium | Text (up to 60 characters). An Event action name or element id in your design. | "BuyPremium" |
| Tell non-Premium players about the perks after (minutes) | Number (0 to 120). One toast per visit. 0 = never. | 10 |
| Roblox Plus subscribers get the perks too, and the button sells Plus | On / off. Plus replaced Premium for new members in April 2026. Existing Premium members keep their perks either way. | On |
| Only remind from this visit on | Whole number (1 to 20). 2 = never on a player's first visit (let them play first). | 1 |
Robux Products#
Sell gem packs, coin bundles and more for Robux, delivered safely every time.
- Connects each Robux item in your shop to its developer product
- Gives currency or an item the moment Roblox confirms the purchase
- Saves every purchase before it counts, so nobody pays without getting it
- Never gives twice, even when Roblox retries after a crash or a rejoin
- Thanks the player with a message on their screen
Needs: Data Saving. Settings in GameData: GameData.Features.products.
| Setting | What it is | Starts as |
|---|---|---|
| Robux products | A list: Developer product id, Gives currency, Amount of currency, Gives item (optional), How many items per row. What each Robux item gives. Items without an id show "Not for sale yet!". | one row per Robux item in the shop of your design |
| Thank-you message | Text (up to 80 characters) | "Thanks for your purchase!" |
Rotating Shop#
A daily shop with new items every day, the same in every server, limited stock and a countdown to the next refresh.
- New items every day: players come back to see what's in stock
- Every server shows the same shop, so friends can compare
- Limited stock per player per day makes every item feel rare
- A live countdown to the next refresh
- Optional Robux refresh for players who can't wait
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.rotating_shop.
| Setting | What it is | Starts as |
|---|---|---|
| Items that can show up | A list: Item id (goes into the player's items), Name on screen (optional), Icon, Rarity, Paid with, Price, Stock per player per day, How often it shows up (weight) per row | 8 rows |
| Items in the shop each day | Whole number (1 to 12) | 4 |
| New items at (UTC hour) | Whole number (0 to 23) | 0 |
| Shop seed (change it to reshuffle every future day) | Text (up to 30 characters) | "blox" |
| Developer product for a Robux refresh (optional) | A Roblox product id. Buying it gives that player a fresh set of items for the rest of the day. | not set |
| Most Robux refreshes per player per day | Whole number (1 to 50) | 3 |
| Show a Daily Shop button on screen | On / off | On |
| Or open it from this design element (element id) | Text (up to 100 characters) | empty |
Server Boost#
One player buys it, the whole server earns double for 15 minutes, and everyone sees who paid: the purchase that makes friends.
- A Robux product that boosts earnings for EVERY player in the server, not just the buyer
- Buying again while it runs adds time on top (up to a cap), so several players can keep it going
- Everyone is told who bought it, and a board in the lobby counts it down
- Works with every system that pays through the game's currencies (the boost shows on the HUD's boost chips)
- Bought with Robux, so a rebirth keeps it
Needs: Data Saving. Settings in GameData: GameData.Features.server_boost.
| Setting | What it is | Starts as |
|---|---|---|
| What it boosts | One of your currencys. Switch "Boost every currency" on to boost them all. | your first currency |
| Boost every currency instead | On / off | Off |
| Multiplier for everyone | Number (1.1 to 10) | 2 |
| Minutes per purchase | Whole number (1 to 240) | 15 |
| Most minutes it can be stacked up to | Whole number (1 to 1,440) | 120 |
| Tell everyone who bought it | On / off | On |
| Map marker: the countdown board (a hub marker) | Text (up to 30 characters) | "ServerBoostBoard" |
| Sell the boost | On / off | On |
| Server boost product (its name in GameData.Products) | Text (up to 60 characters) | "Server Boost" |
Smart Offers#
The right offer at the right moment: auto-hatch after the 10th hatch, luck after a dry streak, a skip after 3 fails, capped and honest.
- Offers a product or pass from your GameData when it helps: after the 10th hatch, a real dry streak, 3 fails on a stage, a theft, a broken daily streak
- At most 3 a session, 5 minutes apart, never in the first minutes, never during a round (except a revive)
- Never offers what a player owns, what has no id yet, or random items to players Roblox restricts; random items show their odds
- A small side card with the live price and a clear "Not now" (two "Not now"s rest that offer for 3 days)
- Tips instead of sales after losses: "upgrade your units" opens your Units screen
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.smart_offers.
| Setting | What it is | Starts as |
|---|---|---|
| Rules (when -> what) | A list: Rule id (letters, digits, _), When, Event name (When = event), Which part of the event is the player (1 = first), Only when (field=value, optional), N (times / hatches / deaths / minutes), Dry streak: below this rarity, Offer, Its name in GameData (exact, optional), Or words in its name (| between choices), Title (optional: the item's name), One line on the card, Open this design screen instead of the card (optional), It's a random item or a luck boost (odds shown; never to restricted players), Luck boost: how much it multiplies rare weights, May show during a round (a revive), Off while these systems are on (ids, comma separated), Minutes before it can show again, Times per visit at most per row | 7 rows |
| Offers per visit at most | Whole number (0 to 10) | 3 |
| Seconds between two offers at least | Whole number (30 to 7,200) | 300 |
| No offers in the first ... seconds of a visit | Whole number (0 to 3,600) | 240 |
| "Not now"s before an offer rests | Whole number (1 to 10) | 2 |
| A rested offer comes back after (hours) | Whole number (1 to 720) | 72 |
| The card hides by itself after (seconds) | Whole number (5 to 60) | 15 |
| Show the live Robux price (regional prices, Roblox Plus) | On / off | On |
Spin Wheel#
A prize wheel with a free spin every few hours and Robux spins, rolled fairly on the server with the odds on the wheel.
- A free spin every few hours brings players back
- Out of free spins? Buy another one for Robux, any time
- Prizes can be currency, items or timed boosts, each with its own odds
- The odds are on the wheel, and big wins are announced to the whole server
- Uses your design's spin screen: its wheel, buttons and countdown
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.spin_wheel.
| Setting | What it is | Starts as |
|---|---|---|
| Hours between free spins | Number (0 to 168). 0 = no free spins (Robux spins only). | 12 |
| Developer product for a paid spin (Robux) | A Roblox product id. Make a developer product (e.g. 25 Robux) and paste its id. 0 = free spins only. | not set |
| Prizes (wedges) | A list: Type, Currency, Item id (items) / boost id (boosts), Amount (minutes for boosts), Name on the wheel (optional), Icon, Rarity, Weight (bigger = more likely) per row | 8 rows |
| 2x Luck boosts prizes from this rarity up | One of: Common, Uncommon, Rare, Epic, Legendary, Mythic, ... | Epic |
| Spin section in the design (its id) | Text (up to 100 characters). Empty = the design's first Spin section. Without one, a small SPIN button shows instead. | empty |
| Tell the whole server about Legendary+ wins | On / off | On |
Starter Pack#
A one-time, limited-time bundle for new players that shows itself once a session (never at join, never over another window) and is never sold twice.
- New players get a big bundle offer with a countdown from their first visit
- Once a session it opens your design's Offer screen by itself, a minute into play with no window open, if nothing else opened by itself; otherwise a quiet line (the HUD button stays)
- Bought once, it's gone for good; when the timer ends, it disappears
- Fill it with any currency, items and boosts
- Each purchase is delivered exactly once, even if Roblox retries it
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.starter_pack.
| Setting | What it is | Starts as |
|---|---|---|
| Developer product (Robux) | A Roblox product id. Make a developer product for the pack on the Creator Dashboard and paste its id here. | not set |
| Offer lasts (hours from the first visit) | Whole number (1 to 720) | 24 |
| What's inside | A list: Type, Currency, Item id (items) / boost id (boosts), Amount (minutes for boosts), Name on the offer (optional) per row | 2 rows |
| Offer screen (its id, optional) | Text (up to 100 characters). Empty = your design's first Offer screen. Without one, a toast with a buy button shows instead. | empty |
| Pop up on every visit while it lasts | On / off. Off = it only pops up on the very first visit (it can still be opened from the lobby banner). | On |
| Seconds after joining before it asks to show (a minute of play at least) | Number (0 to 120) | 5 |
Timed Boosts#
2x Coins, 2x Luck and 2x XP boosts that tick down on screen and sell for Robux again and again.
- Players buy 2x Coins, 2x Luck or 2x XP for a few minutes, as often as they like
- Buying again adds more time on top, so boosts stack
- A live countdown on screen shows how long each boost has left
- Other systems (spin wheel, starter pack, gifts, VIP) can hand out boosts too
- Count down only while playing (fair) or in real time: your choice
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.boosts.
| Setting | What it is | Starts as |
|---|---|---|
| Boosts | A list: Boost id (letters, digits, _), Name on screen, What it boosts, Only this currency (its id, optional), Multiplier, Minutes per purchase, Developer product (Robux), Also sold by this design shop item (its id, optional), Icon per row | 3 rows |
| Boost timers count down | One of: Only while the player is in the game, In real time (even while offline). "Only while playing" is fairer: nobody loses a boost by logging off. | Only while the player is in the game |
| Most minutes a boost can stack up to | Whole number (5 to 10,080). Free boosts from other systems stop adding time here. Paid time always counts in full. | 720 |
| XP currency (its id, optional) | Text (up to 50 characters). Empty = a currency named xp / exp / experience, if the design has one. | empty |
| Show a toast when a boost starts or ends | On / off | On |
| Your shop's Boosts tab gives its boosts | On / off. Boosts your design sells for in-game currency ("Super Luck", "2x Hatch Speed") that no row above links become boosts of their own, read from their names. | On |
VIP Pass#
One game pass, a whole VIP package: more coins, a daily VIP bonus, a gold chat tag and a VIP-only area.
- VIPs earn more of every currency, for good
- A daily VIP bonus lands automatically, every day they play
- A gold [VIP] tag in front of their chat messages
- VIP-only doors: VIPs walk through, everyone else gets the VIP offer
- Works the moment the pass is bought, no rejoin needed
Needs: Data Saving. Settings in GameData: GameData.Features.vip.
| Setting | What it is | Starts as |
|---|---|---|
| VIP game pass | A Roblox pass id. Make a game pass on the Creator Dashboard and paste its id here. | not set |
| Currency multiplier for VIPs | Number (1 to 10). 2 = VIPs earn double. It stacks with boosts. | 2 |
| Only this currency (its id; empty = every currency) | Text (up to 50 characters) | empty |
| Daily VIP bonus: currency | One of your currencys | your first currency |
| Daily VIP bonus: amount (0 = none) | Whole number (0 to 1,000,000,000) | 500 |
| Daily VIP bonus: boost id (needs Timed Boosts, optional) | Text (up to 24 characters) | empty |
| Daily VIP bonus: boost minutes | Whole number (1 to 1,440) | 15 |
| New day starts at (UTC hour) | Whole number (0 to 23) | 0 |
| Chat tag (empty = none) | Text (up to 12 characters) | "VIP" |
| Chat tag colour (hex) | Text (up to 7 characters) | "#FFD54A" |
| Tag of VIP-only parts (CollectionService) | Text (up to 40 characters). Tag doors or walls with this: VIPs walk through them, others bump into them and see the VIP offer. | "VIPOnly" |
| Offer VIP when a non-VIP touches a VIP-only part | On / off | On |
Weapon Skins#
A skins catalogue for knives, guns and swords: owned skins (from cases, the shop or rewards) are equipped per weapon, seen by everyone, with kill effects.
- One skin per weapon (Knife, Gun, Sword or any tool name), saved and put back every round
- Skins are a colour + material, or a mesh with its own texture and grip size
- Kill effects: flames, sparkles, ghost, frost, zap or darkness on the defeated player
- Owned = in the player's items (cases from Eggs & Crates, shop buys, rewards) or free starters
- Works with Murder Mystery's knife and gun, Weapon System and Melee Combat tools
Has a part on the player's device. Settings in GameData: GameData.Features.weapon_skins.
| Setting | What it is | Starts as |
|---|---|---|
| Skins | A list: Name, Weapon (tool name, or *), Rarity, Colour (#RRGGBB, empty = keep), Material (SmoothPlastic, Neon, Glass or ForceField; empty = keep), Mesh (asset id, 0 = keep), Texture (asset id, 0 = none), Mesh size (x), Mesh grip offset (x, y, z studs), Kill effect per row. weapon = the Tool's name (Knife, Gun...) or its WeaponKind attribute; * = every weapon. mesh / texture: asset ids you own (or Roblox's); 0 = keep the weapon's own shape. | 32 rows |
| Everyone owns these (names, commas) | Text (up to 300 characters) | "Classic Knife, Classic Gun" |
| Kill effect length (seconds) | Number (0.3 to 6) | 1.6 |
| Skins screen | One of: A SKINS button and a list, The owner's MM2 inventory: the design's Inventory button (and B) opens his grid | A SKINS button and a list |
| Inventory size shown (the owner's MM2: 100) | Whole number (1 to 10,000) | 100 |
Progression Extras#
Achievements#
Long-term milestones with rewards and real Roblox badges, so players always have something to chase.
- Milestones for currency earned, level, rebirths, time played, quests, streaks and purchases
- Each one pays a reward, claimed from the Achievements screen or given at once
- Optional Roblox badge per achievement, awarded safely with retries
- A welcome badge for joining
- Your scripts add custom stats with one line: Achievements.addStat(player, "kills", 1)
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.achievements.
| Setting | What it is | Starts as |
|---|---|---|
| Achievements | A list: Id (keep it the same once live), Title, Goal, Currency (total earned only), Custom stat name, Goal amount, Reward type, Reward currency, Reward amount, Reward item id (item rewards only), Roblox badge (optional) per row. Achievements that need an Extra you haven't switched on (Levels, Rebirths, Quests, Daily Rewards) are hidden. | 12 rows |
| Rewards | One of: Claimed from the Achievements screen, Given the moment it's unlocked. Without an Achievements screen in the design, rewards are always given at once. | Claimed from the Achievements screen |
| Welcome badge for joining (optional) | A Roblox badge id | not set |
| Show a toast when an achievement unlocks | On / off | On |
Collectibles & Journal#
Pages, tapes and notes hidden in your map fill the design's journal and counter; ghost hunts with a real evidence board.
- Parts tagged Collectible (with a Name) become things to find; each player's finds are saved
- The HUD counter (Pages 3/8) and the journal's notes and grid fill in as you find them
- Evidence board: inspect evidence spots, rule ghosts in or out, and the server checks your guess
- Carry things in your left and right hands and deliver them where they belong
- Rewards for every find and for finding everything
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.collectibles.
| Setting | What it is | Starts as |
|---|---|---|
| Who finds what | One of: Every player finds every collectible (saved per player), The server shares them: once found, gone for everyone | Every player finds every collectible (saved per player) |
| Rewards pay | One of your currencys | your first currency |
| Reward for each find | Whole number (0 to 10,000,000) | 5 |
| Reward for finding everything | Whole number (0 to 100,000,000) | 100 |
| Objective text when everything is found | Text (up to 60 characters) | "You found them all!" |
| Placeholder collectibles when the map has none | Whole number (0 to 30) | 6 |
| Evidence board (ghost hunt) | One of: When the design has ghost-type buttons (GuessGhost), On, Off | When the design has ghost-type buttons (GuessGhost) |
| Evidence types (comma separated) | Text (up to 200 characters). Empty = the rows of the design's Evidence board, else EMF Level 5, Spirit Box, Fingerprints, Ghost Orbs, Ghost Writing, Freezing Temps, D.O.T.S. | empty |
| Ghost types | A list: Ghost, Its 3 evidence types (comma separated) per row. Empty = the design's ghost buttons, each given three evidence types. | empty |
| Reward for naming the ghost | Whole number (0 to 10,000,000) | 150 |
| A ghost hunt ends after (s) | Number (30 to 7,200) | 600 |
| Carrying in two hands | One of: When the design has Left Hand / Right Hand buttons, On, Off | When the design has Left Hand / Right Hand buttons |
| Make placeholders when the map has none | On / off | On |
Collection Index#
A collection book that fills itself: every item a player finds is marked, with rewards at 25, 50, 75 and 100%.
- Items are discovered the first time a player owns them, from anywhere in the game
- The design's Index screen shows found items in colour and the completion bar
- Milestone rewards at 25 / 50 / 75 / 100% (or any percent you pick)
- A bonus for every completed set (all the Legendaries, a whole world...)
- Checked and paid by the server, once per player, saved
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.index. Setup guide.
| Setting | What it is | Starts as |
|---|---|---|
| Milestone rewards | A list: At % found, Reward type, Currency, Amount, Item name (item rewards only) per row. The design's milestone chests show these rewards. A percent the design doesn't have is paid automatically. | 4 rows |
| How milestone rewards are collected | One of: Players claim them in the Index screen, Paid automatically when reached. Without an Index screen in the design they're always paid automatically. | Players claim them in the Index screen |
| What a 'set' is | One of: Every item of one rarity, Every item of one kind (pets, tools...), The `set` (or `world`) written on each item in GameData, The `mutation` written on each item (Normal, Golden, Diamond...). Sets are also the Index's categories (its tabs): each one can pay a Cash Boost below. | Every item of one rarity |
| Category rewards: "Collect n/N [category] for a n% Cash Boost!" | A list: Category (a set name, or * for every category), Cash Boost (%), Found needed (% of the category), Also pays (currency), Amount (0 = only the boost) per row. When a player has found `need` % of a category (a set / tab), they claim a permanent Cash Boost (+percent %) and an optional currency reward with the Index footer's Claim button. category = "*" is every category that has no row of its own. The boost counts everywhere cash is earned. | 1 row |
| The Cash Boost multiplies | One of your currencys | your first currency |
| The Index footer's Claim button (design element id) | Text (up to 60 characters). Clicking it claims every category reward that's ready. Its text element IndexFooter ("Collect 3/4 Golden for a 5% Cash Boost!") follows the player's progress. | "IndexClaim" |
| Give a reward for every completed set | On / off | On |
| Set reward currency | One of your currencys | your first currency |
| Set reward amount | Whole number (1 to 1,000,000,000,000) | 500 |
| Item kinds that don't count (comma separated) | Text (up to 100 characters) | "Boost, Currency" |
| Show a toast when something new is found | On / off | On |
Cosmetics In The World#
Trails, auras, titles, outfits and weapon skins players equip really show on their character, for everyone.
- Equip from the design's wardrobe, locker or trails screen and everyone sees it at once
- Trails behind the character, glowing auras, a title over the head, outfits and weapon skins
- Only items the player owns can be equipped: the server checks every time
- Saved: equipped cosmetics come back after a respawn and the next time they play
- Works right away with good-looking placeholders; drop in your own Trail, particles or outfit later
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.cosmetics.
| Setting | What it is | Starts as |
|---|---|---|
| Cosmetics | A list: Item (a GameData.Items name or the design's item), What it is, Colour (#RRGGBB, empty = its rarity colour), Second colour (#RRGGBB), Trail / aura texture (asset id), Title text (empty = the item's name), Outfit shirt (asset id), Outfit pants (asset id), Outfit accessories (asset ids, commas), Skin: only on this Tool (empty = every tool) per row. Optional. Items in your wardrobe / locker / trails screens and GameData.Items skins are cosmetics already; a row sets how one looks. | empty |
| Cosmetics the design shows unlocked and nobody sells are free starters | On / off. Anything with a price, in a crate or locked in the design must be owned (ctx.items). | On |
| Trail length (seconds it lasts) | Number (0.1 to 5) | 0.6 |
| Trail width | Number (0.1 to 5) | 1 |
| Aura particles per second (keep it low for phones) | Whole number (1 to 100) | 12 |
| Aura particle size | Number (0.05 to 5) | 0.5 |
| Titles are seen from (studs) | Whole number (10 to 500) | 60 |
| The title also shows as a chat tag | On / off | On |
| Other players' aura particles kept in Low Detail (%) | Whole number (0 to 100) | 40 |
Crafting#
Real recipes: gathered materials and items go in, tools and gear come out, checked by the server and saved.
- The design's crafting screen crafts for real: inputs are taken, the item goes to the backpack
- Recipes use currencies (Wood, Stone) and items (Rope), with craft times and stations (a Workbench)
- The screen shows each recipe's real cost and what's craftable right now
- Crafts in progress are saved, so leaving mid-craft never loses anything
- Edit recipes in GameData: inputs, output, time, station
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.crafting.
| Setting | What it is | Starts as |
|---|---|---|
| Recipes | A list: Id (keep it the same once live), Makes (item name, or a currency), How many, Needs, Craft time (s, 0 = instant), Station tag (empty = anywhere), Needs this tier of its station (0 = none) per row | 4 rows |
| Recipes for everything on the design's crafting screen | On / off. Items on the crafting screen that no recipe above makes become recipes that cost their shown price. | On |
| Station tiers (each player upgrades a station for themselves) | A list: Station tag, Tier, Costs per row. A recipe with a tier needs it; a station above a recipe's tier crafts it in 0.75 of the time. Upgraded at the station itself. | empty |
| How close to a station (studs) | Number (2 to 100) | 12 |
| Crafts that can wait in line | Whole number (1 to 50) | 5 |
| Most items in one craft | Whole number (1 to 100) | 10 |
Daily Rewards#
A login-streak calendar that pays out every day and makes players come back tomorrow.
- A reward every day that grows with the streak, with a big final day
- Miss a day and the streak starts over (with an optional grace window)
- When today's reward is ready the Daily screen opens by itself once, a minute into play with no window open (else a quiet line)
- Pick each day's reward: any currency amount or an item
- The server checks every claim, so the calendar can't be cheated
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.daily_rewards.
| Setting | What it is | Starts as |
|---|---|---|
| New day starts at (UTC hour) | Whole number (0 to 23). When the next reward unlocks. 0 = midnight UTC. | 0 |
| Grace window after a missed day (hours) | Whole number (0 to 48). 0 = strict. 12 = a player who missed a day keeps the streak if they come back within 12 hours of the next reset. | 0 |
| Rewards by day | A list: Reward type, Currency, Amount, Item id (item rewards only), Label (optional) per row. Day 1 is the first reward. After the last day the calendar starts again (see below). | 7 rows |
| After the last day | One of: Start again at day 1, Keep giving the last day's reward | Start again at day 1 |
| Show a toast when it's ready | On / off | On |
| Open the Daily screen when a reward is ready | On / off. Once per session, a minute into play with no window open, and only if nothing else opened by itself this visit (else a quiet line). Without a Daily screen a reward popup shows instead. | On |
| Sell a Restore Streak (Robux) for a while after a streak ends | On / off. Only for streaks of a few days, only for a limited, real time after it ended, once per break. | Off |
| Restore Streak product (its name in GameData.Products) | Text (up to 60 characters) | "Restore Streak" |
| Or its developer product id | A Roblox product id | not set |
| Hours after the streak ended it can be restored | Whole number (1 to 168) | 48 |
| Only for streaks of at least (days) | Whole number (2 to 365) | 3 |
Inventory & Backpack#
The design's inventory and backpack screens show what each player really owns, with equip, sort, filter and sell.
- Shows every owned item (from eggs, shops, rewards...) in the design's own inventory screens
- Equip and unequip: a Tool goes into the player's backpack, and comes back after every respawn
- Sort by rarity, filter chips by rarity, favourite items so they can't be sold by mistake
- Sell items for currency (or just delete them), checked by the server so nothing sells twice
- Equip slots saved per player, with an optional Robux 'more slots' product
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.inventory.
| Setting | What it is | Starts as |
|---|---|---|
| Items a player can equip at once | Whole number (1 to 50). Skins, trails and auras don't use a slot: equipping one swaps it for the last one. | 3 |
| 'More slots' product (a GameData.Products name or its id) | Text (up to 60 characters). Empty = the first product in GameData.Products with 'slot' in its name (not pet slots), if any. | empty |
| Slots each purchase adds | Whole number (1 to 20) | 1 |
| Most equip slots a player can have | Whole number (1 to 100) | 10 |
| What players can do with items they don't want | One of: Sell them for currency, Delete them (no money back), Nothing (keep everything) | Sell them for currency |
| Sell price (% of the shop price) | Whole number (1 to 100). Items without a shop price sell by rarity: 5 / 15 / 50 / 150 / 500 / 2000 / 5000 (Common to Secret). | 40 |
| Currency for items without a shop price | One of your currencys | your first currency |
| Ask 'are you sure?' before selling this rarity or rarer | One of: Common, Uncommon, Rare, Epic, Legendary, Mythic, ... | Epic |
| Sort the inventory by | One of: Rarity (rarest first), Name (A to Z), How many they have | Rarity (rarest first) |
| Show rarity filter chips over the grid | On / off. Switches the design's plain grid to its Filters look. Showcase and Team grids stay as they are. | On |
| Equipping a Tool puts it in the player's backpack | On / off. Put your Tools in ServerStorage > BloxGame > Tools, named like the item. | On |
| Use a simple placeholder when a Tool model is missing | On / off | On |
| Items bought with in-game currency go into the inventory | On / off. For the design's shop items that are in GameData.Items (not currency packs, crates or upgrades). | On |
Levels & XP#
Players earn XP from everything they do and level up with rewards, shown on the leaderboard and above their heads.
- XP from earning currency, time played, quests and daily rewards
- A smooth XP curve you set with two numbers
- Rewards on every level-up, plus big milestone rewards
- Level in the leaderboard, a tag above each head and the HUD's XP bar
- Other scripts give XP with one line: Levels.addXp(player, 50)
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.levels.
| Setting | What it is | Starts as |
|---|---|---|
| XP to reach level 2 | Whole number (1 to 1,000,000,000) | 100 |
| Each level needs this much more XP (%) | Number (0 to 100). 15 = every level needs 15% more XP than the one before. | 15 |
| Highest level | Whole number (2 to 10,000) | 100 |
| Earning this currency gives XP | One of your currencys | your first currency |
| Currency earned for 1 XP (0 = off) | Number (0 to 1,000,000,000) | 10 |
| XP per minute played (0 = off) | Number (0 to 1,000,000) | 5 |
| XP per quest claimed (0 = off) | Number (0 to 1,000,000). Needs the Quests Extra. | 50 |
| XP per daily reward claimed (0 = off) | Number (0 to 1,000,000). Needs the Daily Rewards Extra. | 25 |
| Level-up reward currency | One of your currencys | your first currency |
| Level-up reward (times the new level; 0 = off) | Whole number (0 to 1,000,000,000). 50 = reaching level 10 pays 500. | 50 |
| Milestone rewards | A list: At level, Reward type, Currency, Amount, Item id (item rewards only) per row | 4 rows |
| Show Level on the player list | On / off | On |
| Show "Lv. 12" above each player's head | On / off | On |
| Show a toast on level-up | On / off | On |
Loadout#
The design's loadout screen picks the primary, secondary, melee and skin a player spawns with.
- Primary, secondary, melee and skin slots (or your own), filled from what each player owns
- The picked Tools are given on every spawn, in slot order (1, 2, 3 on the hotbar)
- Quick-switch: Q swaps back to the last weapon
- The server checks you own it and that it fits the slot
- Saved per player, with placeholder Tools until you add your own models
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.loadout.
| Setting | What it is | Starts as |
|---|---|---|
| Loadout slots | A list: Slot name, Item kinds that fit (comma separated), Name words that belong here (comma separated) per row. An item fits a slot of its kind. The words decide the slot it goes to first; items with a `slot` in GameData only fit that slot. | 4 rows |
| Give the loadout's Tools on every spawn | On / off. Tools come from ServerStorage > BloxGame > Tools, named like the item. | On |
| Fill empty slots with the best item the player owns | On / off | On |
| Q (or the gamepad's Y) swaps back to the last weapon | On / off | On |
| Use a simple placeholder when a Tool model is missing | On / off | On |
Offline Earnings#
Players earn while they're away, up to a cap, and collect it (or 2x it for Robux) in the welcome-back popup.
- Idle income while away: a share of what the player earns per second, up to a few hours
- The design's 'Welcome back!' popup shows the real amount and time on join
- A 'claim 2x' developer product that doubles it (given once per purchase)
- Time is measured with the server's clock only: changing a device's clock does nothing
- Offline upgrades from the Upgrades system make it bigger
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.offline_earnings. Setup guide.
| Setting | What it is | Starts as |
|---|---|---|
| Most hours counted while away | Number (1 to 72) | 8 |
| Minutes away before anything is earned | Whole number (1 to 240) | 5 |
| What players earn per second while away | One of: Their income (Upgrades / BloxGame_IncomePerSecond), else the fixed rate, Only their income per second, Always the fixed rate below | Their income (Upgrades / BloxGame_IncomePerSecond), else the fixed rate |
| Share of their income paid while away (%) | Whole number (1 to 100) | 50 |
| Fixed rate (per minute away) | Number (0 to 1,000,000,000,000). Used when a player has no income yet (and rateSource is auto), and by 'fixed'. The design's popup rate is used instead when it has one. | 10 |
| Paid in | One of your currencys | your first currency |
| 'Claim 2x' product (a GameData.Products name or its id) | Text (up to 60 characters). Empty = the GameData product marked builtIn = "offline", or one with 'offline' and '2x' in its name. | empty |
| 'Claim x3' product (a GameData.Products name or its id) | Text (up to 60 characters). The blue Claim x3 button (Robux): pays 3 times what's waiting. Paste the developer product id into GameData.Products.OfflineClaimX3. Given once per purchase. | "OfflineClaimX3" |
| 'Claim x10' product (a GameData.Products name or its id) | Text (up to 60 characters). The purple Claim x10 button (Robux): pays 10 times what's waiting. Paste the id into GameData.Products.OfflineClaimX10. Given once per purchase. | "OfflineClaimX10" |
| Rebirths, pets and passes also multiply offline earnings | On / off | Off |
| Without a popup in the design, pay it on join with a message | On / off | On |
Pets#
Equipped pets follow the player around and multiply what they earn, with Equip Best and golden crafting.
- Equip up to N pets (more with a pets pass); they float along behind the player
- Every pet boosts earnings by its rarity, or by the value you set in GameData
- Equip Best, and Craft Golden: 5 of a pet become a stronger golden one
- Fills the design's pets screen: the grid, the team slots and the boost stats
- Your own pet models from ServerStorage, or cute placeholders until you add them
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.pets.
| Setting | What it is | Starts as |
|---|---|---|
| Pets a player can equip at once | Whole number (1 to 30) | 3 |
| Game passes that add pet slots | A list: Game pass id, Extra pet slots per row. GameData passes and products with 'pet' in their name and a slots perk (or '+3' in the name) count by themselves. | empty |
| Boost per pet, by rarity | A list: Rarity, Multiplier (x) per row. A pet with `multiplier = 4` in GameData.Items uses that instead. | 7 rows |
| Each pet's own numbers (empty = by rarity) | A list: Pet, Boost (x, multiplies earnings), Power (added to every gain, the mining games' way) per row. The owner's pets carry their own numbers (his bomb sim's boosts, Mining RNG's power): a row here wins over the rarity table. | empty |
| How pets' boosts add up | One of: Added: x1.5 and x2 make x2.5, Multiplied: x1.5 and x2 make x3 | Added: x1.5 and x2 make x2.5 |
| Pets boost this currency | One of your currencys | your first currency |
| Boost every currency instead | On / off | Off |
| Craft Golden: turn identical pets into a golden one | On / off | On |
| Pets needed for a golden one | Whole number (2 to 20) | 5 |
| A golden pet's boost is its normal boost times | Number (1.1 to 20) | 2.5 |
| Pet storage shown in the stats (0 = don't show a limit) | Whole number (0 to 10,000). Display only: pets from eggs are never thrown away. | 0 |
| How far behind the player pets float (studs) | Number (2 to 20) | 5 |
| Use cute placeholder pets when a model is missing | On / off. Put your models in ServerStorage > BloxGame > Pets, named like the pet. | On |
Playtime Rewards#
Free gifts that unlock the longer a player stays: the retention trick behind every top simulator.
- Gift boxes unlock after 5, 10, 15, 30 and 60 minutes of play
- Ready gifts shake in the Rewards screen and a toast tells the player
- Claim one or all at once; the server times every gift
- Pick each gift's reward: any currency amount or an item
- Gifts start over every session, or once a day if you prefer
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.playtime_rewards. Setup guide.
| Setting | What it is | Starts as |
|---|---|---|
| Gifts | A list: Unlocks after (minutes), Reward type, Currency, Amount, Item id (item rewards only), Label (optional) per row. Minutes of play in this session before each gift opens. | 5 rows |
| Gifts start over | One of: Every time the player joins, Once a day (claimed gifts stay claimed until the next day) | Every time the player joins |
| New day starts at (UTC hour) | Whole number (0 to 23). Only used when gifts start over once a day. | 0 |
| Show a toast when a gift is ready | On / off | On |
| Skip All: developer product | A Roblox product id. The Rewards screen's "Skip All!" button opens every gift at once for Robux. Make a developer product and paste its id here (or in GameData.Products.PlaytimeSkipAll). Empty: the button says "Not for sale yet!". | not set |
Prestige#
The endgame over rebirths: every N rebirths, prestige for points, a bigger permanent boost, a tier with a chat tag and a shop of upgrades that never reset.
- Prestige after enough rebirths: rebirths and the rebirth currency reset, the prestige boost grows for good
- Prestige Points buy permanent upgrades: more currency, faster walking, a boost on everything
- Tiers with names and chat tags (Bronze, Silver, Gold, Diamond, Mythic) and a shout-out when you reach one
- Each prestige needs a few more rebirths than the last, so it never runs out
- Every step is saved before anything resets; a double click can't prestige twice
Needs: Data Saving, Rebirths. Has a part on the player's device. Settings in GameData: GameData.Features.prestige.
| Setting | What it is | Starts as |
|---|---|---|
| Rebirths needed for the first prestige | Whole number (1 to 1,000) | 10 |
| Extra rebirths each next prestige needs | Whole number (0 to 1,000) | 5 |
| Prestige Points per prestige | Whole number (1 to 1,000) | 1 |
| +1 bonus point for every ... rebirths past the need (0 = none) | Whole number (0 to 1,000) | 5 |
| Boost per prestige (0.5 = +50%) | Number (0.01 to 100) | 0.5 |
| The boost raises | One of your currencys | your first currency |
| Boost every currency instead | On / off | Off |
| Tiers | A list: Name, From this many prestiges, Colour (#RRGGBB) per row | 5 rows |
| Show the tier as a chat tag | On / off | On |
| Prestige shop (permanent upgrades) | A list: Upgrade id (letters, digits, _), Name, Effect, % per level, Most levels, Points for level 1, Extra points each next level per row | 3 rows |
| Show a PRESTIGE button once it's ready | On / off | On |
| Ask before prestiging | On / off | On |
Quest Tracker HUD#
Makes the quest list on your HUD real: today's quests with live progress bars that tick off as players play.
- Shows the player's real quests from the Quests extra, with bars that fill as they play
- Finished quests jump to the top so players remember to claim them
- Any other system can add its own goals (tycoon progress, season challenges...)
- Optional starter goals of your own ("Collect 100 Coins") when you don't use Quests
- Hides itself when there's nothing to show, instead of fake sample quests
Has a part on the player's device. Settings in GameData: GameData.Features.quest_tracker_hud.
| Setting | What it is | Starts as |
|---|---|---|
| Most quests shown at once | Whole number (0 to 8). 0 = as many rows as the design's quest tracker has. It never shows more rows than the design has room for. | 3 |
| Show weekly quests too | On / off | On |
| Keep claimed quests on the list | On / off | Off |
| Tracker title (empty = the design's) | Text (up to 28 characters) | empty |
| Hide the tracker when there's nothing to show | On / off | On |
| Update the bars at most every (seconds) | Number (0.25 to 10). Smaller = snappier bars. Bigger = fewer messages in full servers. | 1 |
| Starter goals of your own | A list: Text, Stat, Goal, Icon per row. Shown in order, the first unfinished ones first. Progress comes from a stat (a currency id, "clicks", "machines_built", "playtime", a Stat Tracker stat...). | empty |
| Show those goals | One of: Only when there are no quests to show, Always, before the quests | Only when there are no quests to show |
Quests#
Daily and weekly missions that give players a reason to log in and a goal every session.
- Fresh daily and weekly quests, the same set for every player
- Earn, spend, play time, open eggs or cases, press a button, or your own custom goals
- Progress bars fill live; finished quests glow until claimed
- A bonus for finishing every daily quest
- Other scripts can add progress with one line: Quests.progress(player, "custom", 1, "zombies")
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.quests.
| Setting | What it is | Starts as |
|---|---|---|
| Daily quests at a time | Whole number (0 to 6) | 3 |
| Weekly quests at a time | Whole number (0 to 6) | 3 |
| New day starts at (UTC hour) | Whole number (0 to 23). When the daily quests change. Weekly quests change on the chosen day at this hour. | 0 |
| New week starts on | One of: Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, ... | Monday |
| Quest pool | A list: Id (keep it the same once live), Title, Daily or weekly, Goal, Currency (earn / spend), Event name, custom key or case id, Goal amount, What to do (shown under the title; empty = said from the goal), Reward type, Reward currency, Reward amount, Reward item id (item rewards only) per row. The daily and weekly quests are picked from here each day / week, the same for every player. Quests the game can't do (no eggs or cases to open, nothing to buy) are left out. | 11 rows |
| Bonus for finishing every daily quest: currency | One of your currencys | your first currency |
| Bonus amount (0 = no bonus) | Whole number (0 to 1,000,000,000) | 500 |
| Show a toast when a quest is done | On / off | On |
Rebirths#
The simulator staple: trade your currency for a permanent multiplier and climb again, faster.
- Reset a currency for a permanent earnings multiplier
- A cost that climbs with every rebirth (straight or steep curve)
- Optional rebirth tokens: a second currency paid on every rebirth
- Fills the Rebirth screen: count, multiplier before and after, cost and progress
- Rebirths show in the player list and every system can read the multiplier
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.rebirths. Setup guide.
| Setting | What it is | Starts as |
|---|---|---|
| Currency that resets (and pays for it) | One of your currencys | your first currency |
| Cost of the first rebirth | Whole number (1 to 1,000,000,000,000,000) | 10,000 |
| How the cost grows | One of: Straight: first cost x (rebirths + 1), Steep: multiplied by the growth below each time, Climbing: first cost x (rebirths + 1) x (rebirths + 2) after the first | Straight: first cost x (rebirths + 1) |
| Steep curve: cost multiplier per rebirth | Number (1.01 to 10) | 1.5 |
| Multiplier added per rebirth | Number (0.01 to 100). 0.5 = x1.5 after one rebirth, x2 after two, x3 after four. | 0.5 |
| The multiplier boosts | One of your currencys | your first currency |
| Boost every currency instead | On / off | Off |
| Pay rebirth tokens | On / off | Off |
| Token currency | One of your currencys | your first currency |
| Tokens per rebirth | Whole number (1 to 1,000,000,000) | 1 |
| Most rebirths (0 = no limit) | Whole number (0 to 1,000,000) | 0 |
| Show Rebirths on the player list | On / off | On |
| Ask before rebirthing from a button outside the Rebirth screen | On / off | On |
| Rebirth rewards (what the Rebirth screen's reward tiles show) | A list: Which rebirth (0 = every rebirth), Name on the reward tile, Currency given, Amount of currency (0 = none), Item given (a GameData.Items name, empty = none), How many of the item, Permanent extra boost (0.1 = +10%, 0 = none) per row. Extra rewards on top of the multiplier. at = 0: every rebirth; at = 5: only the 5th rebirth (a milestone). Each row can give currency, an item and a permanent boost (0.1 = +10% more on top of the rebirth multiplier). Skip Rebirth gives them too. | 1 row |
| Skip Rebirth: developer product (Robux) | A Roblox product id. The Rebirth screen's Skip Rebirth button rebirths for Robux: the player KEEPS the currency a rebirth would reset, gets the rebirth (count, multiplier) and every reward above. No cost needed. Make a developer product and paste its id here (or in GameData.Products.SkipRebirth). | not set |
| Skip Rebirth button (design element id) | Text (up to 60 characters) | "SkipRebirth" |
| Rebirth button (design element id) | Text (up to 60 characters). A design button with this id rebirths (a Rebirth Event / Remote action works too). | "RebirthButton" |
Stat Points#
Every level gives points to put into health, speed, earnings and damage at boards in the lobby, with returns that flatten so no stat runs away.
- A few points per level; spend them one at a time at the stat boards, or all on one stat
- A stat grows with the square root of its points: the first points matter most
- Health and walk speed are applied by the server; earnings go through the game's currency multiplier
- A damage stat any combat system can read (a multiplier per player)
- A respec board takes every point back, free or for a price
Needs: Data Saving, Levels & XP. Settings in GameData: GameData.Features.stat_points.
| Setting | What it is | Starts as |
|---|---|---|
| Points per level | Whole number (1 to 20) | 3 |
| Stats | A list: Id (letters, digits, _), Name on the board, What it raises, Amount (x the square root of the points), Most points in it per row. bonus = amount x the square root of the points. health: +bonus max health. speed / earn / damage: x(1 + bonus). | 4 rows |
| Currency the earn stat raises (and a respec costs) | One of your currencys | your first currency |
| Respec price (0 = free, -1 = no respec) | Whole number (-1 to 1,000,000,000,000) | 0 |
| Map marker: the stat boards (a hub marker) | Text (up to 30 characters) | "StatBoards" |
Stat Tracker#
Counts the stats your design shows (Wins, Best Time, Eggs Hatched, Coins Earned, Playtime...) and saves them.
- Records wins, kills, best times, eggs hatched, currency earned, playtime, clicks and machines built
- Finds the stats your Leaderboards and Stats screens show and starts counting them by itself
- Saved with the player; each stat is also a player attribute that Global Leaderboards can rank
- Fills your design's Stats and Profile rows with the real numbers
- Any script or system adds to a stat with one line
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.stat_tracker.
| Setting | What it is | Starts as |
|---|---|---|
| Stats to record | A list: Name (empty = a name from the source), Counts, Event name(s), comma separated, Currency (earned / spent), Keeps, Show on the player list per row. Each stat is saved, becomes the player attribute <Name without spaces> (Wins, BestTime, EggsHatched) for leaderboards and scripts, and Hud_<Name> (the text your Stats rows show). Scripts add to one with ctx.events.emit("stat", player, "Wins", 1) or require(ServerScriptService.BloxGame.Services.StatTrackerService).add(player, "Wins", 1). | 6 rows |
| Also count the stats my design shows | On / off. Leaderboard boards and Stats / Profile rows named like a stat above ("Machines Built", "Rebirths", "Money Earned") are counted too. | On |
| Record the totals other systems report | On / off. Racing, Tower Defense and others announce stats like BestLap or HighestWave; each becomes a stat here too. | On |
| Update attributes and rows every (seconds) | Number (0.25 to 30) | 1 |
Upgrade Boards#
Big wooden upgrade signs on each player's plot, up to 3 bright rows per frame: icon, title, now > next, the price; press to upgrade (or skip with Robux).
- Any stat: a gain %, a speed, a luck, rolls per press, a capacity; each with its price curve and max level
- A board can run another system's upgrade (expand the nest, level the roll station)
- Every board has a Robux skip ("Skip: <board>")
- Other systems read the values (Boards.value(player, "luck"))
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.upgrade_boards.
| Setting | What it is | Starts as |
|---|---|---|
| Currency upgrades cost | One of your currencys | your first currency |
| Boards | A list: Id (other systems ask for it), Title on the sign, Kind, Value at level 0, Added per level, First level's price, Each level costs x, Max level, Shown as, Map marker: Board_<this>, Action (kind action): <system>:<upgrade>, Skip product (its name in GameData.Products), Icon (empty = by its words; an icon name, rbxassetid://..., or model:<item>), Row colour (#hex, empty = the map's / a bright default) per row. kind stat: value = start + step x level. kind action: the board runs "<system>:<upgrade>". | 6 rows |
| Name plate on the sign frames | Text (up to 24 characters) | "Upgrades" |
| Sell the Robux skips | On / off | On |
Upgrades#
Tycoon and simulator upgrades that really do something: speed, income per second, capacity, luck, multipliers.
- Each upgrade has levels, a max, and a cost that climbs with every level
- Real effects on the server: walk speed, jump, passive income, capacity, luck, earnings boosts
- Income upgrades pay currency every second while the player is in the game
- The design's upgrade cards show the level, the next cost and MAX, and buy through the server
- An upgrade tree's hexagons work too: each one's effect from its name, sold once the ones before it are bought
- Everything is set here: names, effects, prices, curves and max levels
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.upgrades.
| Setting | What it is | Starts as |
|---|---|---|
| Upgrades | A list: Name (matches a design card with the same name), What it does, Effect per level, Max level, Cost of level 1, Cost growth per level, Cost curve, Paid with, Exact price of each level (optional: 500, 1500, 5000...) per row. The design's cards with the same name (or the same kind of effect) use these rows. Other cards keep their own prices and work as Custom. | 5 rows |
| The design's upgrade cards follow these upgrades | On / off | On |
| Passive income pays | One of your currencys | your first currency |
| Income per second before any upgrade | Number (0 to 1,000,000,000,000) | 0 |
| Pay the income every (seconds) | Whole number (1 to 60) | 1 |
| Boosts (rebirths, pets, passes) multiply the income | On / off | On |
| Earnings multiplier upgrades boost | One of your currencys | your first currency |
| Walk speed before upgrades | Number (1 to 200) | 16 |
| Jump power before upgrades | Number (1 to 500) | 50 |
| Capacity before upgrades | Number (0 to 1,000,000,000) | 10 |
Zone Progress#
Your worlds in a row (Spawn Meadow > Crystal Caves..., or Common > Rare > Epic...): players unlock the next one and the HUD's zone strip shows where they are.
- The zones are your design's worlds, in order, with what unlocks each (from the world cards)
- Unlock by reaching an amount (cash, rebirths, wins...) or by buying the next zone
- The HUD's zone strip lights up the unlocked zones and puts the player's avatar head on the one they're in
- Tap a zone to teleport to its spawn part (only unlocked ones), with a cooldown
- Saved: a zone once unlocked stays unlocked, even if the cash is spent
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.zone_progress. Setup guide.
| Setting | What it is | Starts as |
|---|---|---|
| Zones, first to last | A list: Zone name, Colour on the zone strip (#RRGGBB), How it unlocks, Stat to reach (empty = the price currency), Amount to reach, or the price, Price currency (buy), Spawn part (a part's name in Workspace) per row. The first zone is always open. The others unlock in order: a zone opens once every zone before it is open. | 5 rows |
| The HUD's zone strip (element id) | Text (up to 60 characters). A design element with this id shows the zones. Not in the design? Everything still works, only the strip is missing. | "ZoneStrip" |
| Players respawn in the furthest zone they unlocked | On / off | Off |
| Seconds between zone teleports | Number (0 to 60) | 3 |
| Show a toast when a new zone unlocks | On / off | On |
Social Extras#
Champion Statues#
The top three players of a leaderboard stand in the lobby as gold, silver and bronze statues of their own avatars, with their names and scores.
- The real avatars of the top players, cast in gold, silver and bronze, twice life size
- Each statue carries the player's name and score; a place nobody holds says "Be the first!"
- Reads a board Global Leaderboards already keeps: no extra saving, no extra setup
- Stands on the map's podium, or on one the block puts behind the spawn
- A statue changes only when another player takes the place
Needs: Global Leaderboards. Settings in GameData: GameData.Features.champion_statues.
| Setting | What it is | Starts as |
|---|---|---|
| Which leaderboard (its name; empty = the first all-time board) | Text (up to 40 characters) | empty |
| Statues (1 = only the champion) | Whole number (1 to 3) | 3 |
| Statue size (2 = twice life size) | Number (1 to 4) | 2 |
| Use the players' real avatars | On / off. Off: plain figures in the medal's colour. | On |
| The sign in front of the podium | Text (up to 30 characters) | "TOP PLAYERS" |
| Map marker: the podium | Text (up to 30 characters) | "Podium" |
Chat Tags#
Coloured [VIP], [DEV], [Lv.25] tags in front of names in chat, decided by the server.
- Tags for the developer, admins, VIPs, Roblox Premium, group ranks, levels and rebirths
- Each tag has its own colour; {n} shows the player's level or rebirths
- Rules in the order you choose, up to a few tags per player
- Updates live when someone levels up or buys VIP, with a toast for new tags
- Tags make VIP and group ranks something players want to show off
Has a part on the player's device. Settings in GameData: GameData.Features.chat_tags.
| Setting | What it is | Starts as |
|---|---|---|
| Tag rules | A list: Who gets it, Value, Tag text, Colour (#RRGGBB) per row. Checked from top to bottom; a player shows the first matching tags (up to "Tags per player"). | 6 rows |
| Tags per player | Whole number (1 to 3). Chat shows 3 tags at most, counting tags from other extras (a VIP pass, a group rank). | 2 |
| Tell players when they unlock a new tag | On / off | On |
Departure Board#
A board in the lobby where a run begins: create a party, join one that is forming, or play solo. Everyone readies up, a short countdown, and the party leaves together and comes back together.
- Three clear choices at the board: Create a Party, Join a Party, Play Solo
- A party is friends-only or public and holds 1 to 4 players; its host picks both
- Who has joined and who is ready shows on the board and on four standing spaces in front of it
- Everyone ready starts a short countdown; the host can Start Now without waiting for the party to fill
- Back from a run the same party is together again with one Play Again each; strangers are never dropped into it
Has a part on the player's device. Settings in GameData: GameData.Features.departure_board.
| Setting | What it is | Starts as |
|---|---|---|
| Biggest party | Whole number (1 to 8). The board has four standing spaces; a bigger party's extra members show on the board only. | 4 |
| Smallest party | Whole number (1 to 8). 1 lets players go alone (Play Solo). | 1 |
| Countdown once everyone is ready (seconds) | Number (1 to 60) | 5 |
| Countdown for a solo player (seconds) | Number (0 to 60) | 3 |
| Lobby & Queue: the queue the party travels with | Text (up to 30 characters). The name of a queue in Lobby & Queue's settings. A name it doesn't have means its first queue. Without Lobby & Queue the run starts in this place (the event party_departed). | "Descent" |
| A new party is | One of: Friends only, Public | Friends only |
| The board's title | Text (up to 24 characters) | "DEPARTURES" |
Global Leaderboards#
All-time and weekly top players from every server, live on your leaderboard screen and on in-world boards.
- Top 10 boards for any currency, level, rebirths, playtime or your own stat (best times rank fastest first)
- Weekly boards reset by themselves every week, so new players can win too
- Fills the Leaderboard screen of your design with real names and avatars
- Tag any Part "BloxLeaderboard" and it becomes a glowing board in your map
- Stays inside Roblox's DataStore limits, even in full servers
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.leaderboards.
| Setting | What it is | Starts as |
|---|---|---|
| Boards | A list: Stat, Currency, Leaderstat or attribute name, Name on the board, All-time board, Weekly board, Best score per row. One row per stat. Each row can have an all-time board, a weekly board, or both. | 2 rows |
| Players per board | Whole number (3 to 50). How many top players each board shows. | 10 |
| Refresh every (seconds) | Whole number (30 to 600). Boards refresh at most this often. In small servers they may refresh a little slower to stay inside Roblox's limits. | 60 |
| Weekly boards reset on | One of: Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, .... At 00:00 UTC on this day. | Monday |
| Currency boards count | One of: What they have now, Everything they ever earned. Weekly boards always count what was earned this week. | What they have now |
| Show display names | On / off. Off = show @usernames. | On |
| Build boards on Parts tagged BloxLeaderboard | On / off | On |
| In-world board title ({board} = the board's name) | Text (up to 30 characters). The orange banner on boards in the map: "{board} Rank" shows "Coins Rank". | "{board} Rank" |
| Announce a new #1 (needs Live Events) | On / off | On |
Group Rewards#
A one-time gift and a permanent boost for joining your Roblox group, checked again every time they play.
- Players who join your group get a one-time reward
- Members earn more forever (a permanent multiplier), for as long as they stay
- Membership is checked again on every join, so leaving the group ends the boost
- Optional chat tags by group rank, like [Owner] or [Member]
- Grows your group, so every update reaches more players
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.group_rewards.
| Setting | What it is | Starts as |
|---|---|---|
| Your group | A Roblox group id. The number in your group's link: roblox.com/communities/<this number>/... | not set |
| Currency | One of your currencys | your first currency |
| One-time reward for joining | Whole number (0 to 1,000,000,000) | 500 |
| Members earn (x) | Number (1 to 5). 1.1 = 10% more of this currency, for as long as they stay in the group. | 1.1 |
| Remind non-members after (minutes) | Number (0 to 120). A friendly toast about the group perks. 0 = never. | 5 |
| Design button that opens "Join group" | Text (up to 60 characters). An Event action name or element id in your design. | "JoinGroup" |
| Chat tags by group rank | On / off | On |
| Chat tags | A list: Rank at least, Tag, Colour (#RRGGBB) per row. The highest row a member's rank reaches is their tag (rank 255 = the owner). | 2 rows |
Invite Rewards#
Players earn a reward for every friend they bring in, and earn more while playing together.
- An Invite button opens Roblox's invite-friends window
- The inviter gets a reward when an invited friend joins and plays, even from another server
- The new friend gets a welcome gift too
- Playing with friends in the same server boosts everyone's earnings
- Built-in limits stop alt accounts and fake invites from farming rewards
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.invite_rewards. Setup guide.
| Setting | What it is | Starts as |
|---|---|---|
| Reward currency | One of your currencys | your first currency |
| Reward per friend who joins | Whole number (0 to 1,000,000,000) | 250 |
| Welcome gift for the invited friend | Whole number (0 to 1,000,000,000) | 100 |
| Friend must play (minutes) | Number (0 to 60). The reward only comes once the new friend has played this long. | 3 |
| Friend's account at least (days old) | Whole number (0 to 365). Stops brand-new alt accounts from paying out. | 7 |
| Only Roblox friends count | On / off | On |
| Rewards per player per day | Whole number (1 to 100) | 5 |
| Rewards per player, ever | Whole number (1 to 1,000) | 50 |
| Friend Boost per friend in the server (%) | Number (0 to 100). Everyone earns this much more for each Roblox friend playing in the same server. The HUD's Friend Boost line shows it. | 10 |
| Friend Boost at most (%) | Number (0 to 500) | 50 |
| HUD element that shows the Friend Boost | Text (up to 60 characters). The design element (id) whose text becomes "Friend Boost: +20%". Clicking it (or its "+" button, id FriendBoostPlus) opens Roblox's invite window. Missing from the design? Nothing happens. | "FriendBoost" |
| Friend Boost text ({percent} = the bonus) | Text (up to 40 characters) | "Friend Boost: +{percent}%" |
| Design button that opens the invite | Text (up to 60 characters). An Event action name or element id in your design. The Party panel and Social rewards work by themselves. | "InviteFriends" |
| Add an Invite button if the design has none | On / off | On |
| Invite message | Text (up to 100 characters) | "Come play with me!" |
Lobby & Queue#
A lobby with queue pads / elevators: step on, wait for the countdown, and the group (parties stay together) goes to the match: a story run, a round on a map, or a battle royale with teams.
- Queue pads, elevators or docks: tag a part QueuePad, its counter and countdown show on it
- Parties stay together; teams of 1, 2 or 4 for battle royale queues; bots can fill empty spots
- Teleports to your match place with everything it needs (party, teams, chapter, map)
- In Studio (or with no match place) the match runs right here, so you can test it all
- The match place reads it on arrival and sends everyone back to the lobby with their results
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.lobby_queue.
| Setting | What it is | Starts as |
|---|---|---|
| Queues | A list: Name (a QueuePad's Queue attribute), Match, Match place id (0 = play it here), Players needed to start, Most players per match, Team size (1 solo, 2 duos, 4 squads), Countdown (seconds), Fill empty spots with bots, Story: the chapter it starts per row | 2 rows |
| In Studio, one player starts a queue's countdown (to test) | On / off. A queue that needs 2+ players starts with just you when you press Play in Studio. | On |
| Teleport retries | Whole number (1 to 6) | 3 |
| Match place: wait this long for the whole group | Whole number (3 to 120) | 20 |
| Seconds on the results before going back to the lobby | Whole number (2 to 120) | 8 |
| Match place: rounds in one run before the group goes back (a game run by Rounds) | Whole number (1 to 20) | 1 |
| Lobby place id (for the way back; 0 = where they came from) | A Roblox place id | not set |
| Two-place game: this place is | One of: One place (the queue plays here, or teleports to a row's match place), The lobby (queues teleport the party to the game place), The game (the party arrives, plays, goes back to the lobby together). A horror game is two places of one experience: the lobby (the start place) and the game. Workspace > BloxPlaces holds the same choice and the other place's id (0 = found automatically). | One place (the queue plays here, or teleports to a row's match place) |
| Gate boards like the owner's horror lobby | On / off. The seconds left, "Players n" and READY / TELEPORTING (his elevator gates), and a fade to black when the group goes. | Off |
Parties & Matchmaking#
Players team up in the design's Party window, pick a mode and teleport into a match together.
- Invite players in the server (or friends through Roblox) into a party; members show in the Party window
- The party leader picks a mode tile: parties queue together and are never split up
- Teleports the whole party to your match place, with private servers for private or custom modes
- Party chat with /p, and friends who join from an invite land in your party
- Clear messages when a mode has no place id yet, and spam-proof buttons
Has a part on the player's device. Settings in GameData: GameData.Features.matchmaking_party.
| Setting | What it is | Starts as |
|---|---|---|
| Match place (every mode goes here unless its row says otherwise) | A Roblox place id. The place id of your match place (Creator Hub > your experience > Places). It must be in the same experience. | not set |
| Modes | A list: Mode name or button id, Place id (empty = the match place above), Private server just for these players, Players needed to start, Players per match per row. Optional. Every Matchmake tile in the design is a mode already; a row changes one (match its name or button id). | empty |
| Tiles whose name has one of these words get a private server | Text (up to 200 characters). For tiles without a row. Other tiles teleport into a public server of the match place, together. | "private,custom,friends" |
| Most players in a party (0 = the design's Party slots) | Whole number (0 to 50) | 0 |
| Seconds to wait for more parties before a match starts | Number (0 to 120) | 5 |
| Give up searching after (seconds) | Whole number (10 to 1,800) | 120 |
| An invite lasts (seconds) | Whole number (5 to 300) | 30 |
| Seconds before inviting the same player again | Number (0 to 120) | 5 |
| Seconds between two mode clicks | Number (0 to 30) | 2 |
| Teleport tries before giving up | Whole number (1 to 10) | 3 |
| Friends who join from your invite land in your party | On / off | On |
| Party chat (type /p message) | On / off | On |
| The Party window's invite also lists players in this server | On / off | On |
Rare Drop Shout-outs#
"Mia hatched a Mythic Dragon! (1 in 5,000)": real rare moments shown to the whole server, the rarest to every server.
- A banner for everyone when a player hatches something rare, with its real odds
- The rarest drops go to every server (through Live Events when it's on)
- Golden crafts, prestige tiers and a finished Index get their moment too
- Only real events from your server's systems: nothing is ever made up
- Rate limited, so a lucky streak never floods the screen
Has a part on the player's device. Settings in GameData: GameData.Features.rare_drops.
| Setting | What it is | Starts as |
|---|---|---|
| Shout to this server from | One of: Rare, Epic, Legendary, Mythic, Secret | Legendary |
| Shout to every server from | One of: Rare, Epic, Legendary, Mythic, Secret | Mythic |
| Show the odds ("1 in 5,000") | On / off | On |
| Hatches and crate drops | On / off | On |
| Golden / crafted pets | On / off | On |
| Prestige tiers | On / off | On |
| A finished collection Index | On / off | On |
| Seconds between two shout-outs of the same player | Whole number (2 to 600) | 10 |
| Seconds a banner stays | Number (2 to 15) | 4 |
Trading#
Safe player-to-player trades of items and currency that can never duplicate anything.
- Request a trade by walking up to a player or from the Trade button
- Both players add items (and coins), accept, then a 5-second countdown that restarts on any change
- The server swaps everything at once, with a trade journal: no duplicates after crashes or leaves
- Trade history, playtime / level / account-age gates against alts, untradeable items in GameData
- Fills your design's Trade screen
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.trading.
| Setting | What it is | Starts as |
|---|---|---|
| Players can add currency to a trade | On / off | On |
| Tradeable currency | One of your currencys | your first currency |
| Most currency in one trade | Whole number (0 to 1,000,000,000,000) | 1,000,000 |
| Most different items per side | Whole number (1 to 18) | 12 |
| Countdown after both accept (seconds) | Whole number (3 to 15). Any change to either offer stops it; both players must accept again. | 5 |
| A trade request expires after (seconds) | Whole number (10 to 120) | 30 |
| Wait before asking the same player again (seconds) | Whole number (0 to 600) | 10 |
| Minutes played before a player can trade | Whole number (0 to 100,000). Stops brand-new alt accounts from being used to move items. | 15 |
| Level needed to trade (0 = any; needs a level system) | Whole number (0 to 100,000) | 0 |
| Roblox account age needed (days) | Whole number (0 to 3,650) | 0 |
| Check the playtime / level / age rules in Studio too | On / off | Off |
| Only items listed in GameData.Items can be traded | On / off. Items with untradeable = true (or tradeable = false) in GameData.Items are never tradeable. Game pass perk items never are. | On |
| Trades kept in each player's history | Whole number (0 to 100) | 20 |
| Show a "Trade" prompt when you walk up to a player | On / off | On |
Live ops Extras#
Community Goal#
A server-wide event on the clock: for ten minutes everything the players earn fills one pool, and every goal it reaches pays everyone a bonus.
- Runs by the wall clock, so every server of the game is in the event at the same moment
- Goals set themselves: multiples of what this server usually earns, in any game and at any stage
- Each goal reached pays every player a share of what they themselves earned in the event
- A board in the lobby: the goal, the percent, the time left, and when the next event starts
- Only earnings from play count: purchases, gifts, rewards and trades don't fill the pool
Needs: Data Saving. Settings in GameData: GameData.Features.community_goal.
| Setting | What it is | Starts as |
|---|---|---|
| Currency that fills the pool | One of your currencys | your first currency |
| The event is called | Text (up to 30 characters) | "Community Rush" |
| An event every (minutes, by the clock) | Whole number (5 to 1,440) | 70 |
| It lasts (minutes) | Whole number (1 to 240) | 10 |
| Goals | A list: Goal (x the usual pace), Bonus for everyone (% of what they put in) per row. A goal is the server's usual earnings over one event x this. Its bonus is a share of what each player put in so far. | 4 rows |
| The smallest first goal's base (an empty server) | Number (1 to 1,000,000,000,000,000) | 100 |
| Tell everyone when it starts, at each goal and at the end | On / off | On |
| Map marker: the event board's station (its Station name) | Text (up to 30 characters) | "event" |
Event Rotation#
A server event every 5 minutes with a countdown banner: mutation rain, double luck, a big buyer, a giant critter to click, a climb to a prize.
- A banner at the top: "Next event in M:SS", then "<Event> ends in M:SS"
- Mutation rain (placed units may catch a mutation), double luck, a big buyer (sell price at least x2.5)
- A giant critter on the event stage: click it for cash and boosts until it leaves
- A climb: floating steps up to a pad with a 100%-mutation roll, once per player per event
- Tokens from rolls (shared by the server) start the next event early
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.event_rotation.
| Setting | What it is | Starts as |
|---|---|---|
| Show the next-event countdown on the HUD | On / off. Off: no countdown; an event still announces itself with a small notice when it starts. | On |
| Currency the critter drops | One of your currencys | your first currency |
| An event every (seconds) | Whole number (30 to 7,200) | 300 |
| Every server runs the same event at the same minute | On / off. On: the clock picks the event, so friends in other servers get it too. Off: each server counts from its own start and rolls its own. | On |
| Events | A list: Kind, Name, Lasts (seconds), Mutation it gives (rain / climb; empty = random) per row | 5 rows |
| Double luck multiplies luck by | Number (1 to 100) | 2 |
| Big buyer pays at least x | Number (1 to 100) | 2.5 |
| Mutation rain: a placed unit's chance every 10 s | Number (0 to 1) | 0.03 |
| Giant critter: clicks before it leaves (+ 60 per player) | Whole number (10 to 100,000) | 150 |
| Giant critter model (ReplicatedStorage.BloxItemModels; empty = the rarest unit) | Text (up to 50 characters) | empty |
| Tokens the server pools to start an event now | Whole number (1 to 10,000) | 30 |
| Map marker: the event stage (in the hub) | Text (up to 30 characters) | "EventStage" |
Live Events#
Scheduled "2x Coins Weekend" style events with a live banner, plus server-wide shout-outs for rare moments.
- Weekly or one-time events that multiply a currency while they run
- A banner counts down to the next event and shows when one is live
- Start a surprise event in every server at once from your own scripts
- Rare moments ("Alex hatched a Mythic Dragon!") are announced in every server
- Gives players a reason to come back at the same time every week
Has a part on the player's device. Settings in GameData: GameData.Features.live_events.
| Setting | What it is | Starts as |
|---|---|---|
| Events | A list: Name, Multiplier (x), Every currency, Currency (when not every currency), Repeats, Weekly: starts on, Weekly: at (UTC hour), Weekly: lasts (hours), Once: starts (UTC), Once: ends (UTC) per row. All times are UTC. Events that overlap multiply together. | 1 row |
| Show the event banner | On / off | On |
| Count down this many hours before | Number (0 to 168). The banner shows "starts in" this long before an event. 0 = only while it runs. | 24 |
| Toast when an event starts and ends | On / off | On |
| Announce rare moments in every server | On / off. Other extras and your scripts call LiveEvents.announce(text). | On |
Redeem Codes#
Promo codes for currency, items and boosts, with expiry dates, use limits and guess protection.
- Players type a code on your Codes screen and get coins, items or a timed boost
- Codes can expire on a date and can be limited to the first N players
- Each code works once per player, whatever the capitals or spaces
- Guessing is blocked: too many wrong codes locks the box for a while
- Drop a new code for every update to bring players back
Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.codes.
| Setting | What it is | Starts as |
|---|---|---|
| Codes | A list: Code, Currency, Amount, Item id to give (optional), How many items, Boost (2 = 2x the currency), Boost length (minutes), Expires (UTC), Total uses (all players) per row. Capitals and spaces around the code don't matter: "release " works for RELEASE. | 2 rows |
| Wrong codes allowed per minute | Whole number (3 to 20). One more and the Redeem box locks for a while. | 5 |
| Lock for (seconds) | Whole number (10 to 3,600). Doubles every time they get locked again, up to an hour. | 60 |
Admin & safety Extras#
Admin Panel#
A private admin panel and chat commands to give, kick, ban, teleport and announce, with every action logged.
- A clean in-game panel (a key, a button or :panel) that only admins ever see
- Chat commands: :give, :item, :kick, :ban, :unban, :tp, :announce, :data, :boost
- Admins by user id or group rank, and the game owner is always one
- Every command is checked by the server and saved in a log: who, what and when
- Everyone else gets silence: the remotes do nothing for them and are rate-limited
Has a part on the player's device. Settings in GameData: GameData.Features.admin.
| Setting | What it is | Starts as |
|---|---|---|
| Admins (user ids) | A list: User id per row. The game owner is always an admin. Add your moderators here. | empty |
| Admin group (optional) | A Roblox group id. Members of this group at or above the rank below are admins. Empty = no group. | not set |
| Lowest group rank that is admin | Whole number (1 to 255). Group ranks go from 1 to 255 (255 = the group owner). | 254 |
| Command prefix | One of: :give, ;give, !give | :give |
| Key that opens the panel | One of: F2, F3, F4, ' (quote), ; (semicolon), No key | F2 |
| Show a small ADMIN button to admins (for phones) | On / off | On |
| Hide commands from chat | On / off. Other players don't see ':kick bob' in the chat (TextChatService). | On |
| Everyone is an admin in Studio tests | On / off. Only in Studio, so you can try the panel right away. Live servers never do this. | On |
| Biggest amount one :give can add | Number (1 to 1,000,000,000,000,000) | 1,000,000,000 |
| Biggest :boost multiplier | Number (1 to 100) | 10 |
Anti-Exploit#
Lenient server-side checks for speed hacks, teleports, remote spam and impossible currency jumps, with admin alerts.
- Catches speed hacks and teleports on the server, where cheaters can't switch it off
- Flags players who spam your remotes or fire server-only ones
- Spots impossible currency jumps (like a million coins in a minute)
- Alerts admins on the Admin Panel; you choose log, pull back or kick
- Lenient by default and never bans, so honest players are safe
Settings in GameData: GameData.Features.anti_exploit.
| Setting | What it is | Starts as |
|---|---|---|
| When movement looks hacked | One of: Only log it and alert admins, Pull the player back, Kick the player | Only log it and alert admins |
| Fastest normal speed (studs per second) | Number (20 to 2,000). Walking is 16. Raise this if your game has vehicles without seats, launch pads or dashes. | 100 |
| A jump this far at once is a teleport (studs) | Number (30 to 10,000) | 150 |
| Suspicious moves (within 20 s) before acting | Whole number (1 to 20). Higher = more forgiving of lag. | 3 |
| Remote spam: messages per second per remote | Whole number (10 to 1,000) | 60 |
| When a player spams a remote | One of: Only log it and alert admins, Kick the player | Only log it and alert admins |
| Remotes to ignore | A list: Remote name per row. For remotes your game fires very often on purpose (like mouse aim every frame). | empty |
| Alert on impossible currency jumps | On / off | On |
| Currency jump: more than this in one minute... | Number (1 to 1,000,000,000,000,000,000) | 1,000,000 |
| ...and more than this many times their balance | Number (2 to 1,000,000). Both must be true, so rich players earning a lot aren't flagged. | 100 |
Bans#
Real Roblox bans with lengths, reasons and alt-account blocking, plus a backup ban list for bad days.
- Uses Roblox's official ban API: one ban blocks every server (and alt accounts)
- Timed or permanent bans, with a message the banned player sees
- A saved backup ban list, checked on join, if Roblox's ban service fails
- Works from the Admin Panel (:ban, :unban, :baninfo, :bans) or one line of code
Settings in GameData: GameData.Features.bans.
| Setting | What it is | Starts as |
|---|---|---|
| Default ban length | One of: 1 hour, 1 day, 7 days, 30 days, Permanent. Used when a ban doesn't say how long (like :ban bob). | Permanent |
| Let a banned player's alt accounts in | On / off. Off (recommended): Roblox also blocks the alt accounts it links to the banned player. | Off |
| Message a banned player sees | Text (up to 400 characters). Used when a ban has no reason of its own. | "You are banned from this game." |
| Use Roblox's ban API | On / off. Off = only the saved ban list, checked when players join. Studio always uses only the saved list. | On |
Data Tools#
Undo button for player data: snapshots, one-command rollbacks, readable data views and GDPR erasure.
- Snapshots of a player's data on join and before every admin change
- :rollback puts a player back to any snapshot (and can be undone)
- :data shows a readable summary of everything a player has
- Right to Erasure in one command: :erase <userId> confirm
- Scripts can snapshot before risky changes (trades, resets) with one line
Needs: Admin Panel. Settings in GameData: GameData.Features.data_tools.
| Setting | What it is | Starts as |
|---|---|---|
| Snapshot players when they join | On / off | On |
| At most one join snapshot every (hours) | Whole number (1 to 168). So players who rejoin a lot don't push older snapshots out. | 12 |
| Snapshots kept per player | Whole number (1 to 20) | 5 |
| Your own DataStores to erase too | A list: DataStore name per row. Only for DataStores your own scripts made, keyed by the user id (123 or u_123). Game systems' stores are found automatically. | empty |
| Your own OrderedDataStores (leaderboards) to erase too | A list: OrderedDataStore name per row | empty |
| Message when a player's data is being erased | Text (up to 200 characters) | "Your saved data is being deleted, as you asked. You can rejoin in a minute." |
Economy Analytics#
See where every coin comes from and goes, where new players drop off, and how your shop converts, on the Creator Dashboard.
- Every currency change becomes a source or sink on Roblox's Economy dashboard
- An onboarding funnel (first join, first minutes, shop, first purchase, first rebirth)
- Shop and Robux-prompt funnels show how many players go from looking to buying
- Custom events from your scripts or from the design's buttons
- Safe: nothing is sent from Studio, and failures never break the game
Has a part on the player's device. Settings in GameData: GameData.Features.analytics.
| Setting | What it is | Starts as |
|---|---|---|
| Onboarding funnel steps (in order) | A list: Step name, Happens when, Custom event name (custom only) per row. Only brand-new players are tracked, each step once. Put the steps in the order most players do them. | 6 rows |
| Shop screens | A list: Screen per row. Empty = any screen whose name has 'shop' or 'store' in it. | empty |
| Currency reasons not to log (comma separated) | Text (up to 500 characters). Extras that already log their own economy events, and admin fixes that would muddy the numbers. | "daily_reward, level_up, playtime_gift, quest, quest_bonus, admin_give, admin_take, rollback" |
| Design events to log as custom events | A list: Event name per row. Names of the design's Remote actions, like Rebirth or ClaimQuest. | empty |
| Add up small currency changes for (seconds) | Whole number (5 to 300). +1 coin per click becomes one event every 30 seconds, staying inside Roblox's limits. | 30 |
| In Studio, print what would be logged | On / off | On |
Soft Shutdown#
Update your game without kicking anyone: players see an 'Updating...' screen and land in a fresh server.
- Shut down servers for an update and nobody gets kicked
- Players wait a few seconds on a friendly 'Updating...' screen, then come back
- They arrive together in a new server running your latest version
- Teleport errors are retried; Studio is skipped automatically
- Admins can also restart one laggy server with :restartserver
Has a part on the player's device. Settings in GameData: GameData.Features.soft_shutdown.
| Setting | What it is | Starts as |
|---|---|---|
| Message on the updating screen | Text (up to 120 characters) | "The game is updating. You'll be back in a few seconds!" |
| Message when players are back | Text (up to 120 characters) | "The game was updated. Welcome back!" |
| Seconds to wait before sending players back | Whole number (3 to 25). Gives Roblox time to start servers with the new version. | 8 |
| Players in private (VIP) servers | One of: Kick with a friendly message (they rejoin their private server), Move them together to a public server | Kick with a friendly message (they rejoin their private server) |
| Add the :restartserver admin command | On / off. Needs the Admin Panel. Moves everyone in one server to a fresh one. | On |