UI Designer

On this page

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 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#

  1. Open your design on the UI Designer and sign in.
  2. 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.
  3. 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.
  4. Export the design (or press Add Extras if it is exported already).
  5. 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#

Explorer
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_Setup moves 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.

An Extra in GameData.Features
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 and true / false don't.
  • Robux ids go in GameData.Products (developer products) and GameData.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 GameData and send the design again.
  • Exported before GameData existed? Your place has a GameSettings file 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.onReceipt stub for the same product in <Name>_ServerHooks is ignored, and Output says so. Never set MarketplaceService.ProcessReceipt yourself: UI.Server owns it.
  • Product and pass ids: paste each id once, in GameData.Products or GameData.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 says This 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#

74 Extras, by kind. Each one lists the settings the website's form shows, with their starting values.

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.

SettingWhat it isStarts as
Data store nameText (up to 50 characters). Where player data is saved. Changing it starts every player from zero!"BloxUI_Data"
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 listOn / off. Off: currencies are still saved, but kept as player attributes instead of the leaderboard in the top right.On
What new players start withA 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 playersA 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

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

Has a part on the player's device. Settings in GameData: GameData.Features.hud_bindings. Setup guide.

SettingWhat it isStarts 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 yone row per item of your design
workspace:SetAttribute("Hud_...") shows on every player's screenOn / off. A player's own attribute wins over the workspace one.On
Stats and Profile rows follow Hud_<label>On / offOn
List the design's widgets in the Output (Studio only)On / offOn
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 measureOne 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.

