23 min read

Source: Roblox Creator Hub · CC BY 4.0 · View source · Code samples: MIT Imported 2026-10-03. Formatting adapted for this site.

ContextActionService

Inherits from: Instance → Object

Allows an experience to bind user input to contextual actions, or actions that are only enabled under some condition or period of time. For example, allowing a player to open a door only while close by. In code, an action is simply a string (the name of the action) used by the service to differentiate between unique actions. The action string is provided to BindAction and UnbindAction, among other member functions. If two actions are bound to the same input, the most recently bound will take priority. When the most recent action is unbound, the one bound before that takes control again. Since this service deals with user input, you can only use it in client-side LocalScripts.

Context and Action

A context is simply a condition during which a player may perform some action. Some examples include holding a Tool, being seated in a car or standing near a door. Whatever the case may be, it is up to your LocalScripts to call BindAction when the context is entered and UnbindAction when the context is left.

An action is simply some input that can be performed by the player while in that context. Such an action could open/close some menu, trigger a secondary tool action or send a request to the server using RemoteFunction:InvokeServer(). An action is identified by a unique string as the first parameter of both BindAction and UnbindAction. The string can be anything, but it should reflect the action being performed, not the input being used. For example, don't use "KeyH" as an action name - use "CarHorn" instead. It is best to define your actions as a constant at the top of your script since you will use it in at least three different places in your code.

Binding Actions Contextually

It's better to use ContextActionService's BindAction than UserInputService.InputBegan for most cases. For UserInputService.InputBegan, your connected function would have to check if the player is in the context of the action being performed. In most cases, this is harder than just calling a function when a context is entered/ left. For example, if you want to have the H key trigger a car horn sound while the player is sitting in it, the player might type "hello" in chat or otherwise use the H key for something else. It is harder to determine if something else is using the H key (like chat) - the car might honk when the player didn't mean to. If you instead use BindAction and UnbindAction when the player enters/leaves the car, ContextActionService will make sure that H key presses trigger the honk action only when it is the most recently bound action. If something else (like chat) takes control, you won't have to worry about checking that.

Inspecting Bound Actions

To see a list of actions and their bound inputs, you can inspect the "Action Bindings" tab in the Developer Console (F9 while in game). This shows all bindings, including those bound by Roblox core scripts and default camera/control scripts too. This is useful for debugging if your actions are being bound/unbound at the correct times, or if some other action is stealing input from your actions. For example, if you are attempting to bind WASD, it may be the case that default character movement scripts are binding over those same keys. Similarly, the camera control script can steal right-click input if the script runs after yours.

Keyboardless Input

This service is especially useful for supporting gamepad and touch input. For gamepad input, you might choose to bind the B button to an action that returns the user to the previous menu when they enter another menu. For touch, on-screen touch buttons can be used in place of key presses: these buttons display only while the action is bound, and the position, text and/or images of these buttons can be configured through this service. They're somewhat limited in the amount of customization provided by this service; it's usually a better idea to make your own on-screen buttons using ImageButton or TextButton.

Inherits from: Instance

Memory category: Instances

Tags: NotCreatable, Service

Code samples: View on Creator Hub (ContextActionService-Tool-Reload).

Methods

NameType / ReturnsDescription
ContextActionService:BindAction()Bind user input to an action given an action handling function.
ContextActionService:BindActionAtPriority()Behaves like BindAction but also allows a priority to be assigned to the bound action for overlapping input types (higher before lower).
ContextActionService:BindActionToInputTypes()Binds functionToBind to input events such as key presses, mouse movement, or controller input.
ContextActionService:BindActivate()Bind a KeyCode with a specific UserInputType to trigger Tool.Activation and ClickDetector events.
ContextActionService:GetAllBoundActionInfoDictionaryGet a table of information about all bound actions (key is the name passed to BindAction, value is a table from GetBoundActionInfo when called with the key).
ContextActionService:GetBoundActionInfoDictionaryGet a table of information about a bound action given its name originally passed to BindAction.
ContextActionService:GetButtonInstanceRetrieves a ImageButton of a bound action that had a touch input button created.
ContextActionService:GetCurrentLocalToolIconstringReturn the BackpackItem.TextureId of a Tool currently equipped by the Player.
ContextActionService:SetDescription()Given the name of a bound action with a touch button, sets the description of the action.
ContextActionService:SetImage()If actionName key contains a bound action, then image is set as the image of the touch button.
ContextActionService:SetPosition()Given the name of a bound action with a touch button, sets the position of the button within the ContextButtonFrame.
ContextActionService:SetTitle()Given the name of a bound action with a touch button, sets the text shown on the button.
ContextActionService:UnbindAction()Unbind an action from input given its name.
ContextActionService:UnbindActivate()Unbind a KeyCode with a specific UserInputType from triggering Tool.Activation when bound with ContextActionService:BindActivate().
ContextActionService:UnbindAllActions()Removes all functions bound. No actionNames will remain. All touch buttons will be removed.

