Skip to main content
The RoLearn-Multiplatform SDK lets you ingest your own game’s telemetry — sessions, purchases, performance, crashes, ads, and custom events — into RoLearn, then read it back as analytics, funnels, segments, and A/B experiments. One canonical event schema works across every engine.
The SDK has its own dedicated documentation site with full per-engine guides and API reference. This page is the product-level overview; deep-dive there: SDK docs (or the in-app SDK Learn section).

What it gives you

  • Auto-instrumenting clients for Roblox (Lua), Unity (C#), and Steamworks / Unreal / custom (C++). Sessions, purchases (via MarketplaceService / Unity IAP), performance, and crashes are captured with little or no manual code.
  • Dashboards: DAU/WAU/MAU, playtime, revenue/ARPDAU, geographic breakdown, retention matrix, FPS histograms, and crash signatures.
  • Event Explorer, Funnels, Segments (DSL builder) for ad-hoc analysis.
  • A/B Experiments with deterministic variant assignment and built-in significance testing.
  • Data export of raw events to your own S3 bucket (Scale+).

Getting a key

  1. Go to /sdk/onboarding — link your first game (platform + game id), mint an API key (rk_live_…), and watch for your first event.
  2. Or, on Roblox, install the Studio plugin and click Activate — it mints the key and drops the SDK module in for you.
SDK ingest keys carry the sdk:ingest scope. They are not the same as the read-API keys (read scope) used for the public REST API, and they cannot be used interchangeably.

Sending events

Events POST in batches to /api/sdk/events with your key in X-API-Key:
curl -X POST https://rolearn.dev/api/sdk/events \
  -H "X-API-Key: rk_live_XXXX" \
  -H "Content-Type: application/json" \
  -d '{"events":[{
        "event_id":"<uuid>", "ts":"2026-06-18T10:00:00Z",
        "platform":"roblox", "game_id":"920587237",
        "session_id":"<uuid>", "type":"session_start",
        "payload":{"country":"US","membership":"Premium"}
      }]}'
Server-side guarantees:
  • Idempotency — a duplicate event_id within 24h is silently deduped.
  • Schema validation — each type has a required payload; mismatches are rejected (422).
  • PII guard — payloads containing email / phone / SSN / credit-card-shaped keys or values (at any nesting depth) are rejected (422).
  • Game scope(platform, game_id) must be linked to your team.
  • Quota — monthly event quota is enforced per plan; over-quota returns 429 with Retry-After.
See SDK event types for the full schema per event.

Plans

The SDK is metered separately from your analytics product plan — see Plans & Pricing → Multiplatform SDK plans. Free starts at 10K events/mo and 1 game; A/B testing and data export unlock at Scale.

Supported engines

EngineLanguageInstallAuto-captured
RobloxLua.rbxmx drag-drop or Studio pluginsessions, gamepass/dev-product purchases, performance, crashes, errors
UnityC#UPM git URLsessions, Unity IAP purchases
Steamworks / Unreal / customC++vcpkg + CMakesessions (manual hooks for the rest)
All three clients carry parity for ad impressions, performance, crash/error tracking, and A/B variant fetch (getVariant / GetVariantAsync / get_variant).