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