Inherited from Instance

NameType / ReturnsDescription
Instance:AddTag()Applies a tag to the instance.
Instance:childrenInstancesReturns an array of the object's children.
Instance:ClearAllChildren()This method destroys all of an instance's children.
Instance:CloneInstanceCreate a copy of an instance and all its descendants, ignoring instances that are not Archivable.
Instance:cloneInstance
Instance:Destroy()Sets the Instance.Parent property to nil, locks the Instance.Parent property, disconnects all connections, and calls Destroy() on all children.
Instance:destroy()
Instance:FindFirstAncestorInstance?Returns the first ancestor of the Instance whose Instance.Name is equal to the given name.
Instance:FindFirstAncestorOfClassInstance?Returns the first ancestor of the Instance whose Object.ClassName is equal to the given className.
Instance:FindFirstAncestorWhichIsAInstance?Returns the first ancestor of the Instance for whom Object:IsA() returns true for the given className.
Instance:FindFirstChildInstance?Returns the first child of the Instance found with the given name.
Instance:findFirstChildInstance
Instance:FindFirstChildOfClassInstance?Returns the first child of the Instance whose ClassName is equal to the given class name.
Instance:FindFirstChildWhichIsAInstance?Returns the first child of the Instance for whom Object:IsA() returns true for the given className.
Instance:FindFirstDescendantInstance?Returns the first descendant found with the given Instance.Name.
Instance:GetActorActor?Returns the Actor associated with the Instance, if any.
Instance:GetAttributeVariantReturns the value which has been assigned to the given attribute name.
Instance:GetAttributeChangedSignalRBXScriptSignalReturns an event that fires when the given attribute changes.
Instance:GetAttributesDictionaryReturns a dictionary of the instance's attributes.
Instance:GetChildrenInstancesReturns an array containing all of the instance's children.
Instance:getChildrenInstances
Instance:GetDebugIdstringReturns a coded string of the debug ID used internally by Roblox.
Instance:GetDescendantsInstancesReturns an array containing all of the descendants of the instance.
Instance:GetFullNamestringReturns a string describing the instance's ancestry.
Instance:GetStyledVariantReturns the styled or explicitly modified value of the specified property, or else the default property value if it hasn't been styled/modified.
Instance:GetStyledPropertyChangedSignalRBXScriptSignalReturns an event that fires when the given style property changes on the instance.
Instance:GetTagsArrayGets an array of all tags applied to the instance.
Instance:HasTagbooleanCheck whether the instance has a given tag.
Instance:IsAncestorOfbooleanReturns true if an Instance is an ancestor of the given descendant.
Instance:IsDescendantOfbooleanReturns true if an Instance is a descendant of the given ancestor.
Instance:isDescendantOfboolean
Instance:IsPropertyModifiedbooleanReturns true if the value stored in the specified property is not equal to the code-instantiated default.
Instance:QueryDescendantsInstancesReturns an array containing all descendants of the instance that match the selector string.
Instance:Remove()Sets the object's Parent to nil, and does the same for all its descendants.
Instance:remove()
Instance:RemoveTag()Removes a tag from the instance.
Instance:ResetPropertyToDefault()Resets a property to its default value.
Instance:SetAttribute()Sets the attribute with the given name to the given value.
Instance:WaitForChildInstanceReturns the child of the Instance with the given name. If the child does not exist, it will yield the current thread until it does.

Inherited from Object

NameType / ReturnsDescription
Object:GetPropertyChangedSignalRBXScriptSignalGet an event that fires when a given property of the object changes.
Object:IsAbooleanReturns true if an object's class matches or inherits from a given class.
Object:isAboolean

ContextActionService:BindAction

Bind an action to user input given an action handling function. Upon a matching input being performed, the action handler function will be called with the arguments listed below. Valid input enum items include those within the following: KeyCode, UserInputType or PlayerActions . Call this function when a player enters the context in which an action can be performed. When the player leaves the context, call UnbindAction() with the same actionName.

