How a page is laid out
Signature
The type signature, including optional arguments and the real return shape.
Parameters and returns
Every argument and return value, typed, with the default Athena applies when
an argument is omitted.
Behavior
What the function does, including the cases that only surface in actors,
parallel phases, or across Lua states.
Errors
The exact message a call can raise and the condition behind it, so you can
guard against the condition precisely.
The three environments
Athena works with three environments. Keeping them straight avoids most confusing script behavior.Identity and capabilities
Code you run through Athena executes with an elevated thread identity and a capability set the game’s own scripts do not have. That identity is what letsgame:HttpGet, protected-property access, and the reflection library work. It is
also what the environment checks before it treats a thread as yours. See
Conventions for how identity and yielding apply across the whole
environment.
This documentation is versioned with the Athena build it describes. Signatures
and behavior can change between releases, and each page reflects the current
build.