UnreliableRemoteEvent

Show Deprecated

The UnreliableRemoteEvent object is a variant of the RemoteEvent object. It facilitates asynchronous, unordered and unreliable, one-way communication across the client-server boundary without yielding for a response. This communication can be directed from one client to the server, from the server to a specific client, or from the server to all clients.

In order for both the server and clients to access a UnreliableRemoteEvent instance, it must be in a place where both sides can see it, such as ReplicatedStorage, although in some cases it's appropriate to store it in Workspace or inside a Tool.

UnreliableRemoteEvent is best used for ephemeral events including effects that are only relevant for a short time, or for replicating continuously changing data. These events are not resent if they are lost and they do not wait for previously fired events to arrive before being processed, potentially resulting in reduced latency and network traffic. When requiring ordering and reliability, use a RemoteEvent instead.

Parameter Limitations

Any type of Roblox object such as an Enum, Instance, or others can be passed as a parameter when a UnreliableRemoteEvent is fired, as well as Luau types such as numbers, strings, and booleans, although you should carefully explore the limitations. There is also a 900 byte limit to the payload of an UnreliableRemoteEvent. Larger payloads will be dropped. See the corresponding method description for more details.

Summary

Methods

Events

Properties

Methods

FireAllClients

void

Fires the OnClientEvent event for each client connected to the same UnreliableRemoteEvent. Unlike FireClient(), this event does not take a target Player as the first argument, since it fires to multiple clients. Since this method is used to communicate from the server to clients, it will only work when used in a Script.

Any type of Roblox object such as an Enum, Instance, or others can be passed as a parameter to FireAllClients(), as well as Luau types such as numbers, strings, and booleans, although you should carefully explore the limitations.

Events with payloads larger than 900 bytes will be dropped. When this happens in Studio, a log message in the Output window will indicate by how many bytes the event has gone over.

Parameters

arguments: Tuple

Values to pass to all OnClientEvent events connected to the same UnreliableRemoteEvent.


Returns

void

FireClient

void

Fires the OnClientEvent event for one connected client specified by the required Player argument. Since this method is used to communicate from the server to a client, it will only work when used in a Script.

Any type of Roblox object such as an Enum, Instance, or others can be passed as a parameter to FireClient(), as well as Luau types such as numbers, strings, and booleans, although you should carefully explore the limitations.

Events with payloads larger than 900 bytes will be dropped. When this happens in Studio, a log message in the Output window will indicate by how many bytes the event has gone over.

See also FireAllClients() which works similarly but fires the event for each client connected to the same UnreliableRemoteEvent.

Parameters

player: Player

The client of the Player to fire the event to.

arguments: Tuple

Values to pass to OnClientEvent events connected to the same UnreliableRemoteEvent.


Returns

void

FireServer

void

Fires the OnServerEvent event on the server from one client. Connected events receive the Player argument of the firing client. Since this method is used to communicate from a client to the server, it will only work when used in a LocalScript.

Any type of Roblox object such as an Enum, Instance, or others can be passed as a parameter to FireServer(), as well as Luau types such as numbers, strings, and booleans, although you should carefully explore the limitations.

Events with payloads larger than 900 bytes will be dropped. When this happens in Studio, a log message in the Output window will indicate by how many bytes the event has gone over.

Parameters

arguments: Tuple

Values to pass to OnServerEvent events connected to the same UnreliableRemoteEvent.


Returns

void

Events

OnClientEvent

Fires from a LocalScript when either FireClient() or FireAllClients() is called on the same UnreliableRemoteEvent instance from a Script, although this firing is not guaranteed even if one of the above methods are called. This can occur due to packet loss or to maintain optimal engine performance.

Also note that it is not guaranteed that the order of events will match the order of FireClient() or FireAllClients() calls.

Parameters

arguments: Tuple

The parameters sent through FireClient() or FireAllClients().


OnServerEvent

Fires from a Script when FireServer() is called on the same UnreliableRemoteEvent instance from a LocalScript, although this firing is not guaranteed even if the above methods is called. This can occur due to packet loss or to maintain optimal engine performance.

Also note that it is not guaranteed that the order of events will match the order of FireServer() calls.

Parameters

player: Player

The Player associated with the client that the FireServer() call originates from.

arguments: Tuple

The parameters sent through FireServer().