Spatial
Deaths, death clusters and quits drawn on the 3D map of the exact build players saw. Compare builds side by side instead of mixing them.
Analytics for Roblox games · by Novra Studios
Rostructure goes past Roblox's built-in funnel and economy tracking. It puts every death and quit on your map, measures each funnel step and how long it takes, and shows whether new players come back, and why.
What it does
Install one server module and Rostructure turns the events your game sends into these views. Show only the tabs your game needs.
Deaths, death clusters and quits drawn on the 3D map of the exact build players saw. Compare builds side by side instead of mixing them.
Ordered, session-scoped funnels with time per step and device and date filters. Log steps Roblox-style, start them opt-in, or build them in the dashboard from events you already send.
Day 1, 7 and N return for new players, next to what their first session looked like: length, furthest wave, losses, deaths, device and last stage.
The waves players lose at and the waves they quit after, per run, with rebirth filters. Built from stage and run events your game already sends.
Set a target difficulty band and see which stages or abilities fall outside it, so tuning starts from numbers instead of guesses.
Cash, rebirths and playtime across your player base from light progress snapshots, plus opt-in revenue you can delete at any time.
Who is online right now, peak concurrent players, and today compared with earlier days, minute by minute.
One pseudonymous player at a time: sessions, playtime and what they did in each session, without usernames or Roblox UserIds.
Beyond built-in analytics
Keep Roblox's analytics. Rostructure answers the questions it leaves open, and its funnel call works just like LogFunnelStepEvent.
Every death and quit has a position on your map, tied to the build it happened in.
Build a funnel from events you already send and see it over past data. No new release needed.
Opt-in funnels only count the players you start, so people who finished before you added tracking aren't drop-offs.
See how long each step takes, not only how many players get through it.
Returning and lost new players side by side, broken down by what happened in their first session.
Waves, stages, runs and rebirths are first-class, so wave games and obbies read like wave games and obbies.
The SDK
A server ModuleScript for Luau. It never slows your game down for the sake of a chart.
local analytics = RoStructure.init({
projectId = "proj_…",
ingestionKey = secrets.ingestionKey,
buildId = "v" .. game.PlaceVersion,
})
analytics:logFunnelStep(player, "tutorial", 1, "Joined")
analytics:setStage(player, "wave_" .. wave)
analytics:track(player, "player_progress", {
metadata = { cash = 1500, rebirths = 2 },
})Setup
Get RoStructure from the Creator Store, or download the .rbxmx and drop it into Studio.
Create a project, paste its key into a server-only ModuleScript, and call init.
Joins, deaths and quits are tracked for you. Add stages, funnels and progress when you need them.
Add the module, play one session, and your first joins, deaths and quits are already in.