Part 01 · Setup

Set up, in this order

Studio scope works immediately and needs none of this. Everything experience-scope stays empty until these steps are done.

The chain
Studio profile → register an experience → mint an ingest key → install the SDK → connect an Open Cloud key. The last one is optional and unlocks a different set of pages, so it can wait.
Where the setup pages actually are

There is no Settings row in the sidebar, by design. Reach it from your avatar in the top right, or from any "Complete setup" prompt on a page. Everything below lives under Settings.

Part 01 · Setup

1. Your studio profile

Settings, then Studio profile. Two minutes, and it only affects how your studio is labelled.

  1. Set your studio name. This is what appears at the top of the sidebar and on reports you share.
  2. Optionally add your public domain and location, and upload a logo.
Nothing downstream depends on this
Unlike the Brand Workspace, where the profile drives matching, your Studio profile is identity only. A thin entry costs you nothing.
Part 01 · Setup

2. Register each experience

Settings, then Experiences. The page calls itself Key Setup.

  1. Pick the platform: Roblox, Steam, Fortnite or Unity.
  2. Enter the id for that platform. On Roblox that is your place id.
  3. Add a display name so you can tell your experiences apart later.
  4. Click Register experience.
Registering does not create a key
These are two separate acts. Registering tells us the experience exists; the next step mints the credential that lets it send us anything. A registered experience with no key sends nothing and looks exactly like a broken integration.
Part 01 · Setup

3. Mint an ingest key

  1. Expand the experience you just registered.
  2. Click + Add environment and name it: prod, staging, qa.
  3. The key appears in a one-time reveal. Copy it now.
Three things worth knowing before you click
The key is shown once and is never retrievable. Double-clicking creates two live keys, not one, so click once and wait. And Revoke is an outage button: every player's client starts failing on its next event, immediately, with no undo. To swap a key safely use Rotate instead, which keeps the old one working for exactly seven days while you deploy.
Part 01 · Setup

4. Get the SDK into your game

Two routes. The plugin is faster; the manual install is what you want in a real build pipeline.

The Roblox Studio plugin
  1. Install ROLearn from the Creator Store and open its panel.
  2. Click Connect. It shows a code; enter that code at rolearn.dev/link in your browser and approve.
  3. Open the place you want to instrument and click Activate. The plugin writes the scripts and injects the key for you.
  4. Publish.
By hand

Follow the engine guide for Roblox, Unity or Steamworks in the SDK documentation. That is where the code lives; this guide deliberately does not duplicate it.

Part 01 · Setup

Four ways the plugin quietly fails

All four report success, or nothing at all, and produce no telemetry. They are worth reading before you debug your own code.

  • Two Studio settings must be on. Allow HTTP Requests and Enable Studio Access to API Services, both under Game Settings → Security. They are set per place and reset for every new place you create. The plugin checks and warns; a manual install has no such guard.
  • The pairing code lasts ten minutes. Past that, approving it fails and you restart from Connect.
  • An unpublished place cannot be activated. Roblox reports its id as zero until you publish it once.
  • The plugin link belongs to your Studio install, not your workspace. If you linked with one account and later work in another studio's workspace, keys provision into the first account's team and the second shows "not installed" forever. The panel prints which account and team you are connected as, precisely so you can catch this.
Part 01 · Setup

5. Connect an Open Cloud key

Optional, and it unlocks a different half of the product: what Roblox itself knows, plus the ability to act. Settings, then Integrations.

  1. Create a key in the Roblox Creator Hub with the scopes you want to grant.
  2. Paste it once, and tick what it is for: Reading data, Taking actions, Player data.
  3. Press Check what this key can do. This is the step people skip.
The IP allowlist is the one that hurts
If you restrict the key by IP in Roblox, you must allow both of our addresses. We read from one machine when you load a page and from another on the nightly sync, so a key allowlisted to only one works everywhere you look and fails everywhere you do not. Ask us for the current pair and paste both.
Part 01 · Setup

Reading the capability matrix

After you probe a key, every module shows a state. They mean different things and only one is your problem.

StateWhat it meansWhat to do
Not checked yetWe have not asked Roblox about this yet. Nothing is wrong.Press "Check what this key can do".
Not grantedRoblox refused. The key does not carry that scope.Re-tick the scope in the Creator Hub.
Key not recognisedRoblox does not accept the secret at all. Usually expired.Paste a new key.
VerifiedWe used it successfully.Nothing.
Reading and acting are separate slots on purpose
A write never falls back to your reading key, even if that key would technically allow it. An empty actions slot gives you a clear message pointing here, never a silent failure. Removing a key removes all of its purposes at once.
Part 02 · Studio scope

