Are remote events bufferred until the client subscribes to the event?

Hello
When the server sends a remote event to a connected client, but the client has not subscribed to this event yet, does the client buffer the events until the subscription happens and at this moment the waiting events are executed?

Thanks

Apparently they are not:

It makes sense that it wouldn’t be. I mean, 256 piled up is a bit sloppy. That’s pretty generous as it is, and it is serving as the buffer.

Contrary to the answers here, it does! And I have used this behaviour, in a system where the client expects initial data from the server, by having the server send the data without the client asking for it, expecting the client to receive it when connecting to the RemoteEvent

There is however, a limit to how many requests can be buffered, as seen in the error “Remote event invocation queue exhausted”

2 Likes

Indeed,
Tested with the app: remote_event_buffer_test.rbxl (62.8 KB)

According to the observations the buffer keeps first 256 messages and discards the rest.

Though this does not look like a most reliable way for clients to get info from the server.
Also this becomes problematic for next clients connecting to already running server.

In my case, it’s a datastore script, with automatic replication of the data through the remote event. When a player joins, the server just sends the data through that remote. The client expects the first data it receives from that remote to be the initial data. This in theory reduces the time it takes for the client to get the initial data, as the client doesn’t have to send a request for it to the server