Class
RemoteEvent
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#
| FireAllClients | Fires the OnClientEvent event for each
connected client. |
| FireClient | Fires the OnClientEvent event for a
specific client. |
| FireServer | Fires 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.
| Name | Type | Default | Description |
|---|---|---|---|
arguments | Tuple | Values 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.
| Name | Type | Default | Description |
|---|---|---|---|
player | Player | The client of the Player to fire the event to. | |
arguments | Tuple | Values 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.
| Name | Type | Default | Description |
|---|---|---|---|
arguments | Tuple | Values to pass to OnServerEvent
events connected to the same RemoteEvent. |
Returns
()
Events 2#
| OnClientEvent | Fires from a LocalScript when either
FireClient() or
FireAllClients() is called on the
same RemoteEvent instance from a Script. |
| OnServerEvent | Fires 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.
| Name | Type | Default | Description |
|---|---|---|---|
arguments | Tuple | The 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.
| Name | Type | Default | Description |
|---|---|---|---|
player | Player | The Player associated with the client that the
FireServer() call originates from. | |
arguments | Tuple | The parameters sent through
FireServer(). |
Inherited members#
Inherited from Instance 58
Properties (10)
Archivable, archivable, Capabilities, IsInSandbox, Name, Parent, PredictionMode, RobloxLocked, Sandboxed, UniqueId
Methods (39)
AddTag, children, ClearAllChildren, Clone, clone, Destroy, destroy, FindFirstAncestor, FindFirstAncestorOfClass, FindFirstAncestorWhichIsA, FindFirstChild, findFirstChild, FindFirstChildOfClass, FindFirstChildWhichIsA, FindFirstDescendant, GetActor, GetAttribute, GetAttributeChangedSignal, GetAttributes, GetChildren, getChildren, GetDebugId, GetDescendants, GetFullName, GetStyled, GetStyledPropertyChangedSignal, GetTags, HasTag, IsAncestorOf, IsDescendantOf, isDescendantOf, IsPropertyModified, QueryDescendants, Remove, remove, RemoveTag, ResetPropertyToDefault, SetAttribute, WaitForChild