Command Center

Flip the scope picker at the top of the sidebar to your studio name. The nav changes completely.

  • Overview is your portfolio: totals with deltas, a health card per experience, top movers, and what needs attention. The nav calls it Overview and the page calls itself Dashboard.
  • Metrics is the same data as trend lines. Range 7, 30 or 90 days; switch the series between active players and revenue.
  • Reports is every report your studio has generated, filterable by drafts, shared and archived.
A percentage you cannot trust is not shown
Below roughly five average daily players, or a hundred Robux, the change figure is withheld rather than calculated. Without that floor a game going from one player to none reports minus one hundred percent and sorts to the top of Needs Attention as your most urgent problem.
Part 02 · Studio scope

Market Pulse, Opportunity Map, Breakout Radar

Market Pulse
Toggle Last 24 hours or Last 7 days.

A briefing: a headline, at most three opportunities, watchlist movement, and a benchmark panel. Three is a ceiling, not a quota, so an empty slot means nothing qualified. If a whole block says unavailable, one of our jobs stalled rather than the market going quiet.

Opportunity Map
Window 30, 60 or 90 days; axis by genre, theme or cluster.

Demand against saturation, coloured into four zones from Open Opportunity to Crowded Hype. Markets too thin to read are not plotted at all, and the page tells you how many were left out, so "my genre is missing" is usually that.

Breakout Radar
Window 6h, 24h, 72h or 7d. Four tabs.

Games growing faster than the platform median for that same window, which is why a busy Saturday does not light up every row. Add anything interesting to your watchlist and Market Pulse will track it.

Part 02 · Studio scope

Benchmark Landscape, Copy Pressure, Risk Radar

Benchmark Landscape
Build a cohort, then set targets against it.

Pick a genre and a player-count band, save it, and get percentile distributions plus a launch curve. Below fifteen comparables the distribution is withheld entirely, not shown with a warning.

Copy Pressure
Window 30, 90 or 180 days.

How much a market is converging, broken out by dimension because the remedy differs: a title collision is a rename, a core-loop collision is a redesign. You can also describe your own concept and score it against a cluster.

Risk Radar
Pick a target genre and your category.

Five signals against the market median: competition, crowding, momentum, shutdown and rivalry. Deliberately no single score, because one number would hide which of five very different problems is firing.

Part 02 · Studio scope

Four things to know before you quote these

  • Higher means worse on Risk Radar and better on the Concept Validator. They are the two pages most often open together and they run opposite conventions. Check which one you are reading before you screenshot it.
  • "Day-30 stability" is not retention. It is what share of peak concurrent players a game holds. Roblox publishes no retention figure for a game you do not own, and we refuse to estimate one.
  • Copy Pressure measures overlap, not plagiarism. Nothing here says anyone copied anyone. Some dimensions come back unmeasured and say so rather than scoring zero.
  • A thin sample refuses to score. Across all six tools, too little data produces a stated reason instead of a number nobody should act on. The weights and the formula behind every score are printed on the page, so you can reconstruct any figure you doubt.
Part 02 · Studio scope

Concept Validator

  1. Write a brief: the genre, reference games, and your production timeline.
  2. Run the validation. Nine axes are scored and a verdict is named.
  3. Read the counterfactual panel: it tells you which axis to move, and how far, to change the verdict.
  4. Save it. Every run is kept, so you can re-validate after changing the concept and compare.
The verdict is a rule, not an average
Build requires every measured axis to clear its own floor, so a strong average cannot carry a fatal weakness. Two of the nine axes are about you rather than the market: portfolio fit reads your own linked experiences, and production fit scores your stated timeline against how long comparable games actually took.
Part 03 · Your players

Overview and Metrics

Flip the scope picker to an experience. These two are where you start.

  • Overview is the headline set for one game, with a live player count and today's figures. Today's numbers refresh hourly; everything longer comes from the nightly run.
  • Metrics is the time series underneath: active players, sessions and playtime over the window you choose.
Your own playtests are excluded on purpose
Events from a Roblox Studio playtest are tagged as such. They appear on Live events so you can verify an integration, and they are kept out of active players and retention so your testing never inflates the numbers you report.
Part 03 · Your players

Retention

