Remotes and modules
Every RemoteEvent, RemoteFunction and loaded ModuleScript a scan found, with fire and require helpers.
The Remotes and Modules tabs both read the result of a scan. Nothing scans automatically, so press Scan in the sidebar first. Until then both tabs are empty.
The Spy tab lists calls that happened. These two list what exists in the game.
Remotes#
Every RemoteEvent and RemoteFunction the scan found, with its path, its class
and how many listeners it has. Names that appear more than once collapse into one
group; names that are unique sit in Ungrouped.
Each row copies its path or reveals itself in the Explorer. Click one to open it:
- Type arguments as Lua (
"Walk", 42, true) and press Fire, or press Enter. - A
RemoteFunctionreply is shown underneath. - Copy gives you the whole call as Lua.
- Every fire is logged to the Spy stream, marked as yours.
Inspect handlers dumps every listener connected on the client: where it was defined, its upvalues, its constants and its nested functions.
No connections is a normal answer
For a RemoteEvent, an empty handler list usually means the game only listens on
the server, which the client cannot see.
Modules#
Every loaded ModuleScript, with the functions it returns and the ones it keeps
as upvalues. The filter matches both the path and the function names, so you can
search for a function and find the module it lives in.
The copy button gives you local M = require(path). Click a row for three views:
| View | What it shows |
|---|---|
| API | Every function with its argument names. Upvalue functions are marked |
| State | Upvalues and constants, per function. Numbers, booleans and strings are editable and the edit hits the live closure |
| Bytecode | The module's bytecode, if the executor exposes getscriptbytecode |
Empty State means the module is not loaded
Upvalues and constants only exist once something has required the module. Require
it in-game and read it again. Some executors also lack getupvalues and
getconstants, in which case the view stays empty.