Home › Dev CE (experimental)

Experimental: needs Dev CE (fork of the Community Extension, release zip and source). A GameCore that adds these Lua methods by calling engine functions directly. Not part of the upstream Community Extension, single-player testing only. Descriptions on these pages were written by an AI assistant from decompiled code and are marked inferred unless a test result confirms them.

Lua methods added by the Dev CE test build (experimental)

A development build of a Community-Extension-style GameCore that adds Lua methods by calling engine functions directly: the Lua call object:Method(a, b) becomes GameCore::Class::Method(this, a, b). The methods are generated from a table (address and signature from the symbol-build map and the Linux debug info; this from the game's own instance resolver for the Lua object); no per-function code is written. They exist only in Dev CE, an experimental fork of the Community Extension: https://github.com/cru121/civ6-dev-ce (AGPL-3.0; release zip with the DLL and the full source, see the README there). Dev CE replaces the game's GameCore, so it cannot be enabled together with the Community Extension or any other GameCore mod, works only with Steam builds 15038592 and 15296837 (same GameCore DLL; it checks the DLL itself, not the build number), is single-player only (many methods change synchronised state and can desync multiplayer) and has been run on one machine by one person. Ids and indices you pass are not range-checked; the bridge turns hardware faults into a Lua error but cannot catch silent memory corruption.

Potentially unsafe: Unit:ChangeSightRange hung the game once on a late-game save; PlayerTrade:ChangeDomesticTradeDisabledCount, ChangeInternationalMajorsTradeDisabledCount and ChangeInternationalMinorsTradeDisabledCount disable trade routes with +1 and do not bring them back with -1.

997 methods on 43 Lua objects (plus a few read-only getters the tests use to compare against vanilla). What was tested in the running game (build 15038592; build 15296837 has the identical DLL but was not tested separately; single player, disposable games and a copy of one late-game save; the 0.2.0 release has 1033 functions including the read-only comparison getters, the 0.1.0 release 251):

Descriptions are written by an AI assistant from the decompiled code and are marked inferred unless a test confirms them; read them as leads, not documentation. 997 methods have a description; about one in twenty is marked low confidence (truncated or missing decompilation), and every description is one reading of the code, not a test result. Many methods change synchronised game state and are marked "may desync" in multiplayer. Where a method is not listed here, see native functions for what has no Lua route.

Object Methods Effect verified
BarbarianTribes 15 0
City 123 12
CityBuildQueue 37 0
CityBuildings 27 3
CityCitizens 2 0
CityDistricts 4 0
CityGrowth 14 0
CityReligion 5 0
Deal 3 0
DealItem 1 0
District 19 0
FreeCities 1 0
Game 55 0
GameDiplomacy 16 0
GameEras 66 0
GameFalloutManager 6 0
GameGreatPeople 16 0
GameReligion 3 0
Map 39 0
MapAreaPortal 3 0
Player 75 0
PlayerCities 19 0
PlayerCulture 49 0
PlayerEras 4 0
PlayerGovernors 5 0
PlayerGreatPeoplePoints 19 0
PlayerInfluence 52 0
PlayerReligion 21 0
PlayerResources 26 2
PlayerStats 51 0
PlayerTechs 11 0
PlayerTrade 37 5
PlayerTreasury 7 0
PlayerUnits 26 0
PlayerWMDs 2 0
Plot 5 0
TeamDiplomacy 62 0
Territory 4 0
TradeManager 10 0
Unit 46 2
UnitExperience 7 0
UnitGreatPerson 2 1
UnitReligion 2 0