Skip to main content

Remote

A wrapper around RemoteEvent, UnreliableRemoteEvent, and RemoteFunction that combines their interfaces into a single object. Instances are created and retrieved via GetRemote.

Functions

OnEvent

Remote:OnEvent(
callbackfunction,--

The callback to invoke when the event fires

rateLimitIntervalnumber?--

If provided, rate-limits the callback to this interval in seconds

) → RBXScriptConnection

Connects the provided callback to the remote's event. Context is determined automatically. If a rateLimitInterval is provided, events fired within that duration will be queued and only the latest arguments processed. This can prevent remote spam, but may cause events to be dropped if set too high.

OnServerEvent and OnClientEvent are aliases for this method.

OnUnreliableEvent

Remote:OnUnreliableEvent(
callbackfunction,--

The callback to invoke when the event fires

rateLimitIntervalnumber?--

If provided, rate-limits the callback to this interval in seconds

) → RBXScriptConnection

Connects the provided callback to the remote's unreliable event. Context is determined automatically. If a rateLimitInterval is provided, events fired within that duration will be queued and only the latest arguments processed. This can prevent remote spam, but may cause events to be dropped if set too high.

OnServerUnreliableEvent and OnClientUnreliableEvent are aliases for this method.

FireClient

This item only works when running on the server. Server
Remote:FireClient(
playerPlayer,--

The player to fire the event to

...any--

The arguments to pass to the client

) → ()

Fires the remote's event to the given player. Identical to RemoteEvent:FireClient().

FireClientUnreliable

This item only works when running on the server. Server
Remote:FireClientUnreliable(
playerPlayer,--

The player to fire the event to

...any--

The arguments to pass to the client

) → ()

Fires the remote's event to the given player using an unreliable connection. Identical to UnreliableRemoteEvent:FireClient().

Also accessible as FireClientFast.

FireClientList

This item only works when running on the server. Server
Remote:FireClientList(
playerList{Player},--

The list of players to fire the event to

...any--

The arguments to pass to the clients

) → ()

Fires the remote's event to each player in the provided list.

FireClientListUnreliable

This item only works when running on the server. Server
Remote:FireClientListUnreliable(
playerList{Player},--

The list of players to fire the event to

...any--

The arguments to pass to the clients

) → ()

Fires the remote's event to each player in the provided list using an unreliable connection.

Also accessible as FireClientListFast.

FireAllClients

This item only works when running on the server. Server
Remote:FireAllClients(
...any--

The arguments to pass to the clients

) → ()

Fires the remote's event to all players. Identical to RemoteEvent:FireAllClients().

FireAllClientsUnreliable

This item only works when running on the server. Server
Remote:FireAllClientsUnreliable(
...any--

The arguments to pass to the clients

) → ()

Fires the remote's event to all players using an unreliable connection. Identical to UnreliableRemoteEvent:FireAllClients().

Also accessible as FireAllClientsFast.

FireAllExcept

This item only works when running on the server. Server
Remote:FireAllExcept(
excludedPlayer | {Player},--

The player(s) to exclude

...any--

The arguments to pass to the clients

) → ()

Fires the remote's event to all players except the given player or list of players.

Also accessible as FireAllClientsExcept.

FireAllExceptUnreliable

This item only works when running on the server. Server
Remote:FireAllExceptUnreliable(
excludedPlayer | {Player},--

The player(s) to exclude

...any--

The arguments to pass to the clients

) → ()

Fires the remote's event to all players except the given player or list of players using an unreliable connection.

Also accessible as FireAllExceptFast, FireAllClientsExceptUnreliable, and FireAllClientsExceptFast.

FireServer

This item only works when running on the client. Client
Remote:FireServer(
...any--

The arguments to pass to the server

) → ()

Fires the remote's event to the server. Identical to RemoteEvent:FireServer().

FireServerUnreliable

This item only works when running on the client. Client
Remote:FireServerUnreliable(
...any--

The arguments to pass to the server

) → ()

Fires the remote's event to the server using an unreliable connection. Identical to UnreliableRemoteEvent:FireServer().

Also accessible as FireServerFast.

Fire

Remote:Fire(
...any--

The arguments to pass

) → ()

Fires the remote's event, automatically routing by context: uses :FireServer() on the client, or :FireAllClients() on the server.

FireUnreliable

Remote:FireUnreliable(
...any--

The arguments to pass

) → ()