D1, D7 and D30 as headlines, plus a daily cohort matrix underneath.

Read the matrix rather than the headline whenever you have shipped something. A single D1 number averages across every cohort in the window, so a good update and a bad one three days apart cancel each other out. The matrix shows you the day the line moved.

This is your data, not the market's
Retention here is measured from your own SDK events. It is one of the figures Roblox does not publish for anyone, which is why Benchmark Landscape cannot show you a competitor's version of it.
Part 03 · Your players

Monetization and Products

Two money pages, two different sources. This confuses people, and the difference is the useful part.

MonetizationProducts
SourceWhat your game told us, via the SDKWhat Roblox says, via Open Cloud
GrainPer player, in real timeAggregate, a day or two behind
Blind toAny purchase path that does not call the SDKWho bought, and why
The gap between them is a signal, not an error
Revenue Roblox counted that your SDK never reported means a purchase path is not instrumented. Products itemises anything it cannot attribute to one of your listed products rather than dropping it, so the total reconciles against your Creator Hub.
Part 03 · Your players

Editing your catalog

Products is titled Monetization Control Center on screen. Three tabs: Catalog, Performance and Subscriptions, the last two chipped Optional because the catalog works without either.

  1. Filter to Developer products or Passes.
  2. Open a product to edit its name, description, price, or whether it is for sale.
  3. A price change asks for an explicit confirmation before it is sent.
Price changes are owner and admin only
Unlike ads and thumbnails, which editors can operate, changing what players pay is restricted a level higher. Also note that only cryptographically verified subscription deliveries are counted, and anything quarantined is reported as a count so you know a number is being withheld rather than that nobody subscribed.
Part 03 · Your players

Audience

Who plays, where they are, and when they are online. The old Geography page was folded in here; if a walkthrough still says Geography, this is it.

  • Countries with players, sessions and revenue. Click a row to drill in.
  • The hour-of-day heatmap, and the best windows it derives, for scheduling an event or a drop.
  • Demographics, switchable between local time and UTC.
The heatmap is one of two rollup-only surfaces
It is built entirely from the nightly job with no live fallback, deliberately, because computing it on demand is the shape of query that used to make this page take half a minute. If the nightly has not run for your experience it says so and shows nothing, rather than showing you an empty grid that looks like nobody plays.
Part 03 · Your players

Player data

Three ways to answer a player-level question, listed cheapest first. The page leads with the one that reads no profiles at all.

ModeWhat it readsNeeds
Event DataThe analytics we already hold. No profile access, no new risk.Nothing extra
Aggregate StoreOne small purpose-built store, read by name. Exact.A DataStore key
Profile ScanReal player profiles, at scale.Four separate approvals
A profile scan spends the same budget your game does
DataStore request quota is shared at the experience level with your own profile saves, so a large scan can slow your live game down. This is the only feature in ROLearn that can. It is off by default, needs an approved field mapping, checks your remaining quota before it starts, and asks you to type the store name back. No result here ever returns a raw profile, a single player's value, or a group smaller than a hundred players.
Part 03 · Your players

Report

A shareable summary for the people who will never open the dashboard.

  1. Generate a report for the period you want.
  2. It appears in the library and fills in as it composes. The page updates itself; there is nothing to refresh.
  3. Download it, or share it with named recipients.

The studio-scope Reports page is the same library with no experience filter, so a report generated here shows up there too.

Part 04 · Growth

Advertising

Needs an Open Cloud key granted for actions. Titled Advertising Command Center on screen.

  1. Pick the experience, and a window from 1 to 90 days.
  2. Create campaign: name, billing account, up to 25 creative assets, budget, start time and duration.
  3. Set the time zone explicitly. Roblox schedules against your billing account's zone, not yours.
  4. Pause, resume, rename or change budget from the campaign row. One field per change.
Cancelling asks you to type the name back, because Roblox has no undo
There is no un-cancel and no support path to reverse it. Separately: the campaign list you see comes from our cache so opening the page costs none of your Roblox rate budget, and the page tells you how old that cache is. Someone changing a campaign in the Creator Hub will not be reflected until we next sync.
Part 04 · Growth

Thumbnails

Needs an actions key. Titled Thumbnail Experimentation Lab on screen.

  1. Upload variants, up to 8 MB each.
  2. Set the split explicitly, or promote one variant to a target share.
  3. Read the verdict once there is enough traffic to call it.
