Home › ArtDef vocabulary

Engine executable. Settings and tools of the game program (CivilizationVI.exe), usable without a mod. Mostly undocumented debug and configuration functionality; descriptions come from analysis of the executable and have not all been tried in the running game.

ArtDef vocabulary

Art definitions (.artdef XML files in ArtDefs/ folders of the base game and every DLC) tell the renderer, the unit system, the lenses and the audio how things look and behave. The engine executable reads them with ConfigureFromArtDefs-style functions that ask for collections and parameters by name. This section lists, for each artdef type (the m_TemplateName stored in the file), the collection and parameter names the exe asks for, the value class each parameter has in the shipped files (Float, Int, Bool, String, Coord2D, RGB, ArtDef reference, BLP entry, ...), how many shipped files use it, and which parameter names the exe never asks for.

What is verified and what is inferred. The names in the exe and the value classes and counts in the shipped files are Verified (strings referenced by a function, names counted in the files; no values or asset paths are kept). Which artdef type a function belongs to is Inferred: a function is assigned to the type whose names cover at least half of the names the function uses and clearly more than any other type (53 of 66 functions are assigned; the rest are listed below). "Not read by the exe" means the name is in shipped files but not in the strings of the assigned functions; it may be read by a function that is not assigned, by a shared helper (for example the keyframe fields Time, FOV and Tilt of the camera curves are read by common curve code), or be unused.

For modders. The names listed are the ones the exe code looks up, so they are the names worth using in a new artdef; a parameter that no function looks up is probably without effect (not tested in the game: the exe may also log or reject unknown names). The value classes show how the shipped files store each parameter; the exe code reads a parameter through its own typed accessor, so keep to the class the shipped files use. See also the files and paths page for where the game looks for ArtDefs folders.

Artdef types

Type Shipped files Parameters Collections Reading functions Parameters not read by the exe
Appeal 1 2 1 — —
Buildings 26 11 9 — —
Camera 3 16 7 CameraSystem 3
Cities 3 2 1 — —
CityGenerators 23 22 7 Landmarks::Loading, Landmarks::Loading 12
Civilizations 35 1 2 — —
Clutter 11 27 5 WorldView::ClutterSystem 2
Cultures 34 30 2 — —
Districts 21 5 7 — —
DynamicGeo 8 11 6 DynamicSystem::System 3
Eras 4 5 5 — —
Farms 3 11 6 Farm::System 2
Features 10 8 9 — —
FOWConfig 2 51 8 FOW::FOWSystem, FOW::FOWSystem 3
GamePropertyRanges 1 3 2 — —
GenericObjectBLPs 1 0 0 — —
GoodyHuts 1 1 3 — —
GraphicsTweaks 5 9 4 AOSystem::System 5
IconReferences 21 4 3 ArtDefIconProvider 1
Improvements 27 10 9 — —
Landmarks 33 32 9 Landmarks::LandmarkArtDefManager, Landmarks::Loading, Landmarks::Loading 10
LeaderFallback 34 1 2 LeaderFallbackArtDefCallbacks 0
Leaders 34 6 1 LeaderArtDefCallbacks 1
Lenses 3 3 4 Lenses::LensManager 0
LodSettings 1 9 1 — —
Minimap 1 6 2 MinimapArtdefConsumer 0
Overlay 19 45 9 BorderOverlayManager, HexGridOverlayManager, HexHighlightManager (+5) 2
Resources 21 10 5 — —
Routes 2 2 4 — —
ScriptedArtSelector 13 7 3 WorldView::ScriptedArtSystem 6
SkyBox 2 1 1 — —
Storms 2 5 2 WorldView::StormSystem 0
StrategicView 29 37 31 StrategicView::PropertiesArtDefConsumer, StrategicView::RouteArtDefConsumer, StrategicView::SpriteArtDefConsumer (+1) 25
TerrainMaterialSet 11 127 20 Default::Desc, Layer::DuneDesertHillsDesc, Layer::RidgelineMountainDesc (+4) 22
Terrains 6 5 9 — —
TimeOfDay 6 20 12 LightingSystem::Rig, CloudShadows::Context 3
UIPreview 1 3 1 — —
UnitActivities 11 3 1 — —
UnitOperations 11 3 1 UnitActivity::System 0
Units 70 185 30 Unit::ArtDefinitions, UnitFormation::System, UnitMovement::System (+1) 76
UserInterfaceBLPs 1 0 0 — —
VFX 13 5 8 VisualEffectSystem::Consumer 1
WaterMaterials 4 3 1 — —
WaterSettings 5 23 1 WorldView::WaterSystem 7
WaveSettings 1 26 1 CoastlineWaves::System 1
WonderMovie 8 24 6 WonderMovieConsumer, WonderMovieConsumer, WonderMovieConsumer (+1) 1
WorldViewRoutes 2 20 9 Routes::RouteArtDefManager 19

Functions not assigned to a type (13)

Function Names Best match Score Second Score
AudioMiner::ArtDefinitions::ConfigureFromArtDefs (0x90c80) 22 Resources 0.23 Districts 0.23
ClearColorHolder::ConfigureFromArtDefs (0x7a230) 3 FOWConfig 0.67 WorldViewRoutes 0.0
IndirectLightingGrid::System::ConfigureFromArtDefs (0xa8e950) 9 StrategicView 0.22 Resources 0.22
LightingSystem::System::ConfigureFromArtDefs (0xa51370) 4 GraphicsTweaks 0.5 WonderMovie 0.25
Simulation::Manager::CultureArtDefinitions::ConfigureFromArtDefs (0x4de7a0) 3 Cultures 0.67 Units 0.33
StrategicView::TerrainTypeArtDefConsumer::ConfigureFromArtDefs (0xa76f80) 11 StrategicView 0.36 VFX 0.09
StrategicView::XRefArtDefConsumer::ConfigureFromArtDefs (0x20cf80) 18 Buildings 0.39 StrategicView 0.33
WorldView::Landmarks::ArtDef_Building::print_error (0x5dcda0) 3 Landmarks 0.67 StrategicView 0.33
WorldView::Landmarks::ArtDef_District::AssertMissing (0x5c6460) 3 Landmarks 0.67 StrategicView 0.33
WorldView::Landmarks::ArtDef_District::ResolveBuilding (0x5d8290) 3 Landmarks 0.67 StrategicView 0.33
WorldView::Landmarks::ArtDef_Generator::resolve_for (0x5de160) 5 CityGenerators 0.4 DynamicGeo 0.2
WorldView::TerrainSystem::ConfigureFromArtDefs (0x6275c0) 3 GraphicsTweaks 0.67 WorldViewRoutes 0.0
WorldView::XRefArtDefTranslator::ConfigureFromArtDefs (0x559fa0) 29 Resources 0.21 Features 0.21