3 min read

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

RBXScriptSignal

The RBXScriptSignal data type, more commonly known as an Event, provides a way for user-defined functions, called listeners, to call when something happens in the game. When an event happens, the RBXScriptSignal fires and calls any listeners that are connected to it. An RBXScriptSignal may also pass arguments to each listener to provide extra information about the event.

Methods

NameType / ReturnsDescription
RBXScriptSignal:ConnectRBXScriptConnectionConnects the given function to the event and returns an RBXScriptConnection that represents it.
RBXScriptSignal:ConnectParallelRBXScriptConnectionConnects the given function to the event and returns an RBXScriptConnection that represents it.
RBXScriptSignal:OnceRBXScriptConnectionConnects the given function to the event (for a single invocation) and returns an RBXScriptConnection that represents it.
RBXScriptSignal:WaitVariantYields the current thread until the signal fires and returns the arguments provided by the signal.

RBXScriptSignal:Connect

Establishes a function to be called when the event fires. Returns an RBXScriptConnection object associated with the connection.

Parameters

NameTypeDefaultDescription
funcfunctionThe callback function to invoke each time the event fires.

Returns

TypeDescription
RBXScriptConnectionA connection object that can be used to disconnect the listener from the event.

RBXScriptSignal:ConnectParallel

Establishes a function to be called when the event fires. Returns an RBXScriptConnection object associated with the connection. When the event fires, the signal callback is executed in a desynchronized state. Using ConnectParallel is similar to, but more efficient than, using Connect followed by a call to task.desynchronize() in the signal handler.

Note: Scripts that connect in parallel must be rooted under an Actor.

Parameters

NameTypeDefaultDescription
funcfunctionThe callback function to invoke when the event fires in a parallel execution context.

Returns

TypeDescription
RBXScriptConnectionA connection object that can be used to disconnect the listener from the event.

RBXScriptSignal:Once

Establishes a function to be called when the event fires. Returns an RBXScriptConnection object associated with the connection. The behavior of Once is similar to Connect. However, instead of allowing multiple events to be received by the specified function, only the first event will be delivered. Using Once also ensures that the connection to the function will be automatically disconnected prior the function being called.

Parameters

NameTypeDefaultDescription
funcfunctionThe callback function to invoke the next time the event fires, after which it is automatically disconnected.

Returns

TypeDescription
RBXScriptConnectionA connection object that can be used to disconnect the listener before it fires.

RBXScriptSignal:Wait

Yields the current thread until the signal fires and returns the arguments provided by the signal.

Returns

TypeDescription
VariantThe arguments passed by the signal when it fires.