Push → Reliability

Reliability

Push uses Roblox's standard RemoteEvent, which guarantees that every fired event arrives at the client in the order it was sent. No 900-byte cap. No silent drops.

Transport comparison

Push (app:Push)Broadcast (broadcast:Emit)
RemoteRemoteEventUnreliableRemoteEvent
DeliveryGuaranteedMay drop under load
OrderPreservedNot guaranteed
Payload capRoblox standard (no 900-byte limit)900 bytes
Rate limitedNo (server-initiated)Yes — per-player TokenBucket
Best forInventory, state sync, round eventsHUD pings, position hints, visual FX

Why Push is not rate limited

Rate limiting on the main App channel and Broadcast exists to protect the server from client-driven abuse. Push is server-initiated — the server controls when and how often it fires. There is no client-side attack surface to limit, so no TokenBucket is applied.

No 900-byte cap on Push

The 900-byte restriction is a Roblox engine limit on UnreliableRemoteEvent, which Broadcast uses. Push fires over a standard RemoteEvent and is subject only to Roblox's normal RemoteEvent payload size. For most game data (inventory tables, round state, player stats) this is not a concern.

Still be reasonable. While Push has no hard 900-byte cap, sending multi-kilobyte payloads over RemoteEvent on every frame will degrade performance. Push large state once on join or on change, not every heartbeat.

When to choose Push vs Broadcast

ScenarioUse
Player's inventory changedPush — must arrive, must be current
Round start / endPush — all players must receive it
Player data on joinPush — critical state sync
Damage number at a positionBroadcast — lossy OK, high frequency
Player movement hint for other clientsBroadcast — stale data is fine, volume is high
Visual hit effectBroadcast — dropped frames are imperceptible

See also

← Push  ·  Push Methods | Push / PushAll / PushTo signatures  ·  Broadcast | unreliable alternative  ·  Broadcast Fire Methods | Emit / EmitAll / EmitTo