World External · Luau VM

Introduction

What the World External is, why its API looks nothing like a normal executor's, and how to read the rest of this book.

What you are reading

The World External runs outside Roblox. Nothing is injected into the game process. A separate program reads and writes the game's memory from its own Luau VM, and your scripts run in that VM rather than in Roblox's.

That one fact explains every difference you are about to hit. There is no game, no workspace, no Instance — an instance is a number, the address where it lives in the Roblox process. You do not index properties, you call an accessor that knows the byte offset of that property for the current Roblox build.

Nothing injected

No module loaded into Roblox, no thread created inside it. The footprint inside the game process is a great deal smaller.

Addresses, not userdata

get_datamodel() returns a number. Every traversal function takes and returns numbers. Pointers change every session.

Stream proof

The overlay can be hidden from capture software — something the in-process executor cannot do.

Its own API

Scripts written for a standard executor do not drop in. They are rewritten against this surface.

Looking for the standard executor?

If you want game:GetService, real instances, and drop-in compatibility with script hubs, that is the Executor build — switch the reference with the toggle above.

How to read these docs

The sidebar is a reading order, not an index. Work forward through Getting Started, read the two chapters on the app itself, then use the reference chapters as you need them.

  • Getting Started — installing, the difference from the executor build, and a first script that actually reads something.
  • The App — the overlay window, and the settings table that drives it from Luau.
  • Reference — the function surface, one chapter per area, each opening with what it is for.
  • Advanced — offsets, and the guides that put the pieces together.

The arrows at the bottom of each chapter move through the book in order. The search box filters chapters by title, function name and description.

Conventions

Signatures use Luau type notation. [arg: T] marks an optional parameter, -> T the return type. number in an address position always means a pointer into the Roblox process — never an index or a handle.

TypeMeans here
numberAn address, a numeric value, or a pointer — read the parameter name.
booleanMost writes return one: true on success, false if the address was not writable.
tableAn array-like Luau table, usually of addresses.
stringRead out of process memory; length-prefixed strings are handled for you.