The code sample below shows how a Sound can be played while a key (H), game pad button, or touch screen button is pressed.

local ContextActionService = game:GetService("ContextActionService")

-- A car horn sound
local honkSound = Instance.new("Sound", workspace)
honkSound.Looped = true
honkSound.SoundId = "rbxassetid://9120386436"

local function handleAction(actionName, inputState, inputObject)
	if actionName == "HonkHorn" then
		if inputState == Enum.UserInputState.Begin then
			honkSound:Play()
		else
			honkSound:Pause()
		end
	end
end

-- When the player sits in the vehicle:
ContextActionService:BindAction("HonkHorn", handleAction, true, Enum.KeyCode.H, Enum.KeyCode.ButtonY)

-- When the player gets out:
ContextActionService:UnbindAction("HonkHorn")

Action Handler Parameters

The action handler functions are called with the following parameters:

# Type Description
1 string The same string that was originally passed to Class.ContextActionService:BindAction()|BindAction(). This allows one function to handle multiple actions at once, if necessary.
2 Enum.UserInputState The state of the input. Enum.UserInputState|Cancel is sent if some input was in progress and another action bound over that in-progress input, or if the in-progress bound action was unbound through Class.ContextActionService:UnbindAction()|UnbindAction().
3 InputObject An object that contains information about the input (varies based on Enum.UserInputType). The Class.InputObject sometimes won't match the inputs the action was bound to: when the Enum.UserInputState|Cancel state is sent, this object will be Enum.KeyCode.Unknown and Enum.UserInputType.None.

Action Bindings Stack

Action bindings behave like a stack: if two actions are bound to the same user input, the most recently bound action handler will be used. If an action handler returns ContextActionResult.Pass, the next most recently bound action handler will be called, and so on until a handler sinks the input (by returning nil or ContextActionResult.Sink). When UnbindAction is called, the action handler is removed from the stack. This stack behavior can be overridden using BindActionAtPriority, where an additional priority parameter after createTouchButton may override the order in which actions are bound (higher before lower).

Touch Buttons

In addition to input types, this function's third parameter controls whether a button is created for TouchEnabled devices. Upon the first touch button's creation, a ScreenGui named "ContextActionGui" is added to the PlayerGui. Inside the ScreenGui is a Frame called "ContextButtonFrame" is added. It is in this frame in which ImageButtons for bound actions are parented; you can use GetButton() to retrieve such buttons for customization. A maximum of 7 touch buttons can be created through BindAction().

Parameters

NameTypeDefaultDescription
actionNamestringA string representing the action being performed (e.g. "HonkHorn" or "OpenDoor").
functionToBindFunctionThe action-handling function, called with the following parameters when the bound inputs are triggered: string (actionName), UserInputState and an InputObject.
createTouchButtonbooleanWhether a GUI button should be created for the action on touch input devices.
inputTypesTupleAny number of KeyCode or UserInputType representing the inputs to bind to the action.

Returns

TypeDescription
()
FieldValue
securityNone
thread safetyUnsafe
capabilities["Input"]

Code samples: View on Creator Hub (ContextActionService-Tool-Reload, General-Action-Handler, Stacked-Action-Handlers).

ContextActionService:BindActionAtPriority

BindActionAtPriority behaves like BindAction but also allows a priority to be assigned to the bound action. If multiple actions are bound to the same input, the higher priority function is called regardless of the order in which the actions were bound. In other words, this function overrides the normal "stack" behavior of BindAction.

Parameters

NameTypeDefaultDescription
actionNamestringA string representing the action being performed (e.g. "HonkHorn" or "OpenDoor").
functionToBindFunctionThe action-handling function, called with the following parameters when the bound inputs are triggered: string (actionName), UserInputState and an InputObject.
createTouchButtonbooleanWhether a GUI button should be created for the action on touch input devices.
priorityLevelintThe priority level at which the action should be bound (higher considered before lower).
inputTypesTupleAny number of Enum.KeyCode or Enum.UserInputType representing the inputs to bind to the action.

Returns

TypeDescription
()
FieldValue
securityNone
thread safetyUnsafe
capabilities["Input"]

Code samples: View on Creator Hub (contextactionservice-bindaction-priorities).

ContextActionService:BindActionToInputTypes

Deprecated. This item has been superseded by ContextActionService:BindAction() which should be used in all new work.

