Simulator & tycoon kit

On this page

Zone Progress: zones, unlocks and the zone strip

Zones in a row, like a race clicker: Common, Rare, Epic, Legend, Mythic. Players unlock them in order, the HUD's zone strip shows where they are, and tapping a zone teleports them there. Its id in GameData is zone_progress.

Turn it on#

  1. On the website, switch on Zone Progress in your design's Extras panel (Data Saving comes on too), then export and install. If your design has a zone strip, the zone list starts with its names and colours.
  2. In Studio, put an anchored part where each zone starts and name it exactly like the zone: a part called Rare for the Rare zone. Teleports land on it, and the strip uses it to know which zone a player is in.
  3. Open ServerScriptService > BloxGame > GameData and find GameData.Features.zone_progress. Check the zone list (below).
  4. Press Play. Earn enough to open the next zone, or tap a tile on the strip.

The zone list#

The zones go in zones, first to last, one { } per zone:

GameData.Features.zone_progress
zones = {
	{ name = "Common", color = "#B0B0B0", unlock = "free",
	  stat = "", amount = 0, currency = "coins", spawn = "" },
	{ name = "Rare", color = "#3FA7FF", unlock = "reach",
	  stat = "", amount = 1000, currency = "coins", spawn = "" },
	{ name = "Epic", color = "#A64DFF", unlock = "buy",
	  stat = "", amount = 25000, currency = "coins", spawn = "" },
	{ name = "Legend", color = "#FFB319", unlock = "reach",
	  stat = "rebirths", amount = 3, currency = "coins", spawn = "LegendStart" },
},
FieldWhat it means
nameThe zone's name, used in toasts ("New zone unlocked: Rare!").
colorIts colour, as "#RRGGBB".
unlock"free": open from the start (the first zone always is). "reach": opens by itself once stat reaches amount. "buy": the player taps its tile and pays amount of currency.
statWhat a "reach" zone counts: a currency id ("coins"), a leaderstat, a player attribute, or "rebirths", "level", "wins", "playtime". Empty = the currency below.
amountThe amount to reach, or the price.
currencyThe price currency: a currency id from GameData.Currencies.
spawnThe name of the part in Workspace where the zone starts. Empty = a part named like the zone.
  • Zones open in order: a zone never opens before the ones before it.
  • Once open, a zone stays open, even if the player spends the cash later. It's saved.
  • "Reach" zones are checked every second, and right after a rebirth, a level up or a win.

Other settings#

SettingWhat it meansStarts as
stripElementThe id of the HUD element that shows the zones."ZoneStrip"
spawnAtBesttrue: players respawn in the furthest zone they unlocked.false
cooldownSecondsSeconds between two zone teleports.3
announceShow a toast when a new zone unlocks.true

The zone strip#

  • The strip is the design element ZoneStrip, with one tile per zone (Zone1, Zone2...). The player's avatar head sits on the zone they're in, and locked zones get a lock.
  • Tapping a tile teleports to that zone if it's open, or buys it if it's the next "buy" zone. Any design button with the id Zone3 does the same for zone 3.
  • The zone a player is in is the furthest zone start (spawn part) they've walked past. With no spawn parts, the strip shows the furthest zone they unlocked.
  • The tiles keep your design's names and colours. Renamed a zone in GameData? Rename its tile too, in GameData.UI under Buttons.
  • No strip in your design? Everything else still works.

For your own scripts: the player attributes BloxGame_Zone (the zone they're in), BloxGame_ZoneName and BloxGame_ZoneBest (the furthest unlocked), and the leaderboard stat zone.

Troubleshooting#

  • "That zone isn't ready yet." The zone has no spawn part. Output says zone "Rare" has no spawn part. Add a part named like the zone, or put the part's name in spawn.
  • "Unlock the zones before it first!" Zones open in order. Open the one before it first.
  • A "reach" zone never opens: check that stat is spelled like the currency id, leaderstat or attribute, and that amount isn't too high.
  • "Wait a moment before teleporting again." That's cooldownSeconds.
  • The strip never changes: stripElement must match the strip's id in your design (ZoneStrip).

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