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
553Name: string
553Parent: Instance
635Sandboxed: bool
616UniqueId: UniqueId
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
648GetChildren(): Instances
462GetDebugId(scopeLength: int = 4): string
486GetDescendants(): Array
486GetFullName(): string
641GetStyled(name: string): Variant
576GetTags(): Array
576HasTag(tag: 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
648children(): Instances
553clone(): Instance
573destroy(): null
553findFirstChild(name: string, recursive: bool = false): Instance
648getChildren(): Instances
553isDescendantOf(ancestor: Instance): bool
573remove(): null
462AncestryChanged(child: Instance, parent: Instance)
462AttributeChanged(attribute: string)
462ChildAdded(child: Instance)
462ChildRemoved(child: Instance)
462DescendantAdded(descendant: Instance)
462DescendantRemoving(descendant: Instance)
500Destroying()
553childAdded(child: Instance)
inherited from Object
647ClassName: string
647className: string
647GetPropertyChangedSignal(property: string): RBXScriptSignal
647IsA(className: string): bool
650isA(className: string): bool
647Changed(property: string)

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