Skip to Content

Live Config

Live Config lets operators publish structured configuration for Roblox games without shipping a new Roblox build.

What Live Config manages

  • Studio and Production environments
  • Profiles
  • Draft values
  • Published versions
  • Public and private visibility
  • Import/export
  • Runtime preview
  • Environment comparison
  • History and rollback

Main workflow

  1. Open a game.
  2. Enable Live Config.
  3. Open Configs.
  4. Select the environment: Studio or Production.
  5. Select or create a profile.
  6. Edit config in flow, tree, or raw JSON mode.
  7. Mark sensitive paths private.
  8. Preview runtime output.
  9. Publish.

Example config

{ "event": { "enabled": true, "name": "Lucky Weekend", "startsAt": "2026-05-08T18:00:00.000Z", "endsAt": "2026-05-10T22:00:00.000Z" }, "economy": { "coinMultiplier": 2, "rareDropBoost": 1.25 }, "ui": { "bannerText": "Lucky Weekend is live!" } }

Editor modes

ModeBest for
FlowVisual editing and inspecting variable relationships
TreeStructured editing with individual paths
Raw JSONFast edits, imports, and engineer review

Public vs private example

Public:

{ "event": { "enabled": true, "name": "Lucky Weekend" } }

Private:

{ "economy": { "serverRewardCap": 5000, "adminDropRate": 0.02 } }

Publishing

Publishing creates an active runtime version. Runtime endpoints serve only published versions, not drafts.

Before publishing:

  1. Review the diff.
  2. Preview the runtime payload.
  3. Confirm the environment.
  4. Confirm the profile.
  5. Publish all changes or selected paths.

Rollback

Use rollback when a published version causes a production issue.

  1. Open history.
  2. Select the last known good publish.
  3. Review the diff.
  4. Roll back the profile.
  5. Confirm Roblox servers receive the expected runtime payload.

Roblox server example

local HttpService = game:GetService("HttpService") local url = "https://api-rocontrol.duckdns.org/runtime/projects/PROJECT_ID/config?environment=production&visibility=client" local response = HttpService:GetAsync(url) local payload = HttpService:JSONDecode(response) local Config = payload.config if Config.event and Config.event.enabled then print("Event is live:", Config.event.name) end