Fires the remote's event using an unreliable connection, automatically routing by context: uses :FireServerUnreliable() on the client, or :FireAllClientsUnreliable() on the server.

Also accessible as FireFast.

InvokeClient

This item only works when running on the server. ServerThis is a yielding function. When called, it will pause the Lua thread that called the function until a result is ready to be returned, without interrupting other scripts. Yields
Remote:InvokeClient(
playerPlayer,--

The player to invoke the function on

...any--

The arguments to pass

) → any

Invokes the remote's function on the given player. Identical to RemoteFunction:InvokeClient().

InvokeServer

This item only works when running on the client. ClientThis is a yielding function. When called, it will pause the Lua thread that called the function until a result is ready to be returned, without interrupting other scripts. Yields
Remote:InvokeServer(
...any--

The arguments to pass

) → any

Invokes the remote's function on the server. Identical to RemoteFunction:InvokeServer().

Invoke

This is a yielding function. When called, it will pause the Lua thread that called the function until a result is ready to be returned, without interrupting other scripts. Yields
Remote:Invoke(
...any--

The arguments to pass (first arg is the target Player when called from server)

) → any

Invokes the remote's function, automatically routing by context: uses :InvokeServer() on the client, or :InvokeClient() on the server. When calling from the server, the first argument should be the target Player.

OnInvoke

Remote:OnInvoke(
callbackfunction--

The callback to invoke when the function is called

) → ()

Sets the callback for the remote's function. Equivalent to setting RemoteFunction.OnServerInvoke or RemoteFunction.OnClientInvoke. Context is determined automatically.

OnServerInvoke and OnClientInvoke are aliases for this method.

