Signal… Oh Signal… Long ago in Roblox’s history, a faux-native way to create custom signals was possible via the RbxUtility library. The fact the library was somewhat lacking, along with the fact that the library literally no long exists, lead to a power vacuum which BindableEvents awkwardly sit next to. Nowwehavethesinglemostreinventedwheelinroblox’shistory.
As for BindableEvents . They have their own issues because they are generally less performant than pure luau implementations because they must carry the baggage of Instance.new-ing the BindableEvents. Typed RbxScriptSignals are also impossible, so many modern signal librarys allow for Signal.new() :: Signal<whatever> to make up for this. But also, the high demand for a Signal class should be enough evidence for BindableEvents being insufficient.
I feel like the implementation for a native Signal object should be fairly obvious, (a simple Signal.new() constructor) but it’s worth considering if they should match BindableEvent behavior of hiding Connect and Wait inside an Event property, or if Connect, Wait, and Fire should all be exposed on the same level like many modern signal implementations do.
You should really just not comment on a feature request if you have nothing valuable to add to it. Not everything needs to be micro-optimized into an unreadable hell just for a .0001% performance gain.
That not much to do with optimization but with clarity and that is the bigger problem
You run away and lose trust or understanding of own code.
Also not avoiding total avoidable performance lose of any kind and seeking justification rather than solution is when logic dies and arrogance steps in.
3 lines of direct code will always win 10 lines of abstraction bloat, its facts you can’t deny
To be honest I don’t think there is enough motivation for this especially when there are many Signal library out there. As for Bindable event, sure Roblox do really need to improve its performance. I mainly use bindable event for communicating between scripts especially parallel scripting.
We already have RBXScriptSignal that is used internally by the engine, so something delegated to game use natively could be an interesting concept.
However I don’t disagree with everyone else here; the solution was already made by the community and there wouldn’t be much of an incentive to use it over existing resources.