Shared API
Hook
Priority-ordered event dispatcher for every Roblox built-in signal plus a custom event bus. Multiple systems can subscribe to the same event and run in a guaranteed order — no more arbitrary connection ordering.
Import
local Hook = RoExpress.Hook
core
Subscribing
Register handlers with a priority number or named tier. Named handlers can be removed later. Run once and auto-remove with Hook.Once.
Hook() · Hook.Once · Hook.Off · Hook.Clear · Hook.Has
→
concept
Priority System
Lower number runs first. Named aliases — first, high, normal, low, last — map to 0–100. Multiple handlers at the same priority run in registration order.
0 → 25 → 50 → 75 → 100
→
reference
Signal Catalog
All ~60 mapped Roblox signals across Players, RunService, UserInputService, MarketplaceService, CollectionService, and more.
PlayerAdded · Heartbeat · InputBegan · TagAdded:tag · …
→
events
Custom Events
Any key not in the signal catalog is a custom event. Fire it from anywhere, subscribe from anywhere — same priority and id system as built-in signals.
Hook.Fire · Hook() · Hook.Has
→
See also
Bridge | server-side internal event bus · Listener | client-side server push subscriptions · App | route middleware (different pipeline)