Show raw api
{
    "functions": [
        {
            "name": "OnEvent",
            "desc": "Connects the provided callback to the remote's event. Context is determined\nautomatically. If a `rateLimitInterval` is provided, events fired within\nthat duration will be queued and only the latest arguments processed. This\ncan prevent remote spam, but may cause events to be dropped if set too high.\n\n`OnServerEvent` and `OnClientEvent` are aliases for this method.",
            "params": [
                {
                    "name": "callback",
                    "desc": "The callback to invoke when the event fires",
                    "lua_type": "function"
                },
                {
                    "name": "rateLimitInterval",
                    "desc": "If provided, rate-limits the callback to this interval in seconds",
                    "lua_type": "number?"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "RBXScriptConnection"
                }
            ],
            "function_type": "method",
            "source": {
                "line": 333,
                "path": "src/shared/core/lib/GetRemote.luau"
            }
        },
        {
            "name": "OnUnreliableEvent",
            "desc": "Connects the provided callback to the remote's unreliable event. Context is\ndetermined automatically. If a `rateLimitInterval` is provided, events fired\nwithin that duration will be queued and only the latest arguments processed.\nThis can prevent remote spam, but may cause events to be dropped if set too\nhigh.\n\n`OnServerUnreliableEvent` and `OnClientUnreliableEvent` are aliases for this method.",
            "params": [
                {
                    "name": "callback",
                    "desc": "The callback to invoke when the event fires",
                    "lua_type": "function"
                },
                {
                    "name": "rateLimitInterval",
                    "desc": "If provided, rate-limits the callback to this interval in seconds",
                    "lua_type": "number?"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "RBXScriptConnection"
                }
            ],
            "function_type": "method",
            "source": {
                "line": 363,
                "path": "src/shared/core/lib/GetRemote.luau"
            }
        },
        {
            "name": "FireClient",
            "desc": "Fires the remote's event to the given player. Identical to `RemoteEvent:FireClient()`.",
            "params": [
                {
                    "name": "player",
                    "desc": "The player to fire the event to",
                    "lua_type": "Player"
                },
                {
                    "name": "...",
                    "desc": "The arguments to pass to the client",
                    "lua_type": "any"
                }
            ],
            "returns": [],
            "function_type": "method",
            "realm": [
                "Server"
            ],
            "source": {
                "line": 385,
                "path": "src/shared/core/lib/GetRemote.luau"
            }
        },
        {
            "name": "FireClientUnreliable",
            "desc": "Fires the remote's event to the given player using an unreliable connection.\nIdentical to `UnreliableRemoteEvent:FireClient()`.\n\nAlso accessible as `FireClientFast`.",
            "params": [
                {
                    "name": "player",
                    "desc": "The player to fire the event to",
                    "lua_type": "Player"
                },
                {
                    "name": "...",
                    "desc": "The arguments to pass to the client",
                    "lua_type": "any"
                }
            ],
            "returns": [],
            "function_type": "method",
            "realm": [
                "Server"
            ],
            "source": {
                "line": 405,
                "path": "src/shared/core/lib/GetRemote.luau"
            }
        },
        {
            "name": "FireClientList",
            "desc": "Fires the remote's event to each player in the provided list.",
            "params": [
                {
                    "name": "playerList",
                    "desc": "The list of players to fire the event to",
                    "lua_type": "{Player}"
                },
                {
                    "name": "...",
                    "desc": "The arguments to pass to the clients",
                    "lua_type": "any"
                }
            ],
            "returns": [],
            "function_type": "method",
            "realm": [
                "Server"
            ],
            "source": {
                "line": 424,
                "path": "src/shared/core/lib/GetRemote.luau"
            }
        },
        {
            "name": "FireClientListUnreliable",
            "desc": "Fires the remote's event to each player in the provided list using an\nunreliable connection.\n\nAlso accessible as `FireClientListFast`.",
            "params": [
                {
                    "name": "playerList",
                    "desc": "The list of players to fire the event to",
                    "lua_type": "{Player}"
                },
                {
                    "name": "...",
                    "desc": "The arguments to pass to the clients",
                    "lua_type": "any"
                }
            ],
            "returns": [],
            "function_type": "method",
            "realm": [
                "Server"
            ],
            "source": {
                "line": 449,
                "path": "src/shared/core/lib/GetRemote.luau"
            }
        },
        {
            "name": "FireAllClients",
            "desc": "Fires the remote's event to all players. Identical to `RemoteEvent:FireAllClients()`.",
            "params": [
                {
                    "name": "...",
                    "desc": "The arguments to pass to the clients",
                    "lua_type": "any"
                }
            ],
            "returns": [],
            "function_type": "method",
            "realm": [
                "Server"
            ],
            "source": {
                "line": 472,
                "path": "src/shared/core/lib/GetRemote.luau"
            }
        },
        {
            "name": "FireAllClientsUnreliable",
            "desc": "Fires the remote's event to all players using an unreliable connection.\nIdentical to `UnreliableRemoteEvent:FireAllClients()`.\n\nAlso accessible as `FireAllClientsFast`.",
            "params": [
                {
                    "name": "...",
                    "desc": "The arguments to pass to the clients",
                    "lua_type": "any"
                }
            ],
            "returns": [],
            "function_type": "method",
            "realm": [
                "Server"
            ],
            "source": {
                "line": 486,
                "path": "src/shared/core/lib/GetRemote.luau"
            }
        },
        {
            "name": "FireAllExcept",
            "desc": "Fires the remote's event to all players except the given player or list of\nplayers.\n\nAlso accessible as `FireAllClientsExcept`.",
            "params": [
                {
                    "name": "excluded",
                    "desc": "The player(s) to exclude",
                    "lua_type": "Player | {Player}"
                },
                {
                    "name": "...",
                    "desc": "The arguments to pass to the clients",
                    "lua_type": "any"
                }
            ],
            "returns": [],
            "function_type": "method",
            "realm": [
                "Server"
            ],
            "source": {
                "line": 503,
                "path": "src/shared/core/lib/GetRemote.luau"
            }
        },
        {
            "name": "FireAllExceptUnreliable",
            "desc": "Fires the remote's event to all players except the given player or list of\nplayers using an unreliable connection.\n\nAlso accessible as `FireAllExceptFast`, `FireAllClientsExceptUnreliable`, and `FireAllClientsExceptFast`.",
            "params": [
                {
                    "name": "excluded",
                    "desc": "The player(s) to exclude",
                    "lua_type": "Player | {Player}"
                },
                {
                    "name": "...",
                    "desc": "The arguments to pass to the clients",
                    "lua_type": "any"
                }
            ],
            "returns": [],
            "function_type": "method",
            "realm": [
                "Server"
            ],
            "source": {
                "line": 530,
                "path": "src/shared/core/lib/GetRemote.luau"
            }
        },
        {
            "name": "FireServer",
            "desc": "Fires the remote's event to the server. Identical to `RemoteEvent:FireServer()`.",
            "params": [
                {
                    "name": "...",
                    "desc": "The arguments to pass to the server",
                    "lua_type": "any"
                }
            ],
            "returns": [],
            "function_type": "method",
            "realm": [
                "Client"
            ],
            "source": {
                "line": 555,
                "path": "src/shared/core/lib/GetRemote.luau"
            }
        },
        {
            "name": "FireServerUnreliable",
            "desc": "Fires the remote's event to the server using an unreliable connection.\nIdentical to `UnreliableRemoteEvent:FireServer()`.\n\nAlso accessible as `FireServerFast`.",
            "params": [
                {
                    "name": "...",
                    "desc": "The arguments to pass to the server",
                    "lua_type": "any"
                }
            ],
            "returns": [],
            "function_type": "method",
            "realm": [
                "Client"
            ],
            "source": {
                "line": 573,
                "path": "src/shared/core/lib/GetRemote.luau"
            }
        },
        {
            "name": "Fire",
            "desc": "Fires the remote's event, automatically routing by context: uses\n`:FireServer()` on the client, or `:FireAllClients()` on the server.",
            "params": [
                {
                    "name": "...",
                    "desc": "The arguments to pass",
                    "lua_type": "any"
                }
            ],
            "returns": [],
            "function_type": "method",
            "source": {
                "line": 586,
                "path": "src/shared/core/lib/GetRemote.luau"
            }
        },
        {
            "name": "FireUnreliable",
            "desc": "Fires the remote's event using an unreliable connection, automatically\nrouting by context: uses `:FireServerUnreliable()` on the client, or\n`:FireAllClientsUnreliable()` on the server.\n\nAlso accessible as `FireFast`.",
            "params": [
                {
                    "name": "...",
                    "desc": "The arguments to pass",
                    "lua_type": "any"
                }
            ],
            "returns": [],
            "function_type": "method",
            "source": {
                "line": 605,
                "path": "src/shared/core/lib/GetRemote.luau"
            }
        },
        {
            "name": "InvokeClient",
            "desc": "Invokes the remote's function on the given player. Identical to\n`RemoteFunction:InvokeClient()`.",
            "params": [
                {
                    "name": "player",
                    "desc": "The player to invoke the function on",
                    "lua_type": "Player"
                },
                {
                    "name": "...",
                    "desc": "The arguments to pass",
                    "lua_type": "any"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "any"
                }
            ],
            "function_type": "method",
            "realm": [
                "Server"
            ],
            "yields": true,
            "source": {
                "line": 627,
                "path": "src/shared/core/lib/GetRemote.luau"
            }
        },
        {
            "name": "InvokeServer",
            "desc": "Invokes the remote's function on the server. Identical to\n`RemoteFunction:InvokeServer()`.",
            "params": [
                {
                    "name": "...",
                    "desc": "The arguments to pass",
                    "lua_type": "any"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "any"
                }
            ],
            "function_type": "method",
            "realm": [
                "Client"
            ],
            "yields": true,
            "source": {
                "line": 641,
                "path": "src/shared/core/lib/GetRemote.luau"
            }
        },
        {
            "name": "Invoke",
            "desc": "Invokes the remote's function, automatically routing by context: uses\n`:InvokeServer()` on the client, or `:InvokeClient()` on the server. When\ncalling from the server, the first argument should be the target `Player`.",
            "params": [
                {
                    "name": "...",
                    "desc": "The arguments to pass (first arg is the target Player when called from server)",
                    "lua_type": "any"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "any"
                }
            ],
            "function_type": "method",
            "yields": true,
            "source": {
                "line": 655,
                "path": "src/shared/core/lib/GetRemote.luau"
            }
        },
        {
            "name": "OnInvoke",
            "desc": "Sets the callback for the remote's function. Equivalent to setting\n`RemoteFunction.OnServerInvoke` or `RemoteFunction.OnClientInvoke`.\nContext is determined automatically.\n\n`OnServerInvoke` and `OnClientInvoke` are aliases for this method.",
            "params": [
                {
                    "name": "callback",
                    "desc": "The callback to invoke when the function is called",
                    "lua_type": "function"
                }
            ],
            "returns": [],
            "function_type": "method",
            "source": {
                "line": 674,
                "path": "src/shared/core/lib/GetRemote.luau"
            }
        }
    ],
    "properties": [],
    "types": [],
    "name": "Remote",
    "desc": "A wrapper around `RemoteEvent`, `UnreliableRemoteEvent`, and `RemoteFunction`\nthat combines their interfaces into a single object. Instances are created\nand retrieved via [GetRemote](/api/GetRemote).",
    "source": {
        "line": 99,
        "path": "src/shared/core/lib/GetRemote.luau"
    }
}