Skip to content

Scribe

Persistent, typed, auto-replicated player data for Roblox, built on ProfileStore. You write down the shape of your data once. Scribe saves it, locks it so two servers cannot fight over it, streams a copy to the client, and gives you a typed accessor for every field.

Get started Wally Roblox model Studio plugin GitHub

Where to start

What you get

  • Typed end to end


    A type-solver-generated accessor tree types every read and write, including nested containers, arrays, and Roblox datatype fields, all checked at compile time.

    Declaring your template

  • Replication for free


    Schema-compressed batched diffs stream to clients over a pluggable transport. Read player data on the client with the same accessor API, with no RemoteEvents to write.

    Replication and visibility

  • Serialization built in


    Vector3, CFrame, Color3, and raw buffer fields pack into compact binary while your code keeps the real datatype. A Vector3 is 12 bytes and an axis-aligned CFrame is 13. Containers pack too, and 32 named booleans fold into one field.

    Roblox datatypes

  • Numbers past 2^53


    A big field carries an idle or prestige currency far past the point a Luau number stops being exact, and past 1.8e308 where it stops existing. It ranks on a leaderboard exactly, with no separate rank field.

    Big numbers

  • Production persistence


    Migrations, a wipe guard, version history, and GDPR export and erase all sit on ProfileStore session locking, and they all fail closed.

    Offline profiles

  • Monetization and gifting


    Products, gamepasses, gifting, and perks live in the config table. Receipts are idempotent and fail closed, so Robux are never eaten.

    Monetization

  • Testable without a live store


    One Mode option swaps the whole stack onto an in-memory store, so a play-test or a CI run never touches real player data and leaderboards never write a real score.

    Testing and edit mode

  • Observable


    Structured logs with stable codes, a health status machine, per-player save state, and a companion Studio plugin that renders it all live.

    Diagnostics