DevSuiteDevSuite

API Reference

The DevSuite Luau SDK ships as two modules — a server SDK that owns your project key and talks to the ingestion API, and a client SDK for LocalScripts that forwards to the server over a RemoteEvent.

Server SDK ServerScriptService.DevSuite

DevSuite.init(config: table): ()

Initializes the server SDK. Must be called once before any other server method.

DevSuite.init({
    projectKey = "proj_live_xxxxx"
})

DevSuite.track(name: string, properties: table?, player: Player?): ()

Records a custom analytics event, optionally scoped to a player.

DevSuite.track("TutorialCompleted", {
    duration = 92
})

DevSuite.captureException(message: string, metadata: table?): ()

Reports a handled error with optional tags for grouping and filtering.

DevSuite.captureException(errorMessage, {
    system = "Inventory"
})

DevSuite.purchase(payload: table): ()

Records a completed purchase for revenue and product analytics.

DevSuite.purchase({
    player = player,
    productId = receiptInfo.ProductId,
    purchaseId = receiptInfo.PurchaseId,
    robux = 199
})

Client SDK ReplicatedStorage.DevSuiteClient

DevSuite.track(name: string, properties: table?): ()

Forwards a custom event from a LocalScript to the server SDK over the Report RemoteEvent.

DevSuite.track("button_click", {
    id = "shop_open"
})

DevSuite.captureException(message: string, metadata: table?): ()

Reports a client-side error. Called automatically for uncaught LocalScript errors unless disabled.

DevSuite.captureException("ui exploded", {
    screen = "Inventory"
})

DevSuite.config.autoCaptureLuaErrors: boolean

Set to false to stop automatically reporting uncaught LocalScript errors. Defaults to true.

DevSuite.config.autoCaptureLuaErrors = false