An insanely fast, memory efficient, fully typed, featureful,
lightweight, open-source script signal module for Roblox.
Performance, efficiency, features.
Signal+ is for developers who strive for performance and efficiency.
And it still has all the features you’ll ever need!
It’s perhaps the best of its kind,
beating the top alternatives like
Good-, Lemon- and FastSignal.
An unprecedented level of optimization for
script signals, available for completely free!
Get started!
💡 Tutorial
Quick setup
Let’s first get the module. There are two ways:
-
Get it from the creator store:
- Click
Get
at the top of this post. - Click
Get Model
on the store. - Open the ToolBox in Roblox Studio.
- Go to the
Inventory
tab. - Click on
Signal+
.
- Click
-
Get it from GitHub:
- Click
Git
at the top of this post. - Go to
Releases
. - Download the latest
.rbxm
file. - Find the file in your file explorer.
- Drag the file into Roblox Studio.
- Click
Basics
In any script, simply require the module. It will return a signal creation function.
local signalPlus = require(script.SignalPlus)
local mySignal = signalPlus() -- Creates a new signal.
Custom types
It’s extremely easy to define custom types for your signals.
You can provide your own parameters as shown in the screenshot.
local mySignal = signalPlus() :: signalPlus.Signal<PARAMETERS_HERE>
Not only will Connect
and Once
display your custom parameters, but so will Fire
.
Documentation
signalPlus()
→ Signal
Signal:
-
:Connect(Function)
→ Connection- Connects the given function.
-
:Once(Function)
→ Connection- Connects the given function, but disconnects after first fire.
-
:Wait()
→ Arguments- Yields the current thread until the next fire.
-
:Fire()
- Fires all callbacks and resumes all waiting threads.
-
:DisconnectAll()
- Disconnects all connections.
-
:Destroy()
- Disconnects all connections, and makes the signal unusable.
Connection:
-
:Disconnect()
- Disconnects the connection.
To reconnect, make a new connection.
- Disconnects the connection.
-
.Connected
→ boolean
Don’t forget to stay up-to-date!
It’s highly recommended to have the latest version at all times. This ensures:
- Newest features.
- Best performance.
- Little to no bugs.
You can view all releases (versions) and what they contain at the GitHub repository.
Major updates will be posted here, in the replies section, too.
Share your thoughts!
If you have any questions, feel free to leave them below.
But most importantly:
- Report any bugs or mistakes you find for this asset and post!
- Consider providing feedback to help me and the asset improve!