# This file is automatically generated. Please don't edit it manually. # To submit a bug report on the content, see # https://devforum.roblox.com/c/bug-reports/documentation-issues/72 name: BindableEvent type: class memory_category: Instances summary: | 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 `Class.BindableEvent` do not yield. description: | The **BindableEvent** object enables custom events through asynchronous one-way communication between scripts on the same side of the [client-server](../../../projects/client-server.md) boundary. When you fire a `Class.BindableEvent` through the `Class.BindableEvent:Fire()` method, the firing script does **not** yield and the target function receives the passed arguments with certain [limitations](#argument-limitations). `Class.BindableEvent|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 `Class.BindableFunction`. As stated, `Class.BindableEvent|BindableEvents` do not allow for communication between the server and clients. If you are looking for this functionality, use a `Class.RemoteEvent` as outlined in [Remote Events and Callbacks](../../../scripting/events/remote.md). See [Bindable events and callbacks](../../../scripting/events/bindable.md) for code samples and further details on `Class.BindableEvent`. #### Parameter Limitations Any type of Roblox object such as an `Datatype.Enum`, `Class.Instance`, or others can be passed as a parameter when a `Class.BindableEvent` is fired, as well as Luau types such as numbers, strings, and booleans, although you should carefully explore the [limitations](../../../scripting/events/bindable.md#argument-limitations). code_samples: [] inherits: - Instance descendants: [] tags: [] deprecation_message: '' properties: [] methods: - name: BindableEvent:Fire summary: | Fires the `Class.BindableEvent` which in turn fires the `Class.BindableEvent.Event|Event` event. description: | Fires the `Class.BindableEvent` which in turn fires the `Class.BindableEvent.Event|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 `Datatype.Enum`, `Class.Instance`, or others can be passed as a parameter to `Class.BindableEvent:Fire()|Fire()`, as well as Luau types such as numbers, strings, and booleans, although you should carefully explore the [limitations](../../../scripting/events/bindable.md#argument-limitations). See [Bindable events and callbacks](../../../scripting/events/bindable.md) for code samples and further details on `Class.BindableEvent:Fire()|Fire()`. code_samples: [] parameters: - name: arguments type: Tuple default: summary: | Values to pass to `Class.BindableEvent.Event|Event` events connected to the same `Class.BindableEvent`. returns: - type: () summary: '' tags: [] deprecation_message: '' security: None thread_safety: Safe capabilities: [] events: - name: BindableEvent.Event summary: | Fires when any script calls the `Class.BindableEvent:Fire()|Fire()` method on the same `Class.BindableEvent` instance. description: | Fires when any script calls the `Class.BindableEvent:Fire()|Fire()` method on the same `Class.BindableEvent` instance, using the same arguments as parameters. See [Bindable events and callbacks](../../../scripting/events/bindable.md) for code samples and further details on `Class.BindableEvent.Event|Event`. code_samples: [] parameters: - name: arguments type: Tuple default: summary: | The parameters sent through `Class.BindableEvent:Fire()|Fire()`. tags: [] deprecation_message: '' security: None capabilities: [] callbacks: []