Civilization VI GameCore reference
A reference for what Civ VI's GameCore contains, generated from analysis data plus short hand-written notes. Everything is labelled by how you can use it:
Available out of the box. Usable from Lua in the unmodified game.
Needs the Community Extension. Not available in the unmodified game; works while the Community Extension mod is active.
Engine internals. No scripting access today; listed for contributors and for understanding the game.
- Native functions: 367 engine functions without a Lua route (17 already wrapped by the Community Extension).
- Engine ids such as the event ids are listed for decoding hash values.
Start here
Standing on the shoulders of giants
This reference exists because other people did the hard part first.
- Sukrit Tan's Civilization VI Modding Wiki (built from the Civilization VI Modding Knowledge Base) is the community's Lua reference and the standard to match. We use it to mark which Lua methods it already documents, to check our recovered signatures against it, and as the target of the "community reference" links. We do not copy its descriptions. Where it has a page for a method we link to it, so the explanation is one click away. To learn what a method is for, start there.
- The Civilization VI Modding Companion 2.0, created by ChimpanG and expanded and maintained by WildW, is a long-standing spreadsheet of Lua objects, events and constants. We take three things from it: the parameter names and types of Lua events, the Lua names of 19 constant tables (matched to engine enums by value), and the argument names, types and availability of modifier effects, requirements and collections (its descriptions are not copied). Both are credited on their pages. The Companion also covers UI, input and network tables that live outside GameCore, which we do not; use it for those.
- The Civilization VI Community Extension by Wild-W and contributors showed that GameCore can be extended, and documents its additions on its wiki. We read its source and wiki for the function list and the engine addresses it targets, and link each of its functions to the engine function it wraps. Descriptions stay on their wiki.
- The game's own Lua scripts are read to work out what arguments and return values mean. We publish only short call-site snippets, not the scripts.
- Tools: the NSA's Ghidra, pyelftools and pefile, and Steam's depot downloads, which gave us an older Linux build that still carries debug symbols.
Errors in this reference are ours. Corrections and pointers to better sources are welcome.
Generated 2026-10-16. Builds covered: symbol; current; linux.