This function binds functionToBind to input events such as key presses, mouse movement, or controller input. The specific input types the engine listens for are listed as parameters of BindAction. Whenever a player uses any of these input types, the Roblox Engine calls "functionToBind". BindAction sets the priorityLevel via ContextActionPriority to Default.Value, which is 2000. Use ContextActionService:GetButton() to control the priority of bound events.

In addition to input types, BindAction has a createTouchButton parameter. When this is set to true it creates an ImageButton on any device with a touchscreen. A ScreenGui is also created to put the context buttons into named ContextActionGui and is parented to PlayerGui. The created ImageButton is parented to this ContextActionGui. GetButton can be used to retrieve the button that was created.

If an input has more than one function bound to it, each function will be placed on a stack. A stack obeys the principle of last in first out. So the first object placed on the stack will be on the top. The next object placed on the stack becomes the top and the previous object moves one position down (like a stack of books). When the input is triggered, the function at the top of the stack is called. If the function returns ContextActionResult.Pass this will continue down the stack. To remove a function from being called by all input that it was bound by use ContextActionService:UnbindAction().

BindAction allows control over whether or not a bound action should be processed by other actions on the stack using ContextActionResult. If ContextActionResult.Pass is returned in the callback function, every action below it in the stack (last function called gets executed first) will get a chance to process it. Anything other than Pass will be treated as ContextActionResult.Sink, including nil. It will also sink if the callback is yielded.

Parameters

NameTypeDefaultDescription
actionNamestring
functionToBindFunction
createTouchButtonboolean
inputTypesTuple

Returns

TypeDescription
()
FieldValue
tags["Deprecated"]
securityNone
thread safetyUnsafe
capabilities["Input"]

ContextActionService:BindActivate

Bind a KeyCode that can be used with a UserInputType to activate ClickDetector events, Tools, and GuiButtons. When the given key/button is pressed, it fires the Mouse.Button1Down event on the mouse sent to Tool.Equipped. This in turn fires the Tool.Activated event if Tool.ManualActivationOnly is not set to true. For gamepad input, this function is called by the default control scripts in order to bind the ButtonR2 KeyCode.

Note that the UserInputType specified must be Keyboard or Gamepad1 through Gamepad8 in order to be valid.

Parameters

NameTypeDefaultDescription
userInputTypeForActivationUserInputTypeMust be Keyboard or Gamepad1 through Gamepad8.
keyCodesForActivationTupleAny number of KeyCode values that trigger Tool activation for the specified UserInputType.

Returns

TypeDescription
()
FieldValue
securityNone
thread safetyUnsafe
capabilities["Input"]

ContextActionService:GetAllBoundActionInfo

GetAllBoundActioninfo returns a table which maps all actions' names (those originally passed to BindAction) to a table returned by GetBoundActionInfo when called with the action name itself. Using this function, you can inspect all presently bound actions. This is useful when debugging their priority levels or stack orders.

Returns

TypeDescription
DictionaryA dictionary mapping each bound action name to its info table.
FieldValue
securityNone
thread safetyUnsafe
capabilities["Input"]

ContextActionService:GetBoundActionInfo

GetBoundActionInfo returns a table with the following keys describing a bound action given its name. To get the same information for all actions at once, use GetAllBoundActionInfo.

Name Type Description
stackOrder number

Describes the index of the action on the stack (increasing)

priorityLevel* number

Describes the Class.ContextActionService:BindActionAtPriority()|priority level of the action

createTouchButton bool

Describes whether a touch button should be created on Class.UserInputService.TouchEnabled|TouchEnabled devices

inputTypes table

The input types passed to Class.ContextActionService:BindAction()|BindAction for which this action will trigger

description† string

The description of action set by Class.ContextActionService:SetDescription()|SetDescription

title† string

The title of the action set by Class.ContextActionService:SetTitle()|SetTitle

image† string

The image of the action's touch button set by Class.ContextActionService:SetImage()|SetImage

* Priority level will still be included even if BindActionAtPriority wasn't used - by default it will be 2000.

† Indicates that this field will be nil if the associated method was not called for the given action.

Parameters

NameTypeDefaultDescription
actionNamestringThe name of the action originally passed to BindAction.

Returns

TypeDescription
DictionaryA dictionary with keys describing the bound action, including stackOrder, priorityLevel, createTouchButton, inputTypes, description, title, and image.
FieldValue
securityNone
thread safetyUnsafe
capabilities["Input"]

ContextActionService:GetButton

