Broadcast → Fire Methods
Fire Methods
Three methods to fire events to one player, all players, or a subset. All are sent over UnreliableRemoteEvent and subject to the 900-byte payload limit.
Signatures
broadcast:Emit(player: Player, event: string, data: any)
broadcast:EmitAll(event: string, data: any)
broadcast:EmitTo(players: {Player}, event: string, data: any)
Parameters
| Parameter | Type | Description |
|---|---|---|
player | Player | Target player for Emit |
players | {Player} | Target subset for EmitTo |
event | string | Event name — matched by listener:On(event) on the client |
data | any | Payload. Serialised over UnreliableRemoteEvent. Must be ≤ 900 bytes. |
Usage
local broadcast = RoExpress("Broadcast")
-- To one player
broadcast:Emit(player, "hit", { dmg = 35, pos = hitPos })
-- To all players in the server
broadcast:EmitAll("explosion", { pos = blast.Position, radius = 20 })
-- To a specific subset
broadcast:EmitTo({ p1, p2, p3 }, "zoneEnter", { zoneId = 4 })
Receiving on the client
Broadcast events are received by Listener using listener:On(event, callback):
-- Server
broadcast:EmitAll("hit", { dmg = 35, pos = hit.Position })
-- Client
local listener = RoExpress("Listener")
listener:On("hit", function(data)
spawnDamageNumber(data.pos, data.dmg)
end)
Broadcast vs Push
| Feature | Broadcast | Push |
|---|---|---|
| Transport | UnreliableRemoteEvent | RemoteEvent |
| Guaranteed delivery | No | Yes |
| In-order delivery | No | Yes |
| Payload limit | 900 bytes | Roblox standard |
| Rate limited | Yes — global TokenBucket | No (server-initiated) |
| Best for | Damage numbers, movement hints, visual FX | Inventory sync, round events, state changes |
900-byte limit. The UnreliableRemoteEvent payload cap is a Roblox engine limit. Keep broadcast data small — event names, positions, and scalar values fit easily. For large payloads, use Push instead.
See also
← Broadcast · Rate Limiting | throttling broadcast volume · Push | reliable alternative for critical events · Listener | client-side event subscription