It will refuse to crown a winner that lies
When a variant converts better but its players leave sooner, no winner is declared and promoting it is blocked until you explicitly acknowledge the warning. Promoting a thumbnail that wins the click and loses the session is the exact mistake this page exists to prevent. Note also that the impression numbers come from Roblox's analytics rather than your SDK, so a gap there is a key scope question, not an integration one.
Part 04 · Development

Live events

The raw stream, within seconds. Titled Live event log on screen.

This is the first place to look when you have just installed the SDK and want to know whether anything is arriving, and the first place to look when a downstream number seems wrong. If events are here but a chart is empty, the problem is downstream of ingest and usually a timing one: most pages are built from the nightly run.

When numbers actually move
Live events: seconds. The live player tile: within the hour. Today's headline figures: refreshed hourly. Everything else: the nightly run at 09:00 UTC. So an experience connected on Monday afternoon has a full set of pages on Tuesday morning.
Part 04 · Development

Errors

Titled Rejected events on screen. If your data is missing, read this page before you read your own code.

Events we could not accept are held here with a reason, never discarded. The most common by far is game not linked: your SDK is sending correctly, to an id you never registered. Those requests return success to your game, so nothing in your logs looks wrong.

  1. Read the grouped reason cards. Each names the problem in plain English.
  2. Fix the cause first. Retrying an unlinked game before you link it just fails again.
  3. Then Retry a row, or retry the batch.
A retry is a real ingest and spends quota
Replayed events go back through the same validation as fresh ones, so they benefit from anything we have fixed since, and they count against your monthly allowance. Your usage and plan are shown on the Usage page, linked from Settings and from any quota warning. Duplicates are safe: replaying something that did land is ignored, not double-counted.
Part 04 · Development

Performance and Releases

Performance
Titled Performance & Stability.

Frame rate and crash behaviour on your players' machines. This is the other rollup-only page, so it blanks rather than showing zeros if the nightly has not run. There is no p95 latency because Roblox does not expose one; you get the frame rate of the worst-off tenth of sessions.

Releases
Titled Release & Technical Operations.

Your version history, each with a verdict measured against the baselines from before it shipped. Baselines come from four sources and the page names which one is missing.

Three things Releases deliberately will not do
It does not publish your game, it does not roll back, and it does not run arbitrary code. Roblox exposes version history but no supported revert, so during an incident you get guidance naming your last healthy build instead of a button that cannot work. Reading a server's logs counts as a write and is recorded.
Part 05 · LiveOps

Live config, Commands, Command Center

The first two are what your servers poll. The third is where a person decides something.

  1. Pick the experience and a window from 1 to 90 days.
  2. Schedule events on the timeline, and edit or delete them.
  3. Publish a message to your running servers, choosing the kind your game listens for.
  4. Restart servers, which needs an admin and a typed confirmation.
Check that a server is listening before you publish
Roblox returns success for a publish that reaches nothing at all. The page shows whether any of your servers has recently acknowledged a ROLearn message; without that, publishing is a no-op that looks like it worked. Restart is different in kind: it disconnects every player, some mid-purchase, with no undo, so the forecast of how many people that affects is fetched and shown before the button is offered.
Part 06 · Settings

Workspace Settings

Reached from your avatar in the top right. There is no Settings row in the sidebar.

TabWhat is there
Studio profileYour studio's name, domain, location and logo.
My accountYour personal login, password and connected accounts.
ExperiencesRegister experiences, mint and rotate keys, erase a player on request.
Team & rolesInvite people, change roles, transfer ownership.
NotificationsWhat currently alerts you. Read-only for now, and it says so.
IntegrationsOpen Cloud keys, the action ledger, agent access, and raw event export.
Part 06 · Settings

The Integrations tab

Where every "Connect a key" link in the product lands, and the one tab worth knowing in detail.

Open Cloud keys
Your three slots, and what each one can do.

Connect, probe and revoke. The capability matrix here is the record of what Roblox actually let us do with your key.

The action ledger
What has this key done?

Every write to your Roblox account is recorded before it is sent, not after it succeeds, so the ledger is complete even when a call failed. Filter it by state and by module.

Agent access
Keys any AI agent holds on this workspace.

Lists them and revokes them. It deliberately cannot mint one, because the place to grant an agent access should be a deliberate act elsewhere.

Questions?

Your ROLearn contact is the fastest route.
We are happy to walk your team through any of this live.

New to the workspace? Start with the Welcome Kit. Wiring up the SDK? That is the SDK documentation.

1 / 30
Use ← → to move