GetButton returns the ImageButton created by BindAction if its third parameter was true and the device is TouchEnabled. The only parameter to this function must match exactly the name of the action originally sent to BindAction.

If no such action was bound or if a button was not created, this function returns nil.

Parameters

NameTypeDefaultDescription
actionNamestringThe name of the action originally passed to BindAction.

Returns

TypeDescription
InstanceAn ImageButton created by BindAction.
FieldValue
tags["Yields"]
securityNone
thread safetyUnsafe
capabilities["Input"]

ContextActionService:GetCurrentLocalToolIcon

GetCurrentLocalToolIcon will return the BackpackItem.TextureId of a Tool currently equipped by the Player, or nil if there is no such Tool or if the player lacks a Character.

Returns

TypeDescription
stringA content string from the Tool's TextureId, or nil if one could not be found.
FieldValue
securityNone
thread safetyUnsafe
capabilities["Input"]

ContextActionService:SetDescription

SetDescription will set the description of an action bound by BindAction. In a list of available actions, this would be text that describes the given action.

Although the name may suggest that this method is related to the family of functions that customize a touch button for actions that create them (SetTitle, SetImage and SetPosition), this method does not affect such a button. This method merely sets a text description of an action, and nothing more.

Parameters

NameTypeDefaultDescription
actionNamestringThe name of the action originally passed to BindAction.
descriptionstringA text description of the action, such as "Honk the car's horn" or "Open the inventory".

Returns

TypeDescription
()
FieldValue
securityNone
thread safetyUnsafe
capabilities["Input"]

Code samples: View on Creator Hub (contextactionservice-touch-button).

ContextActionService:SetImage

This method sets the image shown on a touch button created by BindAction(). Specifically, it sets the ImageLabel.Image property of the ImageLabel within the ImageButton that would be returned by GetButton. If no such bound action exists (e.g. nothing is returned by GetButton), this function does nothing and throws no error.

This function is part of a family of methods that customize the touch button of an action. Others in this family include SetPosition and SetTitle.

Parameters

NameTypeDefaultDescription
actionNamestringThe name of the action originally passed to BindAction.
imagestringThe value to which the Image property should be set.

Returns

TypeDescription
()
FieldValue
securityNone
thread safetyUnsafe
capabilities["Input"]

Code samples: View on Creator Hub (contextactionservice-touch-button).

ContextActionService:SetPosition

This method sets the position of a touch button created by BindAction(). Specifically, it sets the GuiObject.Position property of the ImageButton that would be returned by GetButton. If no such bound action exists (e.g. nothing is returned by GetButton), this function does nothing and throws no error.

This function is part of a family of methods that customize the touch button of an action. Others in this family include SetImage and SetTitle.

Parameters

NameTypeDefaultDescription
actionNamestringThe name of the action originally passed to BindAction.
positionUDim2The position within the ContextButtonFrame.

Returns

TypeDescription
()
FieldValue
securityNone
thread safetyUnsafe
capabilities["Input"]

Code samples: View on Creator Hub (contextactionservice-touch-button).

ContextActionService:SetTitle

SetTitle will set the text shown on a touch button created by BindAction. Specifically, this sets the TextLabel.Text property of a TextLabel within the ImageButton that would be returned by GetButton. If no such bound action exists (e.g. nothing is returned by GetButton), this function does nothing and throws no error.

This function is part of a family of methods that customize the touch button of an action. Others in this family include SetImage and SetPosition.

Parameters

NameTypeDefaultDescription
actionNamestringThe name of the action originally passed to BindAction.
titlestringThe text to display on the button.

Returns

TypeDescription
()
FieldValue
securityNone
thread safetyUnsafe
capabilities["Input"]

Code samples: View on Creator Hub (contextactionservice-touch-button).

ContextActionService:UnbindAction

UnbindAction will unbind an action by name from user inputs so that the action handler function will no longer be called. Call this function when the context for some action is no longer applicable, such as closing a user interface, exiting a car or unequipping a Tool. See BindAction for more information on how bound actions operate.

This function will not throw an error if there is no such action bound with the given string. Using GetAllBoundActionInfo or the Developer Console's "Action Bindings" tab, you can find out what actions are presently bound.

Parameters

NameTypeDefaultDescription
actionNamestringThe name of the action to unbind, as originally passed to BindAction.

Returns

TypeDescription
()
FieldValue
securityNone
thread safetyUnsafe
capabilities["Input"]

