Roblox UtilitiesDevlHub Roblox Documentation

Class

RemoteEvent

Memory category
Instances

An object which facilitates asynchronous, one-way communication across the client-server boundary. Scripts firing a RemoteEvent do not yield.

The RemoteEvent object facilitates asynchronous, 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 RemoteEvent 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.

If no connected listener exists to handle an event, you might see a Remote event invocation discarded error in the log to indicate that the event was discarded and that you need to implement either OnClientEvent or OnServerEvent. Unlike UnreliableRemoteEvents, RemoteEvents buffer a large number of events before throwing this error.

If you need the result of the call, you should use a RemoteFunction instead. Otherwise a remote event is recommended since it will minimize network traffic/latency and won't yield the script to wait for a response.

See Remote events and callbacks for code samples and further details.

Throttling#

Remote events are subject to rate limits when sent from the client to the server with the FireServer() method. RemoteEvents and UnreliableRemoteEvents both have a limit of approximately 500 requests per second, per client. This limit is shared among all remote events of the same type. To avoid throttling and latency issues, limit recurring remote events whenever possible.

Parameter limitations#

Any type of Roblox object (Enum, Instance, etc.) can be passed as a parameter when a RemoteEvent is fired, as well as Luau types such as numbers, strings, and booleans, although you should carefully explore the limitations.

Methods 3#

FireAllClientsFires the OnClientEvent event for each connected client.
FireClientFires the OnClientEvent event for a specific client.
FireServerFires the OnServerEvent event on the server from one connected client.

FireAllClients(arguments: Tuple): ()#

Fires the OnClientEvent event for each connected client. 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 only works when used in a Script.

NameTypeDefaultDescription
argumentsTupleValues to pass to all OnClientEvent events connected to the same RemoteEvent.
Returns
  • ()

FireClient(player: Player, arguments: Tuple): ()#

Fires the OnClientEvent event for the specific client in the required Player argument. Since this method is used to communicate from the server to a client, it only works when used in a Script.

NameTypeDefaultDescription
playerPlayerThe client of the Player to fire the event to.
argumentsTupleValues to pass to OnClientEvent events connected to the same RemoteEvent.
Returns
  • ()

FireServer(arguments: Tuple): ()#

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 only works when used in a client script.

NameTypeDefaultDescription
argumentsTupleValues to pass to OnServerEvent events connected to the same RemoteEvent.
Returns
  • ()

Events 2#

OnClientEventFires from a LocalScript when either FireClient() or FireAllClients() is called on the same RemoteEvent instance from a Script.
OnServerEventFires from a Script when FireServer() is called on the same RemoteEvent instance from a LocalScript.

OnClientEvent(arguments: Tuple)#

Fires from a LocalScript when either FireClient() or FireAllClients() is called on the same RemoteEvent instance from a Script.

See Remote Events and Callbacks for code samples and further details on OnClientEvent.

NameTypeDefaultDescription
argumentsTupleThe parameters sent through FireClient() or FireAllClients().

OnServerEvent(player: Player, arguments: Tuple)#

Fires from a Script when FireServer() is called on the same RemoteEvent instance from a LocalScript.

See Remote Events and Callbacks for code samples and further details on OnServerEvent.

NameTypeDefaultDescription
playerPlayerThe Player associated with the client that the FireServer() call originates from.
argumentsTupleThe parameters sent through FireServer().

Inherited members#

Inherited from Instance 58
Inherited from Object 6
Properties (2)

ClassName, className

Events (1)

Changed