Represents the ephemeral state of an open document in the Studio Script Editor, providing APIs for reading and editing code.
- Memory category
- Instances
- Own members
- 24
- 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.
Methods64
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 byScriptDocument22
ScriptDocument:AddReadOnlyReasonsAsync( reasons: { any }) Parameters Parameter reasons: { any }ScriptDocument:CloseAsync( ): ...any Requests that the editor associated with this document close. Yields the current thread until the editor responds to the request.Returns Type Description ...anyA tuple where the first element istrueif the editor closed successfully, orfalsefollowed by a string describing the failure reason.ScriptDocument:EditTextAsync(newText: string,startLine: number,startCharacter: number,endLine: number,endCharacter: number,): ...any Replaces the text in the specified range from (startLine,startColumn) to (endLine,endColumn) with newText.Parameters Parameter Description newText: stringThe replacement string to insert into the specified range.startLine: numberThe 1-indexed line number where the replacement range begins.startCharacter: numberThe 1-indexed UTF-8 byte offset withinstartLinewhere the replacement range begins.endLine: numberThe 1-indexed line number where the replacement range ends (exclusive).endCharacter: numberThe 1-indexed UTF-8 byte offset withinendLinewhere the replacement range ends (exclusive).Returns Type Description ...anyA tuple where the first element istrueif the edit was applied successfully, orfalsefollowed by a string describing the failure reason.ScriptDocument:ForceSetSelectionAsync(cursorLine: number,cursorCharacter: number,anchorLine: number? = nil,anchorCharacter: number? = nil,): ...any Asks the editor to set its cursor selection to the argument values.Parameters Parameter Description cursorLine: numberThe 1-indexed line number for the cursor position.cursorCharacter: numberThe 1-indexed UTF-8 byte offset within the line for the cursor position.anchorLine: number? = nilThe 1-indexed line number for the anchor position. Defaults tocursorLineif not provided.anchorCharacter: number? = nilThe 1-indexed UTF-8 byte offset within the line for the anchor position. Defaults tocursorCharacterif not provided.Returns Type Description ...anyA tuple where the first element istrueif the cursor was updated, orfalsefollowed by a string explaining why the update was declined.ScriptDocument:GetInternalUri( ): string Returns Type string- Returns the text of the specified line. When no argument is provided, returns the line of the current cursor position.
Parameters Parameter Description lineIndex: number? = nilThe 1-indexed line number to retrieve. Defaults to the current cursor line if not provided.Returns Type Description stringThe text content of the specified line as a string. ScriptDocument:GetLineCount( ): number Returns the number of lines in the document.Returns Type Description numberThe total number of lines in the document.ScriptDocument:GetReadOnlyReasons( ): { any } Returns Type { any }ScriptDocument:GetScript( ): LuaSourceContainer Returns the underlyingLuaSourceContainerinstance, if one exists, otherwisenil.Returns Type Description LuaSourceContainerTheLuaSourceContainerthat the document is editing, ornilif the document does not represent a script instance in the place (e.g. the Command Bar is not a real script instance).ScriptDocument:GetSelectedText( ): string Gets the text selected in the editor, or an empty string if there is no selection.Returns Type Description stringThe currently selected text as a string, or an empty string if nothing is selected.ScriptDocument:GetSelection( ): ...any Returns the last known selection of the Script Editor in the format:CursorLine, CursorChar, AnchorLine, AnchorChar. If the Script Editor has no selection,CursorLine == AnchorLineandCursorChar == AnchorChar.Returns Type Description ...anyCursorLine, CursorChar, AnchorLine, AnchorChar.ScriptDocument:GetSelectionEnd( ): ...any Gets the larger of the cursor position and anchor. If the editor has no selection, they are the same value.Returns Type Description ...anyA tuple of (line, character) representing the larger of the cursor and anchor positions, both 1-indexed.ScriptDocument:GetSelectionStart( ): ...any Gets the smaller of the cursor position and anchor. If the editor has no selection, they are the same value.Returns Type Description ...anyA tuple of (line, character) representing the smaller of the cursor and anchor positions, both 1-indexed.ScriptDocument:GetText(startLine: number? = nil,startCharacter: number? = nil,endLine: number? = nil,endCharacter: number? = nil,): string Returns text from the open editor.Parameters Parameter Description startLine: number? = nilThe 1-indexed line number where the text range begins. Optional; omit all arguments to get the entire document.startCharacter: number? = nilThe 1-indexed UTF-8 byte offset withinstartLinewhere the text range begins.endLine: number? = nilThe 1-indexed line number where the text range ends (exclusive). Optional; omit to read fromstartLine/startCharacterto the end of the document.endCharacter: number? = nilThe 1-indexed UTF-8 byte offset withinendLinewhere the text range ends (exclusive).Returns Type Description stringThe text content within the specified range as a string.ScriptDocument:GetViewport( ): ...any Returns the currently displayed line numbers in the editor change.Returns Type Description ...anyA tuple of (startLine, endLine) representing the 1-indexed range of lines currently visible in the editor.ScriptDocument:HasSelectedText( ): boolean Returns whether or not the editor has any text selected.Returns Type Description booleantrueif the editor has a non-empty text selection,falseotherwise.ScriptDocument:IsCommandBar( ): boolean Returns true if theScriptDocumentrepresents the Command bar.Returns Type Description booleantrueif this document represents the Command bar,falseotherwise.ScriptDocument:IsReadOnly( ): boolean Returns Type boolean- Applies a batch of text edits to the document as a single atomic operation. Yields the current thread until the editor responds.
Parameters Parameter Description edits: { any }An array of tables, each describing a text replacement with fieldsNewText,StartLine,StartCharacter,EndLine, andEndCharacter.Returns Type Description ...anyA tuple where the first element istrueif all edits were applied successfully, orfalsefollowed by a string describing the failure reason. ScriptDocument:RemoveReadOnlyReasonsAsync( reasons: { any }) Parameters Parameter reasons: { any }ScriptDocument:RequestSetSelectionAsync(cursorLine: number,cursorCharacter: number,anchorLine: number? = nil,anchorCharacter: number? = nil,): ...any Asks the editor to set its cursor selection to the argument values.Parameters Parameter Description cursorLine: numberThe 1-indexed line number for the cursor position.cursorCharacter: numberThe 1-indexed UTF-8 byte offset within the line for the cursor position.anchorLine: number? = nilThe 1-indexed line number for the anchor position. Defaults tocursorLineif not provided.anchorCharacter: number? = nilThe 1-indexed UTF-8 byte offset within the line for the anchor position. Defaults tocursorCharacterif not provided.Returns Type Description ...anyA tuple where the first element istrueif the cursor was updated, orfalsefollowed by a string explaining why the update was declined.- Applies a batch of line-based text edits that appear in the editor as reviewable inline diffs, allowing users to accept or reject each change.
Parameters Parameter Description changes: { any }An array of tables, each with aTextfield (the replacement string), aStartLinefield (1-indexed line to insert or begin replacing at), and an optionalEndLinefield (1-indexed last line to replace, inclusive).Returns Type Description ...anyA tuple where the first element istrueif the edits were applied successfully, orfalsefollowed by a string describing the failure reason.
No methods match the filters.
Events12
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 byScriptDocument2
ScriptDocument.SelectionChanged: RBXScriptSignal<(positionLine: number,positionCharacter: number,anchorLine: number,anchorCharacter: number,)> Fires when the ScriptDocument changes, including immediately after a text change.ScriptDocument.ViewportChanged: RBXScriptSignal<(startLine: number,endLine: number,)> Fires when the displayed line numbers in the editor change.
No events match the filters.