Code samples: View on Creator Hub (ContextActionService-Tool-Reload).

ContextActionService:UnbindActivate

UnbindActivate unbinds an KeyCode used with an UserInputType for activating a Tool (or a HopperBin) using BindActivate. This function essentially undoes the action performed by that function.

Parameters

NameTypeDefaultDescription
userInputTypeForActivationUserInputTypeThe same UserInputType originally sent to BindActivate.
keyCodeForActivationKeyCodeNoneThe same KeyCode originally sent to BindActivate.

Returns

TypeDescription
()
FieldValue
securityNone
thread safetyUnsafe
capabilities["Input"]

ContextActionService:UnbindAllActions

Removes all functions bound. No actionNames will remain. All touch buttons will be removed. If a button was manipulated manually there is no guarantee it will be cleaned up.

Returns

TypeDescription
()
FieldValue
securityNone
thread safetyUnsafe
capabilities["Input"]

Events

NameType / ReturnsDescription
ContextActionService.LocalToolEquippedFires when the current player equips a Tool.
ContextActionService.LocalToolUnequippedFires when the current player unequips a Tool.

Inherited from Instance

NameType / ReturnsDescription
Instance.AncestryChangedFires when the Instance.Parent property of this object or one of its ancestors is changed.
Instance.AttributeChangedFires whenever an attribute is changed on the Instance.
Instance.ChildAddedFires after an object is parented to this Instance.
Instance.childAdded
Instance.ChildRemovedFires after a child is removed from this Instance.
Instance.DescendantAddedFires after a descendant is added to the Instance.
Instance.DescendantRemovingFires immediately before a descendant of the Instance is removed.
Instance.DestroyingFires immediately before (or is deferred until after) the instance is destroyed via Instance:Destroy().
Instance.StyledPropertiesChangedFires whenever any style property is changed on the instance, including when a property is set to nil.

Inherited from Object

NameType / ReturnsDescription
Object.ChangedFires immediately after a property of the object changes, with some limitations.

ContextActionService.LocalToolEquipped

Fires when a Tool is added as a child of the local player's Character model, which occurs when the player equips the tool. The toolEquipped parameter is the Tool instance that was equipped.

This event fires only for Tool children added to the character, so it does not fire for non-Tool children. The connection is re-established each time the player's character respawns.

This event is useful for updating contextual action bindings when a tool is equipped. For example, you can call BindAction inside a handler connected to this event to set up tool-specific input, then call UnbindAction in the corresponding ContextActionService.LocalToolUnequipped handler.

Parameters

NameTypeDefaultDescription
toolEquippedInstanceThe Tool instance that was equipped.
FieldValue
securityNone
capabilities["Input"]

ContextActionService.LocalToolUnequipped

Fires when a Tool is removed from the local player's Character model, which occurs when the player unequips the tool. The toolUnequipped parameter is the Tool instance that was unequipped.

This event fires only for Tool children removed from the character, so it does not fire for non-Tool children. The connection is re-established each time the player's character respawns.

This event is useful for tearing down contextual action bindings when a tool is unequipped. For example, you can call UnbindAction inside a handler connected to this event to remove tool-specific input that was bound in the corresponding ContextActionService.LocalToolEquipped handler.

Parameters

NameTypeDefaultDescription
toolUnequippedInstanceThe Tool instance that was unequipped.
FieldValue
securityNone
capabilities["Input"]

Properties

Inherited from Instance

NameType / ReturnsDescription
Instance.ArchivablebooleanDetermines if an Instance and its descendants can be cloned using Instance:Clone(), and can be saved/published.
Instance.archivableboolean
Instance.CapabilitiesSecurityCapabilitiesThe set of capabilities allowed to be used for scripts inside this container.
Instance.IsInSandboxbooleanIndicates whether the instance is inside a sandboxed container.
Instance.NamestringA non-unique identifier of the Instance.
Instance.ParentInstanceDetermines the hierarchical parent of the Instance.
Instance.PredictionModePredictionModeReflects the client-side prediction mode applied to the instance under server-authoritative physics.
Instance.RobloxLockedbooleanA deprecated property that used to protect CoreGui objects.
Instance.SandboxedbooleanWhen enabled, the instance can only access abilities in its Capabilities list.
Instance.UniqueIdUniqueIdA unique identifier for the instance.

Inherited from Object

NameType / ReturnsDescription
Object.ClassNamestringA read-only string representing the class this Object belongs to.
Object.classNamestring