Provides programmatic breakpoint management, execution control, and runtime inspection of Luau scripts during a playtest.
- Memory category
- Instances
- Own members
- 12
- Inherited members
- 75
- Subclasses
- 0
- Siblings
- 608
Properties23
Property categoryBehavior
- Determines if an
Instanceand its descendants can be cloned usingInstance:Clone(), and can be saved/published. - Deprecated: This deprecated property is a variant of
Instance.Archivablewhich should be used instead.Use Archivable instead.
Property categoryData
Property categoryPermissions
- The set of capabilities allowed to be used for scripts inside this container.
- Indicates whether the instance is inside a sandboxed container.
- When enabled, the instance can only access abilities in its
Capabilitieslist.
No properties match the filters.
Methods52
Object:GetPropertyChangedSignal( property: string): RBXScriptSignal Get an event that fires when a given property of the object changes.Parameters Parameter Description property: stringThe property to connect to.Returns Type Description RBXScriptSignalA signal that fires whenever the property changes.- Returns true if an object's class matches or inherits from a given class.
Parameters Parameter Description className: stringThe class against which the Object's class will be checked. Case-sensitive.Returns Type Description booleanDescribes whether the Object's class matched or is a subclass of the given class. - Deprecated: This deprecated function is a variant of
Object:IsA()which should be used instead.Parameters Parameter className: stringReturns Type booleanUse IsA instead.
- Applies a tag to the instance.
Parameters Parameter Description tag: stringThe tag to apply to the instance. - This method destroys all of an instance's children.
- Create a copy of an instance and all its descendants, ignoring instances that are not
Archivable.Returns Type Description InstanceA copy of the instance, ornilif the instance is notArchivable. - Sets the
Instance.Parentproperty tonil, locks theInstance.Parentproperty, disconnects all connections, and callsDestroy()on all children. Instance:FindFirstAncestor( name: string): Instance Returns the first ancestor of theInstancewhoseInstance.Nameis equal to the given name.Parameters Parameter Description name: stringTheInstance.Nameto be looked for.Instance:FindFirstAncestorOfClass( className: string): Instance Returns the first ancestor of theInstancewhoseObject.ClassNameis equal to the given className.Parameters Parameter Description className: stringTheObject.ClassNameto be looked for.Instance:FindFirstAncestorWhichIsA( className: string): Instance Returns the first ancestor of theInstancefor whomObject:IsA()returns true for the given className.Parameters Parameter Description className: stringTheObject.ClassNameto be looked for.Instance:FindFirstChild( name: string, recursive: boolean? = false): Instance Returns the first child of theInstancefound with the given name.Parameters Parameter Description name: stringTheInstance.Nameto be searched for.recursive: boolean? = falseWhether or not the search should be conducted recursively.Instance:FindFirstChildOfClass( className: string): Instance Parameters Parameter Description className: stringTheObject.ClassNameto be looked for.Instance:FindFirstChildWhichIsA(className: string,recursive: boolean? = false,): Instance Returns the first child of theInstancefor whomObject:IsA()returns true for the given className.Parameters Parameter Description className: stringTheObject.ClassNameto be searched for.recursive: boolean? = falseWhether or not the search should be conducted recursively.Instance:FindFirstDescendant( name: string): Instance Returns the first descendant found with the givenInstance.Name.Parameters Parameter Description name: stringTheInstance.Nameto search for.- Returns the
Actorassociated with the Instance, if any. Instance:GetAttribute( attribute: string): any Returns the value which has been assigned to the given attribute name.Parameters Parameter Description attribute: stringThe name of the attribute being retrieved.Returns Type Description anyThe value which has been assigned to the given attribute name. If no attribute has been assigned,nilis returned.Instance:GetAttributeChangedSignal( attribute: string): RBXScriptSignal Returns an event that fires when the given attribute changes.Parameters Parameter Description attribute: stringThe name of the specified attribute for which the change signal is being returned.Returns Type Description RBXScriptSignalAn event that fires when the given attribute changes.- Returns a dictionary of the instance's attributes.
Returns Type Description { [string]: any }A dictionary of string → variant pairs for each attribute where the string is the name of the attribute and the variant is a non-nil value. - Returns an array containing all of the instance's children.
Returns Type Description { Instance }An array containing the instance's children. Instance:GetDebugId( scopeLength: number? = 4): string Returns a coded string of the debug ID used internally by Roblox.Parameters Parameter Description scopeLength: number? = 4The scope length.Returns Type Description stringThe Debug ID string.- Returns an array containing all of the descendants of the instance.
Returns Type Description { Instance }An array containing the instance's descendants. - Returns a string describing the instance's ancestry.
- Returns the styled or explicitly modified value of the specified property, or else the default property value if it hasn't been styled/modified.
Parameters Parameter Description name: stringName of the property to query.selector: string?Optional selector for the pseudo instance you are targeting on the instance.Returns Type Description anyThe styled or explicitly modified value of the specified property, or else the default property value if it hasn't been styled/modified. Instance:GetStyledPropertyChangedSignal( property: string): RBXScriptSignal Returns an event that fires when the given style property changes on the instance.Parameters Parameter Description property: stringName of the style property for which to listen for changes.Returns Type Description RBXScriptSignalEvent that fires when the given style property changes.- Gets an array of all tags applied to the instance.
Returns Type Description { any }An array of strings, each representing a tag applied to the instance. - Check whether the instance has a given tag.
Parameters Parameter Description tag: stringThe tag to check for on the instance.Returns Type Description booleantrueif the instance has the given tag,falseotherwise. Instance:IsAncestorOf( descendant: Instance): boolean Returns true if anInstanceis an ancestor of the given descendant.Instance:IsDescendantOf( ancestor: Instance): boolean Returnstrueif anInstanceis a descendant of the given ancestor.Instance:IsPropertyModified( property: string): boolean Returnstrueif the value stored in the specified property is not equal to the code-instantiated default.Parameters Parameter Description property: stringName of the property to query.Returns Type Description booleanBoolean indicating whether the property is modified from its code‑instantiated default.Instance:QueryDescendants( selector: string): { Instance } Returns an array containing all descendants of the instance that match theselectorstring.Parameters Parameter Description selector: stringSelector string used to filter elements.Returns Type Description { Instance }An array of instances (empty if nothing matched the selector).- Removes a tag from the instance.
Parameters Parameter Description tag: stringThe tag to remove from the instance. Instance:ResetPropertyToDefault( property: string) Resets a property to its default value.Parameters Parameter Description property: stringName of the property to reset.Instance:SetAttribute( attribute: string, value: any) Sets the attribute with the given name to the given value.Instance:WaitForChild( childName: string, timeOut: number): Instance Returns the child of theInstancewith the given name. If the child does not exist, it will yield the current thread until it does.Parameters Parameter Description childName: stringTheInstance.Nameto be looked for.timeOut: numberAn optional time out parameter.- Deprecated: This item is deprecated in favor of
Instance:Destroy()andInstance:ClearAllChildren(). If you must remove an object from the game, and wish to use the object later, set itsParentproperty tonilinstead of using this method.
Sets the object'sParenttonil, and does the same for all its descendants. - Deprecated: This item has been superseded by
Instance:GetChildren()which should be used in all new work.
Returns an array of the object's children.Returns Type Description { Instance }Array of child objects/instances.Use GetChildren instead.
- Deprecated: This deprecated function is a variant of
Instance:Clone()which should be used instead.Returns Type InstanceUse Clone instead.
- Deprecated: This deprecated function is a variant of
Instance:Destroy()which should be used instead.Use Destroy instead.
Instance:findFirstChild( name: string, recursive: boolean? = false): Instance Deprecated: This deprecated function is a variant ofInstance:FindFirstChild()which should be used instead.Returns Type InstanceUse FindFirstChild instead.
- Deprecated: This deprecated function is a variant of
Instance:GetChildren()which should be used instead.Returns Type { Instance }Use GetChildren instead.
Instance:isDescendantOf( ancestor: Instance): boolean Deprecated: This deprecated function is a variant ofInstance:IsDescendantOf()which should be used instead.Parameters Parameter ancestor: InstanceReturns Type booleanUse IsDescendantOf instead.
- Deprecated: This deprecated function is a variant of
Instance:Remove()which has also been deprecated. Neither function should be used in new work.Use Remove instead.
Defined byScriptDebuggerService10
ScriptDebuggerService:AddBreakpoint(scriptInstance: LuaSourceContainer,breakpoint: { [string]: any },): { [string]: any } Adds a breakpoint to a script. If a breakpoint already exists on the same script and line, its data is replaced.Parameters Parameter Description scriptInstance: LuaSourceContainerTheLuaSourceContainerto place the breakpoint on.breakpoint: { [string]: any }Dictionary describing the breakpoint configuration through the following key-value pairs:Line— Required 1-based line number.Enabled— Optional boolean whether the breakpoint is active. Default istrue.Condition— Optional string indicating the Luau expression which must be truthy to pause, for example"health < 10".LogMessage— Optional string message logged when the breakpoint is hit. This string is parsed as a comma-separated list of Luau expressions, evaluated in the breakpoint's scope, and concatenatedprint()‑style with spaces between segments. String literals are quoted; bare identifiers reference live values. For example,"'count is', count"produces output likecount is 7.ContinueExecution— Iftrue, theDataModeldoes not pause when the breakpoint is hit. Default isfalse.
Returns Type Description { [string]: any }Dictionary indicating whether the breakpoint was placed successfully and on which line. Includes the following key-value pairs:Verified— Boolean value indicating whether the breakpoint was placed successfully.Line— The line number the breakpoint was placed on.Message— Optional explanation ifVerifiedisfalse.
- Removes all breakpoints across all scripts.
ScriptDebuggerService:Evaluate(expression: string,frameId: number? = nil,): { [string]: any } Evaluates a Luau expression in a stack frame's context.Parameters Parameter Description expression: stringThe Luau expression to evaluate.frameId: number? = nilOptional frame identifier. If omitted, evaluates globally.Returns Type Description { [string]: any }Dictionary with the following key-value pairs:Result— String representation of the evaluated result.Type— String indicating the Luau type of the result ("number","string","table","Instance", etc.).VariablesReference— If greater than0, drill into withGetVariables().
- Returns the root variables (locals, upvalues, globals) for a stack frame.
Parameters Parameter Description frameId: numberThe frame identifier from a debug stack frameIdfield (seeGetStackTrace()).Returns Type Description { any }An array of script variable dictionaries, each containing the following key-value pairs:Name— String value indicating the variable name or table key.Value— String representation of the value.Type— String indicating the Luau type ("number","string","table","Instance", etc.).Scope—ScriptVariableScopevalue (children inherit parent's scope).VariablesReference— If greater than0, callGetVariables()with this to get children.
ScriptDebuggerService:GetStackTrace(threadId: number,startFrame: number? = nil,): { [string]: any } Returns the call stack for a paused thread.Parameters Parameter Description threadId: numberThe thread identifier from a script debug threadIdfield (seeGetThreads()).startFrame: number? = nilOptional 1-based frame index for paginated retrieval.Returns Type Description { [string]: any }Dictionary containing the frames ordered innermost (current) to outermost. Contains the following key-value pairs:Frames— Array of debug stack frame dictionaries. Each dictionary item contains the following key-value pairs:Id— Numerical frame identifier; use withGetRootVariables()andEvaluate().Name— Human-readable name of the function at this frame.ScriptPath— Full instance path of the script, for example"ServerScriptService.MainScript".Line— 1-based line number where execution is paused at this frame.TotalFrames— Total frame count, provided when paginating.
ScriptDebuggerService:GetThreads( ): { any } Returns all paused Luau threads.Returns Type Description { any }An array of script debug thread dictionaries, each containing the following key-value pairs:Id— Numerical thread identifier; use withGetStackTrace()and stepping.Name— Human-readable name of the script.
- Drills into structured variables (tables,
Instances).Parameters Parameter Description variablesReference: numberA reference from a previous script variable'sVariablesReferencefield (seeGetRootVariables()).Returns Type Description { any }An array of script variable dictionaries representing the children in the same format as variable dictionaries fromGetRootVariables(). Returns empty if theDataModelis not stopped at a breakpoint or exception, or when stopped viaPause(). - Requests the debugger to pause at the next safe point.
ScriptDebuggerService:RemoveBreakpoint(scriptInstance: LuaSourceContainer,line: number,): boolean Removes the breakpoint on the given script and line.Parameters Parameter Description scriptInstance: LuaSourceContainerTheLuaSourceContainercontaining the breakpoint.line: numberThe 1-based line number of the breakpoint to remove.Returns Type Description booleantrueif a breakpoint was removed,falseif no breakpoint existed on the line.ScriptDebuggerService:SetExceptionBreakMode( breakMode: Enum.DebugBreakModeType) Controls when the debugger pauses on exceptions.Parameters Parameter Description breakMode: Enum.DebugBreakModeTypeTheDebugBreakModeTypeto set.
No methods match the filters.
Events11
Object.Changed: RBXScriptSignal<( property: string)> Fires immediately after a property of the object changes, with some limitations.Parameters Parameter property: string
Instance.AncestryChanged: RBXScriptSignal<( child: Instance, parent: Instance)> Fires when theInstance.Parentproperty of this object or one of its ancestors is changed.Instance.AttributeChanged: RBXScriptSignal<( attribute: string)> Fires whenever an attribute is changed on theInstance.Parameters Parameter attribute: stringInstance.ChildAdded: RBXScriptSignal<( child: Instance)> Fires after an object is parented to thisInstance.Parameters Parameter child: InstanceInstance.ChildRemoved: RBXScriptSignal<( child: Instance)> Fires after a child is removed from thisInstance.Parameters Parameter child: InstanceInstance.DescendantAdded: RBXScriptSignal<( descendant: Instance)> Fires after a descendant is added to theInstance.Parameters Parameter descendant: InstanceInstance.DescendantRemoving: RBXScriptSignal<( descendant: Instance)> Fires immediately before a descendant of theInstanceis removed.Parameters Parameter descendant: Instance- Fires immediately before (or is deferred until after) the instance is destroyed via
Instance:Destroy(). - Fires whenever any style property is changed on the instance, including when a property is set to
nil. Instance.childAdded: RBXScriptSignal<( child: Instance)> Deprecated: This deprecated event is a variant ofInstance.ChildAddedwhich should be used instead.Parameters Parameter child: InstanceUse ChildAdded instead.
Defined byScriptDebuggerService1
ScriptDebuggerService.Resumed: RBXScriptSignal<( threadIds: { any })> Fires when a previously paused thread resumes execution.Parameters Parameter threadIds: { any }
No events match the filters.
Callbacks1
Defined byScriptDebuggerService1
ScriptDebuggerService.OnStopped: ( stopped: { [string]: any }) -> { [string]: any } The primary callback for reacting to debugger pauses. Returns a resume action.Parameters Parameter Description stopped: { [string]: any }Dictionary describing why the debugger paused. The following key-value pairs are valid:Reason—ScriptStoppedReasonwhy the debugger paused.ThreadIds— Array of thread identifiers that stopped.ExceptionText— Error message present whenReasonisScriptStoppedReason.Exception.
Returns Type Description { [string]: any }Dictionary specifying how to resume execution. Contains the following key-value pairs:steppedType—DebuggerResumeTypedescribing how to resume.threadId— Number indicating which thread to step. Required for step actions.
No callbacks match the filters.