Skip to main content

Studio

Server-side controller used by the Studio plugin during play tests. The plugin lives in the client DataModel, so it drives recording through a RemoteFunction that only exists in Studio.

Functions​

createRecorder​

Studio.createRecorder(opts: StartOptions) → Recorder.Recorder

Builds a recorder from plugin settings. Shared with the plugin's local backend so edit-mode and play-mode recordings match. watch is a list such as BasePart.Color,Humanoid.Health (see Recorder.parseWatch).

saveBlob​

Studio.saveBlob(
data: buffer,
key: string,
target: Target,
force: boolean
) → SaveResult

Saves a finished recording, refusing to overwrite unless forced.

serve​

Studio.serve() → ()

Creates the RemoteFunction and starts serving. No-op outside Studio.

Show raw api
{
    "functions": [
        {
            "name": "createRecorder",
            "desc": "Builds a recorder from plugin settings. Shared with the plugin's local\nbackend so edit-mode and play-mode recordings match. `watch` is a list\nsuch as `BasePart.Color,Humanoid.Health` (see `Recorder.parseWatch`).",
            "params": [
                {
                    "name": "opts",
                    "desc": "",
                    "lua_type": "StartOptions"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "Recorder.Recorder\r\n"
                }
            ],
            "function_type": "static",
            "source": {
                "line": 63,
                "path": "packages/src/Flashback/Studio.luau"
            }
        },
        {
            "name": "saveBlob",
            "desc": "Saves a finished recording, refusing to overwrite unless forced.",
            "params": [
                {
                    "name": "data",
                    "desc": "",
                    "lua_type": "buffer"
                },
                {
                    "name": "key",
                    "desc": "",
                    "lua_type": "string"
                },
                {
                    "name": "target",
                    "desc": "",
                    "lua_type": "Target"
                },
                {
                    "name": "force",
                    "desc": "",
                    "lua_type": "boolean"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "SaveResult\r\n"
                }
            ],
            "function_type": "static",
            "source": {
                "line": 110,
                "path": "packages/src/Flashback/Studio.luau"
            }
        },
        {
            "name": "serve",
            "desc": "Creates the RemoteFunction and starts serving. No-op outside Studio.",
            "params": [],
            "returns": [],
            "function_type": "static",
            "source": {
                "line": 196,
                "path": "packages/src/Flashback/Studio.luau"
            }
        }
    ],
    "properties": [],
    "types": [],
    "name": "Studio",
    "desc": "Server-side controller used by the Studio plugin during play tests. The\nplugin lives in the client DataModel, so it drives recording through a\nRemoteFunction that only exists in Studio.",
    "source": {
        "line": 8,
        "path": "packages/src/Flashback/Studio.luau"
    }
}