-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Welcome to the comprehensive API reference for Civilization VII modding.
Unlike Civilization VI which used Lua for scripting, Civilization VII uses JavaScript for:
- UI modifications
- Gameplay scripting
- Map generation scripts
Content in Civ VII is organized by Ages:
- Antiquity Age - Ancient civilizations (Rome, Egypt, Greece, Han, etc.)
- Exploration Age - Medieval/Renaissance (Spain, Ming, Mongolia, etc.)
- Modern Age - Industrial to future (America, Prussia, Meiji, etc.)
Mods must specify which Age(s) their content applies to using ActionCriteria in the .modinfo file.
- Shell/Frontend - Main menu and game setup screens
- Game - Active gameplay database
- Setting Up Your Mod - Create your first .modinfo file
- modinfo Files Reference - Complete .modinfo documentation
Step-by-step guides for common modding tasks:
| Tutorial | Description |
|---|---|
| Adding Policies | Create new traditions with modifiers |
| Creating a Technology | Add technologies to the tech tree |
| Creating a Civic | Add civics to the culture tree |
| Creating a Unit | Add custom units with combat abilities |
| Creating a Building | Add buildings, wonders, and unique buildings |
| Creating a Civilization | Build complete civs with leaders and abilities |
| Creating a Narrative Event | Create pop-up events with choices and rewards |
| Creating a Map Generator | Write JavaScript map scripts |
| Creating UI Extensions | Add custom panels and hotkeys |
| Topic | Description |
|---|---|
| Types and Kinds | The type system that powers all game entities |
| Units | Unit definitions, stats, and abilities |
| Buildings | Buildings, improvements, and wonders |
| Civilizations | Civilization definitions and traits |
| Leaders | Leader definitions and abilities |
| Map & Terrain | Terrain types, biomes, features, natural wonders |
The modifier system is how all game effects work in Civ VII.
| Topic | Description |
|---|---|
| Overview | How modifiers work |
| Effect Types | All available effects |
| Collection Types | Target subject collections |
| Requirement Types | Conditional requirements |
Civ VII uses JavaScript for scripting instead of Lua.
| Topic | Description |
|---|---|
| Overview | Global objects, events, and API reference |
Pop-up events with choices and quests.
| Topic | Description |
|---|---|
| Overview | Event structure, triggers, and rewards |
See the Examples page for quick reference templates and code snippets.
The Civilization VII Development Tools (available on Steam) includes:
- Official documentation
- Example mods (
fxs-new-policies,fxs-new-narrative-events, etc.) - FireTuner debug console
Location: Steam\steamapps\common\Sid Meier's Civilization VII Development Tools\
| Content | Path |
|---|---|
| Game Files | Steam\steamapps\common\Sid Meier's Civilization VII\ |
| Dev Tools | Steam\steamapps\common\Sid Meier's Civilization VII Development Tools\ |
| User Mods | %LOCALAPPDATA%\Firaxis Games\Sid Meier's Civilization VII\Mods\ |
| Logs | %LOCALAPPDATA%\Firaxis Games\Sid Meier's Civilization VII\Logs\ |
This documentation is community-maintained. Found an error or have additions? The source is available for contributions.