Core Concepts
A short mental model makes the rest of the API predictable.
Conduit is external
Section titled “Conduit is external”Conduit runs as its own process with its own Luau VM. Your scripts do not run
inside Roblox. Instead, Conduit reads and writes the running game through remote
memory, and the Lua API is the interface to all of it. This is why the API has a
memory namespace and why reading instances goes through Conduit rather than a
normal in-game script environment.
Attach state
Section titled “Attach state”Anything that touches the live game (the memory namespace and the game
object model) requires Conduit to be attached to a running engine. Check it with
memory.IsEnabled before you read, and calls will error clearly if no engine is
attached.
The workspace sandbox
Section titled “The workspace sandbox”The file namespace is confined to a per-user workspace directory. Paths are
relative to that directory, and attempts to escape it (absolute paths, .., or
symlinks that leave the workspace) raise an error. This keeps script file access
contained.
The frame loop
Section titled “The frame loop”Scripts drive continuous behavior by registering event handlers with
cheat.Register:
onUpdateruns once per frame. Use it for logic that tracks the game.onPaintruns during the draw pass. Use it with thedrawnamespace to render overlays, matched to the client frame rate.- Lifecycle events like
newPlaceandcharacterAddedlet a script react to the player moving between places or respawning.
Running scripts
Section titled “Running scripts”The run command executes a script and prints its output immediately. Loading a
script without running it is silent by design. Keep prints intentional and
throttled inside frame handlers, since they fire every frame.