Reference API Roblox

Engine API

Website

Related

Reference API Roblox

BindableEvent

An object which enables custom events through asynchronous one-way communication between scripts on the same side of the client-server boundary. Scripts firing a BindableEvent do not yield.

Member index 2

HistoryMember
573Fire(arguments: Tuple): null
462Event(arguments: Tuple)
inherited from Instance
553Archivable: bool
635Capabilities: SecurityCapabilities
553ClassName: string
553Name: string
553Parent: Instance
635Sandboxed: bool
616UniqueId: UniqueId
553className: string
576AddTag(tag: string): null
573ClearAllChildren(): null
462Clone(): Instance
573Destroy(): null
486FindFirstAncestor(name: string): Instance
486FindFirstAncestorOfClass(className: string): Instance
486FindFirstAncestorWhichIsA(className: string): Instance
486FindFirstChild(name: string, recursive: bool = false): Instance
486FindFirstChildOfClass(className: string): Instance
486FindFirstChildWhichIsA(className: string, recursive: bool = false): Instance
486FindFirstDescendant(name: string): Instance
563GetActor(): Actor
486GetAttribute(attribute: string): Variant
462GetAttributeChangedSignal(attribute: string): RBXScriptSignal
631GetAttributes(): Dictionary
486GetChildren(): Objects
462GetDebugId(scopeLength: int = 4): string
486GetDescendants(): Array
486GetFullName(): string
462GetPropertyChangedSignal(property: string): RBXScriptSignal
641GetStyled(name: string): Variant
576GetTags(): Array
576HasTag(tag: string): bool
486IsA(className: string): bool
486IsAncestorOf(descendant: Instance): bool
486IsDescendantOf(ancestor: Instance): bool
580IsPropertyModified(name: string): bool
573Remove(): null
576RemoveTag(tag: string): null
580ResetPropertyToDefault(name: string): null
573SetAttribute(attribute: string, value: Variant): null
462WaitForChild(childName: string, timeOut: double): Instance
553children(): Objects
553clone(): Instance
573destroy(): null
553findFirstChild(name: string, recursive: bool = false): Instance
553getChildren(): Objects
462isA(className: string): bool
553isDescendantOf(ancestor: Instance): bool
573remove(): null
462AncestryChanged(child: Instance, parent: Instance)
462AttributeChanged(attribute: string)
462Changed(property: string)
462ChildAdded(child: Instance)
462ChildRemoved(child: Instance)
462DescendantAdded(descendant: Instance)
462DescendantRemoving(descendant: Instance)
500Destroying()
553childAdded(child: Instance)

Description

The BindableEvent object enables custom events through asynchronous one-way communication between scripts on the same side of the client-server boundary. When you fire a BindableEvent through the BindableEvent:Fire() method, the firing script does not yield and the target function receives the passed arguments with certain limitations. BindableEvents create threads of each connected function, so even if one firing errors, others continue.

As an alternative for two-way communication between two scripts on the same side of the client-server boundary, consider BindableFunction.

As stated, BindableEvents do not allow for communication between the server and clients. If you are looking for this functionality, use a RemoteEvent as outlined in Remote Events and Callbacks.

See Custom Events and Callbacks for code samples and further details on BindableEvent.

Parameter Limitations

Any type of Roblox object such as an Enum, Instance, or others can be passed as a parameter when a BindableEvent is fired, as well as Luau types such as numbers, strings, and booleans, although you should carefully explore the limitations.

History 11

Members 2

Event

Parameters (1)
argumentsTuple

Fires when any script calls the Fire() method on the same BindableEvent instance, using the same arguments as parameters.

See Custom Events and Callbacks for code samples and further details on Event.

History 2

Fire

Parameters (1)
argumentsTuple
Returns (1)
null

Fires the BindableEvent which in turn fires the Event event. This method does not yield, even if no script has connected to the event, and even if a connected function yields.

Any type of Roblox object such as an Enum, Instance, or others can be passed as a parameter to Fire(), as well as Luau types such as numbers, strings, and booleans, although you should carefully explore the limitations.

See Custom Events and Callbacks for code samples and further details on Fire().

History 5

  • 573 Change ReturnType of Fire from void to null
  • 486 Change ThreadSafety of Fire from ReadWrite to Safe
  • 483 Change ThreadSafety of Fire from Unsafe to ReadWrite
  • 462 Change ThreadSafety of Fire from to Unsafe
  • 51 Add Fire

Settings