SettingWhat it isStarts as
Players spawn when they press PlayOn / 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 fromText (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 nextNumber (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 soundsOn / offOn
Also wait for everything in WorkspaceOn / off. Slower on phones. Tag single things "Preload" instead.Off
Build every screen while loading (smoother first opens)On / offOn
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 menuOn / offOn

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.

SettingWhat it isStarts as
When a key is already used by another actionOne 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 keySwap: the other action gets the old key
Actions may use W A S D and the arrow keysOn / 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 = trueOn / off. The design's own mobile buttons already cover its actions.On
Tell the player what changed after a rebindOn / offOn
Controls pause while the Controls screen is openOn / offOn
Most actions a player can saveWhole 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 and graphics.

  • 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
  • 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.

SettingWhat it isStarts as
Hide Other Players also hides their name tagsOn / offOn
Tag your pet models carryText (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 assistOne of: Controller and touch players, Everyone (mouse players too)Controller and touch players
Aim assist only while holding a weapon or toolOn / offOn
SoundGroup for your game's musicText (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 effectsText (up to 40 characters)"SFX"
SoundGroup for ambienceText (up to 40 characters)"Ambience"
SoundGroup for vehicle enginesText (up to 40 characters)"Vehicles"
Put game sounds without a SoundGroup into those groupsOn / 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 shadowsOn / offOn
Particles kept in Low Detail (%)Whole number (0 to 100)30
Drive the HUD speed counter in the player's unitsOn / 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 handOn / offOn

Gameplay Extras#

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
  • Players pick a drop zone on the design's Drop Zones screen and glide down there
  • 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.

SettingWhat it isStarts as
Players needed to startWhole 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 arriveOne of: Drop from the sky and glide, Spawn on the groundDrop from the sky and glide
Drop height above the ground (studs)Whole number (20 to 2,000)220
Gliding fall speed (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 phasesA 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"
Reward currencyOne of your currencysyour first currency
Reward for the winnerWhole number (0 to 1,000,000,000)300
Reward per player you outlastedWhole number (0 to 1,000,000,000)5
Reward per eliminationWhole number (0 to 1,000,000,000)25
Eliminated players spectate until the match endsOn / 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 markersOn / offOn
Let the Rounds system start matches (when it's on)On / offOn

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.

SettingWhat it isStarts as
BossesA 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 appearsWhole 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 defeatedOn / offOn
Show 'Bosses Slain' on the player listOn / 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

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.

SettingWhat it isStarts as
ChallengesA 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 twistsA 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: currencyOne of your currencysyour first currency
Challenge of the day bonus (beat the bronze par, once a day)Whole number (0 to 1,000,000,000)300
Leaderboard rowsWhole 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 tagText (up to 40 characters)"ChallengeStart"
Finish tagText (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 / offOn
Show the best time on the player listOn / offOff
Show the "Challenge of the day" buttonOn / offOn

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? A CLICK button 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.

SettingWhat it isStarts as
Currency a click paysOne 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).0
Most clicks counted per secondWhole number (1 to 60). Faster clicks are ignored. 20 is faster than any human can tap.20
Allow auto-clicker programsOn / 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-clickerWhole 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 passA 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 secondNumber (1 to 20)5
Boosts multiply click earningsOn / 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 ClickerOn / offOn
Show Clicks on the player listOn / offOff

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.

SettingWhat it isStarts as
EmotesA 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 emoteOn / offOn
Seconds between two emotesNumber (0 to 10)0.5
Pressing a locked emote opens its game pass's buy promptOn / offOn

Fighter Roster#

Pick a fighter, then best-of-3 duels with a 99-second round clock, real knockouts, round pips and results.

  • The fighters screen really picks your fighter: health, speed, power, defence and moves
  • 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
  • Knockouts decided on the server (Humanoid creator tag), ring-outs count, the timer decides the rest
  • Wins, KOs and win streaks saved; a practice bot in Studio so you can test alone

Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.fighter_roster.

SettingWhat it isStarts as
FightersA list: Fighter name, Health, Walk speed, Punch damage, Kick damage, Ultimate damage, Power (% extra damage), Defence (% less damage taken), Free for everyone 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 themselvesOn / offOn
Practice bot when nobody else is waitingOne of: In Studio only, Always, NeverIn Studio only
Seconds alone in the queue before the bot comesWhole number (1 to 300)15
Bot damage (% of its fighter's)Number (0 to 200)60
Who starts fightsOne 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)The duel queue, unless a Rounds Extra is on
MovesOne 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 punchesNumber (0.1 to 5)0.45
Seconds between kicksNumber (0.1 to 10)0.9
Seconds between ultimatesNumber (1 to 120)15
Seconds between dashesNumber (0.2 to 10)1.2
Blocking stops this much damage (%)Number (0 to 100)70
Reward currencyOne of your currencysyour first currency
Reward for a winWhole number (0 to 1,000,000,000)100
Reward for a lossWhole number (0 to 1,000,000,000)25
Reward per knockoutWhole number (0 to 1,000,000,000)10
Show Wins and KOs on the player listOn / offOn
Open the design's Results screen after a fightOn / offOn

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.

SettingWhat it isStarts as
Tool nameText (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 toolOn / offOn
A full battery lasts (seconds of light)Number (5 to 3,600)150
Night vision drains this many times fasterNumber (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 currencyOne 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 visionOne of: When the design has a Night Vision button, Always, NeverWhen the design has a Night Vision button
ZoomOne of: When the design has a Zoom button, Always, NeverWhen the design has a Zoom button
Zoomed field of viewNumber (10 to 69)35
Light range (studs)Number (5 to 60)60
Light brightnessNumber (0.5 to 10)3
Make placeholder batteries when the map has noneOn / offOn

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.

SettingWhat it isStarts as
Sprint with staminaOne 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 speedNumber (8 to 100). Roblox's normal walk speed is 16. A faster base speed (upgrades) sprints 1.3x its own speed instead.26
StaminaNumber (1 to 100,000). Your scripts can give one player more by setting their MaxStamina attribute (upgrades, perks).100
Stamina used per second of sprintingNumber (0 to 10,000). 100 stamina / 20 per second = 5 seconds of sprinting. Standing still while holding sprint uses none.20
Stamina recovered per secondNumber (0 to 10,000)16
Rest before stamina recovers (seconds)Number (0 to 30)1
Stamina needed to start sprintingNumber (0 to 100,000). Stops tired players from stuttering: run out and you wait until you have this much again.15
Sprint keyText (up to 20 characters). A KeyCode name. Controllers use the left stick click; phones get a Sprint button."LeftShift"
Add a Sprint button on phonesOn / off. Only when the design's mobile controls have no Sprint button of their own.On
Hide Roblox's own backpack barOn / 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 spawnOn / off. The design shows slot 1 selected, so the player holds that Tool when they spawn.On
The design's Reload button reloads the ToolOn / 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 nameOn / 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 cameraOn / offOn
Boss bar follows models taggedText (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) to lose it
  • The design's gameover screen works: Retry, Revive (Robux or your revive currency) and Spectate
  • 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.

SettingWhat it isStarts as
DifficultyOne 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 nameText (up to 60 characters). A Model in ServerStorage > BloxGame > Monsters. Empty = the first model there, or a creepy placeholder.empty
Monsters at onceWhole 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 revivingNumber (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 caughtOn / offOn
Jumpscare length (s)Number (0.3 to 5)1.4
Jumpscare image (rbxassetid, optional)Text (up to 80 characters). Empty = glaring red eyes lunge out of the dark.empty
Jumpscare sound (rbxassetid, optional)Text (up to 80 characters)empty
Objective text while chasedText (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
Revive costs this currencyOne of your currencys. Empty = a currency named like "Revives" if the design has one.not set
Revive price in that currencyWhole 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 idA Roblox product idnot set
Revives per life (0 = no limit)Whole number (0 to 50)1
Gameover waits (s) before an automatic RetryNumber (5 to 600)45
Spectate button while downOn / offOn
Make placeholders when something is missingOn / off. A creepy placeholder monster and two wardrobes to hide in, so it works the moment you press Play.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.

SettingWhat it isStarts 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 teammatesOn / 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 listOne of: Kills, Kills and Deaths, NothingKills
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 currencyOne of your currencysyour 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 noneOn / offOn
Kill marker on the design's crosshairOn / offOn

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.

SettingWhat it isStarts 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 cameraOn / 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 drawnOne 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 detailOne 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 mapOne 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 showText (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 onceWhole number (10 to 400). Keeps the minimap readable and fast on phones.120
Keep far markers on the minimap's edgeOn / off. On = markers outside the view sit on the rim, pointing the way. Off = they disappear.On
Full-screen map (tap the minimap)On / offOn
Key that opens the full-screen mapText (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 beamOn / offOn
Add a minimap when the design has noneOn / off. A small round minimap in the top-right corner.On

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
  • 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.

SettingWhat it isStarts as
MovesA 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), 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), seconds, Keyboard key (empty = the design's key hints / the usual key), Animation (empty = the built-in one) per row. One row per move. 'Buttons' are the design's event names (and Hotbar slot names) that do it.8 rows
Seconds between hits to keep a combo goingNumber (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 parriedNumber (0 to 5)1
Teammates can hit each otherOn / offOff
Moves hurt NPCs (any model with a Humanoid)On / offOn
Extra reach for laggy players (studs)Number (0 to 10)3
Moves cost stamina when a stamina system is onOn / off. Works with the HUD Extra's sprint stamina, or any script that keeps a 'Stamina' attribute on the character.On
Show the combo counterOn / offOn
Clicking (with nothing in your hand) does the first melee moveOn / offOn

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 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.

SettingWhat it isStarts 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 tagText (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 stageOn / offOn
Stages must be reached in orderOn / 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 listOn / offOn
Player list columnText (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 stageOn / 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 reachedOn / offOn
Finish reward: currencyOne of your currencysyour first currency
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 idnot set
Give the finish reward on every full runOn / 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 stageOn / offOn

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
  • 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.

SettingWhat it isStarts as
Laps per raceWhole 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 startWhole number (1 to 30). The race waits in the lobby until this many players are in the server.1
Most racers in one raceWhole number (1 to 30)12
Lobby time before a race (seconds)Whole number (3 to 300)15
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 currencyOne of your currencysyour first currency
Reward for 1st placeWhole number (0 to 1,000,000,000)500
Reward for 2nd placeWhole number (0 to 1,000,000,000)300
Reward for 3rd placeWhole 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 pointsWhole 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 tankOn / offOff
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 driftingNumber (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 driftingWhole number (0 to 1,000,000)250
Spawn a car for every racerOn / 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
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 noneOn / offOn
Let the Rounds system start races (when it's on)On / offOn
Speed shown inOne of: km/h, mph, studs/skm/h

Roleplay: Jobs & Homes#

Real jobs with uniforms and paychecks, homes that give a plot 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
  • Optional job tasks and vehicles; Tag parts "HousePlot", "JobTask" and "VehicleSpawner", or use the placeholders
  • Paychecks only while you're active, nothing a client can fake, and everything saved

Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.roleplay.

SettingWhat it isStarts as
Paycheck currencyOne of your currencysyour first currency
Minutes between paychecksNumber (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 againWhole number (0 to 600)5
Each job is a team on the player listOn / offOn
Show the job as a chat tagOn / offOn
Players keep their job when they come backOn / offOn
JobsA 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 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 spotWhole 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) 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 / offOff
VehiclesA list: Vehicle name, Top speed (studs/s), Colour (#RRGGBB), Model name (optional) 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 spawnsWhole number (1 to 120)5

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.

SettingWhat it isStarts as
How a round is wonOne 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 startWhole number (1 to 50)2
Let one player test rounds in StudioOn / off. In Studio a round starts with just you, so you can test it by pressing Play.On
Intermission (seconds)Whole number (3 to 600)15
Round length (seconds)Whole number (10 to 7,200)180
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 startOn / 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 roundOn / off. They respawn at your lobby SpawnLocation (or a part tagged LobbySpawn).On
Hold players still during 3-2-1On / offOn
Rewards are paid inOne of your currencysyour first currency
1st placeWhole number (0 to 1,000,000,000)100
2nd placeWhole number (0 to 1,000,000,000)50
3rd placeWhole number (0 to 1,000,000,000)25
Everyone who plays the roundWhole number (0 to 1,000,000,000)10
Per kill in the roundWhole number (0 to 1,000,000,000)5
Show Wins on the player listOn / off. A saved Wins value in leaderstats (the Roblox player list and leaderboards read it).On
Toasts for the round's big momentsOn / offOn

Security Office#

A real night shift: doors, lights and cameras on a failing power supply, animatronics that creep closer, nights 1-5.

  • 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
  • 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.

SettingWhat it isStarts as
NightsWhole 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 attackNumber (1 to 120)12
AnimatronicsA list: Name, Path (cameras, then where it attacks), How active on nights 1-7 (0-20 each), Model name (ServerStorage > BloxGame > Animatronics) per row4 rows
Start night 1 by itself when a player joinsOn / offOn
Seconds before a night startsNumber (0 to 120)6
Winning a night paysOne of your currencysyour first currency
Pay x night numberWhole 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 noneOn / offOn

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 and the score bug all run on the server
  • Kit loadouts with pace, shooting, passing and stamina bonuses
  • End-of-match results with goals, assists, shots and pass accuracy, plus coin rewards
  • Tag parts "Goal", "Ball" and "TeamSpawn", 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.

SettingWhat it isStarts 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 matchWhole number (1 to 50). In Studio a match always starts with 1 player, so you can test alone.2
Who starts matchesOne 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 isOne of: The team that defends that goal (their net), The team that scores in itThe 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 shotNumber (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 tacklesNumber (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 speedNumber (4 to 60)16
Sprint speedNumber (4 to 80)24
Seconds of sprint on a full stamina barNumber (1 to 60)5
Seconds to refill staminaNumber (1 to 60)8
Reward currencyOne of your currencysyour first currency
Reward for a winWhole number (0 to 1,000,000,000)100
Reward for a drawWhole number (0 to 1,000,000,000)50
Reward for a lossWhole number (0 to 1,000,000,000)25
Reward per goalWhole number (0 to 1,000,000,000)20
Colour players in their team's colourOn / offOn
Show Goals and Wins on the player listOn / offOn
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 keyText (up to 20 characters)"E"
Tackle keyText (up to 20 characters)"Q"
Sprint key (hold)Text (up to 20 characters)"LeftShift"
Open the design's Results screen after a matchOn / offOn

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.

SettingWhat it isStarts as
Who shows upOne of: My team (everyone when there are no teams), Only my team, Everyone in the serverMy team (everyone when there are no teams)
Show myself too (first)On / offOn
Show a health bar on each teammateOn / offOn
Teammates can revive a downed player (hold E)On / offOn
Seconds to hold for a reviveNumber (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

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.

SettingWhat it isStarts 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 fasterNumber (1 to 5)1.5
Damage per second when a meter is emptyNumber (0 to 100)2
Meters after a respawn (%)Number (1 to 100)75
Food and drinkA 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 / offOn
Objective text at nightText (up to 60 characters)"Survive until dawn"
Storage chests areOne of: Private: each player has their own contents, Shared: everyone uses the same contentsPrivate: each player has their own contents
Different items a chest holdsWhole number (1 to 100)24
Make a berry bush, a well and a chest when the map has noneOn / offOn

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.

SettingWhat it isStarts 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 playersOne of: Pick on the team screen (auto-assigned without one), Auto-assign when they join, Stay neutral until they pickPick on the team screen (auto-assigned without one)
Seconds to pick before being auto-assignedWhole number (0 to 600). 0 = wait forever.25
Most extra players a team may haveWhole 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 switchesWhole number (0 to 3,600)10
No switching during a round (Rounds extra)On / offOn
Respawn at the team's spawn after joiningOn / offOn
Put players back on their last team when they rejoinOn / offOff
Colour the BloxMaps team spawns for these teamsOn / 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.

SettingWhat it isStarts 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 inOne 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 cardsOn / 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 portalsOn / 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 ownersOn / off. BloxMaps simulator gates. The barrier disappears (only for players who unlocked the zone).On
Send players out of zones they haven't unlockedOn / off. The server checks every second, so walking through a gate with a cheat doesn't help.On
Seconds between teleportsNumber (0 to 60)2

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.

SettingWhat it isStarts as
Waves to winWhole number (1 to 200)20
Players needed to startWhole 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
Results screen time (seconds)Whole number (3 to 60)12
Base healthWhole number (1 to 1,000,000)100
Match cash at the startWhole 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 clearedWhole number (0 to 1,000,000,000)100
Extra wave cash per wave numberWhole number (0 to 1,000,000)10
Selling gives back (% of what was spent)Whole number (0 to 100)60
Reward currency (kept after the match)One of your currencysyour first currency
Reward per wave survivedWhole number (0 to 1,000,000,000)25
Extra reward for a victoryWhole number (0 to 1,000,000,000)500
Most towers per playerWhole 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
Upgrade: extra damage per level (%)Whole number (0 to 500)40
Upgrade: extra range per level (%)Whole number (0 to 100)8
New towers targetOne of: First (closest to the base), Last, Strongest, Weakest, ClosestFirst (closest to the base)
TowersA 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) 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 typesA list: Name, Health, Speed (studs/s), Cash per kill, Damage to the base, Placeholder size (studs), Placeholder colour (#RRGGBB) per row5 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
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 voteWhole number (1 to 100)50
Skip Wave: allowed when this % of the wave is leftWhole number (0 to 100)30
Skip Wave: cash for each voterWhole number (0 to 1,000,000,000)50
Build a placeholder path, base and spots when the map has noneOn / offOn
Let the Rounds system start matches (when it's on)On / offOn

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.

SettingWhat it isStarts as
Currency the tycoon earnsOne 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 orderOn / off. true = only the next machine can be bought (the classic tycoon). false = any machine, any time.On
The first money-making machine is freeOn / off. New players get it (and anything before it) when they claim, so nobody is ever stuck without income.On
Seconds a machine takes to pay for itselfNumber (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 byNumber (1 to 100). Used when an upgrader's Value is 0.1.5
Each conveyor makes every drop worth this many times moreNumber (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
DropsOne 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 onceWhole 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 plotOne of: Step on a plot's claim pad, Given one as soon as they joinStep 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 plotOn / offOn
Plots to make when the map has noneWhole 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
A buy pad on the plot for the next machineOn / off. The classic tycoon button: step on it to buy. The Build window works as well.On
Rebirths reset the plotOn / 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 incomeOn / 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 goalText (up to 60 characters). A widget id or type (Objective). Empty = don't show it."Objective"
HUD widget that counts machines builtText (up to 60 characters). auto = the first Counter whose label says machines / built / buildings. Empty = none."auto"
Show "Build your tycoon" in the Quest TrackerOn / off. Needs the Quest Tracker HUD extra.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.

SettingWhat it isStarts as
WeaponsA 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 weaponsOn / 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 spawnsOne of: Yes, unless a Loadout Extra hands out weapons, Always, Never (my own scripts or StarterPack give them)Yes, unless a Loadout Extra hands out weapons
Make simple placeholder guns when a weapon has no Tool yetOn / off. Your own Tool named like the weapon in ServerStorage > BloxGame > Tools always wins.On
Teammates can hurt each otherOn / offOff
Weapons hurt NPCs (zombies, bosses: any model with a Humanoid)On / offOn
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 currencyOne of your currencysyour first currency
Spare ammo never runs outOn / offOff
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 tracersOn / offOn
First person while holding a gunOn / offOff
Hide Roblox's own backpack bar when the design has a HotbarOn / offOn

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.

SettingWhat it isStarts 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 seasonWhole number (3 to 180)30
Number of the current seasonWhole number (1 to 999)1
TiersWhole number (5 to 100)30
Season XP for each tierWhole 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 claimedWhole number (0 to 100,000)50
XP for each minute playedWhole number (0 to 10,000)2
Most XP from playtime per dayWhole number (0 to 1,000,000)240
XP for the first visit of the dayWhole number (0 to 100,000)100
XP for each winWhole 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 endsOn / offOn
Show a toast on every new tierOn / offOn

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.

SettingWhat it isStarts 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 panelOn / offOn
More people who may use the panelA 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 matchesOn / offOn
Print the whole checklist in live servers tooOn / 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.

SettingWhat it isStarts as
Power the crates / eggs in my designOn / 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 row2 rows
What the extra eggs dropA list: Egg id, Item id (goes into the player's items), Name on screen (optional), Rarity, Weight (bigger = more likely), Icon per row9 rows
Pity: guaranteed drop after this many opens without one (0 = off)Whole number (0 to 10,000)50
Pity guarantees at leastOne of: Common, Uncommon, Rare, Epic, Legendary, Mythic, ...Legendary
2x Luck boosts drops from this rarity upOne 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

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.

SettingWhat it isStarts as
Game passesA list: Game pass id, Perk, Currency it multiplies, Multiplier, Item it gives, Chat tag, Chat tag colour, Extra slots per rowone 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.

SettingWhat it isStarts as
Gifts for saleA 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 row2 rows
Players may also "gift" themselvesOn / offOff
Gift anything from the shop: pick a player, then every Robux product bought goes to themOn / 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 screenOn / offOn
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 Premium players earn more and get a daily gift, and everyone else sees why they should upgrade.

  • Roblox Premium players earn a bonus on your currency
  • A free daily gift for Premium players, every UTC day
  • A "Get Premium" button opens Roblox's own Premium window
  • Upgrading mid-game turns the perks on at once
  • More Premium playtime means more Premium Payouts for you

Needs: Data Saving. Has a part on the player's device. Settings in GameData: GameData.Features.premium.

SettingWhat it isStarts as
CurrencyOne of your currencysyour first currency
Premium players earn (x)Number (1 to 5). 1.2 = 20% more of this currency.1.2
Daily gift for Premium playersWhole number (0 to 1,000,000,000)100
Design button that opens Roblox PremiumText (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

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.

SettingWhat it isStarts as
Robux productsA 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 messageText (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.

SettingWhat it isStarts as
Items that can show upA 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 row8 rows
Items in the shop each dayWhole 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 dayWhole number (1 to 50)3
Show a Daily Shop button on screenOn / offOn
Or open it from this design element (element id)Text (up to 100 characters)empty

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.

SettingWhat it isStarts as
Hours between free spinsNumber (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 row8 rows
2x Luck boosts prizes from this rarity upOne 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+ winsOn / offOn

Starter Pack#

A one-time, limited-time bundle for new players that pops up on join and is never sold twice.

  • New players get a big bundle offer with a countdown from their first visit
  • It pops up by itself on join, in your design's Offer screen (or as a toast with a buy button)
  • 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.

SettingWhat it isStarts 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 insideA list: Type, Currency, Item id (items) / boost id (boosts), Amount (minutes for boosts), Name on the offer (optional) per row2 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 lastsOn / 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 pops upNumber (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.

SettingWhat it isStarts as
BoostsA 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 row3 rows
Boost timers count downOne 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 toWhole 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 endsOn / offOn

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.

SettingWhat it isStarts as
VIP game passA Roblox pass id. Make a game pass on the Creator Dashboard and paste its id here.not set
Currency multiplier for VIPsNumber (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: currencyOne of your currencysyour 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 minutesWhole 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 partOn / offOn

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.

SettingWhat it isStarts as
AchievementsA 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
RewardsOne 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 idnot set
Show a toast when an achievement unlocksOn / offOn

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.

SettingWhat it isStarts as
Who finds whatOne of: Every player finds every collectible (saved per player), The server shares them: once found, gone for everyoneEvery player finds every collectible (saved per player)
Rewards payOne of your currencysyour first currency
Reward for each findWhole number (0 to 10,000,000)5
Reward for finding everythingWhole number (0 to 100,000,000)100
Objective text when everything is foundText (up to 60 characters)"You found them all!"
Placeholder collectibles when the map has noneWhole number (0 to 30)6
Evidence board (ghost hunt)One of: When the design has ghost-type buttons (GuessGhost), On, OffWhen 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 typesA 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 ghostWhole number (0 to 10,000,000)150
A ghost hunt ends after (s)Number (30 to 7,200)600
Carrying in two handsOne of: When the design has Left Hand / Right Hand buttons, On, OffWhen the design has Left Hand / Right Hand buttons
Make placeholders when the map has noneOn / offOn

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.

SettingWhat it isStarts as
Milestone rewardsA 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 collectedOne 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' isOne 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 multipliesOne of your currencysyour 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 setOn / offOn
Set reward currencyOne of your currencysyour first currency
Set reward amountWhole 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 foundOn / offOn

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.

SettingWhat it isStarts as
CosmeticsA 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 startersOn / 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 widthNumber (0.1 to 5)1
Aura particles per second (keep it low for phones)Whole number (1 to 100)12
Aura particle sizeNumber (0.05 to 5)0.5
Titles are seen from (studs)Whole number (10 to 500)60
The title also shows as a chat tagOn / offOn
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.

SettingWhat it isStarts as
RecipesA 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) per row4 rows
Recipes for everything on the design's crafting screenOn / off. Items on the crafting screen that no recipe above makes become recipes that cost their shown price.On
How close to a station (studs)Number (2 to 100)12
Crafts that can wait in lineWhole number (1 to 50)5
Most items in one craftWhole 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)
  • A toast and the Daily screen pop up as soon as today's reward is ready
  • 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.

SettingWhat it isStarts 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 dayA 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 dayOne of: Start again at day 1, Keep giving the last day's rewardStart again at day 1
Show a toast when it's readyOn / offOn
Open the Daily screen when a reward is readyOn / off. Once per session, a few seconds after joining. Without a Daily screen a reward popup shows instead.On

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.

SettingWhat it isStarts as
Items a player can equip at onceWhole 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 addsWhole number (1 to 20)1
Most equip slots a player can haveWhole number (1 to 100)10
What players can do with items they don't wantOne 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 priceOne of your currencysyour first currency
Ask 'are you sure?' before selling this rarity or rarerOne of: Common, Uncommon, Rare, Epic, Legendary, Mythic, ...Epic
Sort the inventory byOne of: Rarity (rarest first), Name (A to Z), How many they haveRarity (rarest first)
Show rarity filter chips over the gridOn / 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 backpackOn / off. Put your Tools in ServerStorage > BloxGame > Tools, named like the item.On
Use a simple placeholder when a Tool model is missingOn / offOn
Items bought with in-game currency go into the inventoryOn / 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.

SettingWhat it isStarts as
XP to reach level 2Whole 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 levelWhole number (2 to 10,000)100
Earning this currency gives XPOne of your currencysyour 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 currencyOne of your currencysyour 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 rewardsA list: At level, Reward type, Currency, Amount, Item id (item rewards only) per row4 rows
Show Level on the player listOn / offOn
Show "Lv. 12" above each player's headOn / offOn
Show a toast on level-upOn / offOn

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.

SettingWhat it isStarts as
Loadout slotsA 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 spawnOn / off. Tools come from ServerStorage > BloxGame > Tools, named like the item.On
Fill empty slots with the best item the player ownsOn / offOn
Q (or the gamepad's Y) swaps back to the last weaponOn / offOn
Use a simple placeholder when a Tool model is missingOn / offOn

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.

SettingWhat it isStarts as
Most hours counted while awayNumber (1 to 72)8
Minutes away before anything is earnedWhole number (1 to 240)5
What players earn per second while awayOne of: Their income (Upgrades / BloxGame_IncomePerSecond), else the fixed rate, Only their income per second, Always the fixed rate belowTheir 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 inOne of your currencysyour 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 earningsOn / offOff
Without a popup in the design, pay it on join with a messageOn / offOn

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.

SettingWhat it isStarts as
Pets a player can equip at onceWhole number (1 to 30)3
Game passes that add pet slotsA 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 rarityA list: Rarity, Multiplier (x) per row. A pet with `multiplier = 4` in GameData.Items uses that instead.7 rows
How pets' boosts add upOne of: Added: x1.5 and x2 make x2.5, Multiplied: x1.5 and x2 make x3Added: x1.5 and x2 make x2.5
Pets boost this currencyOne of your currencysyour first currency
Boost every currency insteadOn / offOff
Craft Golden: turn identical pets into a golden oneOn / offOn
Pets needed for a golden oneWhole number (2 to 20)5
A golden pet's boost is its normal boost timesNumber (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 missingOn / 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.

SettingWhat it isStarts as
GiftsA 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 overOne 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 readyOn / offOn
Skip All: developer productA 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

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.

SettingWhat it isStarts as
Most quests shown at onceWhole 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 tooOn / offOn
Keep claimed quests on the listOn / offOff
Tracker title (empty = the design's)Text (up to 28 characters)empty
Hide the tracker when there's nothing to showOn / offOn
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 ownA 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 goalsOne of: Only when there are no quests to show, Always, before the questsOnly 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.

SettingWhat it isStarts as
Daily quests at a timeWhole number (0 to 6)3
Weekly quests at a timeWhole 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 onOne of: Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, ...Monday
Quest poolA 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, 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: currencyOne of your currencysyour first currency
Bonus amount (0 = no bonus)Whole number (0 to 1,000,000,000)500
Show a toast when a quest is doneOn / offOn

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.

SettingWhat it isStarts as
Currency that resets (and pays for it)One of your currencysyour first currency
Cost of the first rebirthWhole number (1 to 1,000,000,000,000,000)10,000
How the cost growsOne of: Straight: first cost x (rebirths + 1), Steep: multiplied by the growth below each timeStraight: first cost x (rebirths + 1)
Steep curve: cost multiplier per rebirthNumber (1.01 to 10)1.5
Multiplier added per rebirthNumber (0.01 to 100). 0.5 = x1.5 after one rebirth, x2 after two, x3 after four.0.5
The multiplier boostsOne of your currencysyour first currency
Boost every currency insteadOn / offOff
Pay rebirth tokensOn / offOff
Token currencyOne of your currencysyour first currency
Tokens per rebirthWhole 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 listOn / offOn
Ask before rebirthing from a button outside the Rebirth screenOn / offOn
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 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.

SettingWhat it isStarts as
Stats to recordA 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 showsOn / 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 reportOn / 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

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
  • 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.

SettingWhat it isStarts as
UpgradesA 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 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 upgradesOn / offOn
Passive income paysOne of your currencysyour first currency
Income per second before any upgradeNumber (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 incomeOn / offOn
Earnings multiplier upgrades boostOne of your currencysyour first currency
Walk speed before upgradesNumber (1 to 200)16
Jump power before upgradesNumber (1 to 500)50
Capacity before upgradesNumber (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.

SettingWhat it isStarts as
Zones, first to lastA 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 unlockedOn / offOff
Seconds between zone teleportsNumber (0 to 60)3
Show a toast when a new zone unlocksOn / offOn

Social Extras#

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.

SettingWhat it isStarts as
Tag rulesA 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 playerWhole 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 tagOn / offOn

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.

SettingWhat it isStarts as
BoardsA 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 boardWhole 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 onOne of: Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, .... At 00:00 UTC on this day.Monday
Currency boards countOne of: What they have now, Everything they ever earned. Weekly boards always count what was earned this week.What they have now
Show display namesOn / off. Off = show @usernames.On
Build boards on Parts tagged BloxLeaderboardOn / offOn
Announce a new #1 (needs Live Events)On / offOn

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.

SettingWhat it isStarts as
Your groupA Roblox group id. The number in your group's link: roblox.com/communities/<this number>/...not set
CurrencyOne of your currencysyour first currency
One-time reward for joiningWhole 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 rankOn / offOn
Chat tagsA 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.

SettingWhat it isStarts as
Reward currencyOne of your currencysyour first currency
Reward per friend who joinsWhole number (0 to 1,000,000,000)250
Welcome gift for the invited friendWhole 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 countOn / offOn
Rewards per player per dayWhole number (1 to 100)5
Rewards per player, everWhole 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 BoostText (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 inviteText (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 noneOn / offOn
Invite messageText (up to 100 characters)"Come play with me!"

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.

SettingWhat it isStarts 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
ModesA 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 serverText (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 startsNumber (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 againNumber (0 to 120)5
Seconds between two mode clicksNumber (0 to 30)2
Teleport tries before giving upWhole number (1 to 10)3
Friends who join from your invite land in your partyOn / offOn
Party chat (type /p message)On / offOn
The Party window's invite also lists players in this serverOn / offOn

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.

SettingWhat it isStarts as
Players can add currency to a tradeOn / offOn
Tradeable currencyOne of your currencysyour first currency
Most currency in one tradeWhole number (0 to 1,000,000,000,000)1,000,000
Most different items per sideWhole 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 tradeWhole 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 tooOn / offOff
Only items listed in GameData.Items can be tradedOn / 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 historyWhole number (0 to 100)20
Show a "Trade" prompt when you walk up to a playerOn / offOn

Live ops Extras#

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.

SettingWhat it isStarts as
EventsA 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 bannerOn / offOn
Count down this many hours beforeNumber (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 endsOn / offOn
Announce rare moments in every serverOn / 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.

SettingWhat it isStarts as
CodesA 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 minuteWhole 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.

SettingWhat it isStarts 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 adminWhole number (1 to 255). Group ranks go from 1 to 255 (255 = the group owner).254
Command prefixOne of: :give, ;give, !give:give
Key that opens the panelOne of: F2, F3, F4, ' (quote), ; (semicolon), No keyF2
Show a small ADMIN button to admins (for phones)On / offOn
Hide commands from chatOn / off. Other players don't see ':kick bob' in the chat (TextChatService).On
Everyone is an admin in Studio testsOn / off. Only in Studio, so you can try the panel right away. Live servers never do this.On
Biggest amount one :give can addNumber (1 to 1,000,000,000,000,000)1,000,000,000
Biggest :boost multiplierNumber (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.

SettingWhat it isStarts as
When movement looks hackedOne of: Only log it and alert admins, Pull the player back, Kick the playerOnly 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 actingWhole number (1 to 20). Higher = more forgiving of lag.3
Remote spam: messages per second per remoteWhole number (10 to 1,000)60
When a player spams a remoteOne of: Only log it and alert admins, Kick the playerOnly log it and alert admins
Remotes to ignoreA list: Remote name per row. For remotes your game fires very often on purpose (like mouse aim every frame).empty
Alert on impossible currency jumpsOn / offOn
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 balanceNumber (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.

SettingWhat it isStarts as
Default ban lengthOne 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 inOn / off. Off (recommended): Roblox also blocks the alt accounts it links to the banned player.Off
Message a banned player seesText (up to 400 characters). Used when a ban has no reason of its own."You are banned from this game."
Use Roblox's ban APIOn / 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.

SettingWhat it isStarts as
Snapshot players when they joinOn / offOn
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 playerWhole number (1 to 20)5
Your own DataStores to erase tooA 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 tooA list: OrderedDataStore name per rowempty
Message when a player's data is being erasedText (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.

SettingWhat it isStarts 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 screensA 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 eventsA 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 loggedOn / offOn

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.

SettingWhat it isStarts as
Message on the updating screenText (up to 120 characters)"The game is updating. You'll be back in a few seconds!"
Message when players are backText (up to 120 characters)"The game was updated. Welcome back!"
Seconds to wait before sending players backWhole number (3 to 25). Gives Roblox time to start servers with the new version.8
Players in private (VIP) serversOne of: Kick with a friendly message (they rejoin their private server), Move them together to a public serverKick with a friendly message (they rejoin their private server)
Add the :restartserver admin commandOn / off. Needs the Admin Panel. Moves everyone in one server to a fresh one.On

© 2026 BloxMaps · bloxmaps.com · Terms · Privacy · Contact

BloxMaps is not affiliated with, endorsed by or sponsored by Roblox Corporation. Roblox and Roblox Studio are trademarks of Roblox Corporation.