Documentation Index
Fetch the complete documentation index at: https://civ7community.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Overview
This document provides a comprehensive reference of file paths and directory structures for Civilization VII modding. Understanding these paths is essential for creating, organizing, and implementing mods effectively. The information here covers the base game structure, mod organization patterns, and key file locations by category.
Game Installation Directories
Civilization VII uses two main directory locations:
Game Resources Directory (Read-Only)
This is where the base game files are installed and contains all game assets, modules, and definitions:
macOS:
~/Library/Application Support/Steam/steamapps/common/Sid Meier's Civilization VII/CivilizationVII.app/Contents/Resources/
Windows:
C:\Program Files (x86)\Steam\steamapps\common\Sid Meier's Civilization VII\Base\
Game Data Directory (User-Writable)
This is where user-specific data including saves, logs, and installed mods are stored:
macOS:
~/Library/Application Support/Civilization VII/
Windows:
C:\Users\[Username]\Documents\My Games\Sid Meier's Civilization VII\
For the remainder of this document, we’ll use platform-independent path references. When you see:
<GAME_RESOURCES> - This refers to the game resources directory
<GAME_DATA> - This refers to the game data directory
Base Game Structure
The Civilization VII installation follows a modular structure, with the game itself organized as a collection of modules:
<GAME_RESOURCES>/
├── Base/
│ ├── modules/
│ │ ├── base-standard/ # Core gameplay definitions and systems
│ │ ├── age-antiquity/ # Antiquity Age (3000 BCE - 500 CE) content
│ │ ├── age-exploration/ # Exploration Age (500 CE - 1700 CE) content
│ │ ├── age-modern/ # Modern Age (1700 CE - Present) content
│ │ ├── core/ # Core engine functionality
│ │ └── telemetry/ # Telemetry systems
│ └── Assets/
│ ├── schema/ # Database schema definitions
│ │ ├── gameplay/ # Core gameplay schemas
│ │ ├── ui/ # UI system schemas
│ │ ├── loc/ # Localization schemas
│ │ └── modding/ # Modding framework schemas
│ ├── textures/ # Game textures
│ ├── models/ # 3D models
│ ├── ui/ # UI assets
│ └── fonts/ # Font files
└── DLC/ # Official DLC packages
User Data Structure
The user data directory contains user-specific files:
<GAME_DATA>/
├── Mods/ # Installed mods
├── Logs/ # Game logs (various .csv and .log files)
├── Debug/ # Debug information
├── Database/ # Local database files
└── DNA/ # User profile data
Base-Standard Module Structure
The base-standard module contains the core definitions and systems that all other modules depend on:
<GAME_RESOURCES>/Base/modules/base-standard/
├── base-standard.modinfo # Module definition file
├── package.json # Package metadata
├── definitions/ # Database schema definition files (.civdb)
│ ├── civilization.civdb # Civilization schema
│ ├── leader.civdb # Leader schema
│ ├── unit.civdb # Unit schema
│ ├── constructible.civdb # Buildings/improvements schema
│ ├── trait.civdb # Traits and abilities schema
│ └── ... # Other schema definitions
├── data/ # Core gameplay data files
│ ├── civilizations.xml # Base civilization definitions
│ ├── leaders.xml # Leader definitions
│ ├── units.xml # Unit definitions
│ ├── constructibles.xml # Building and improvement definitions
│ ├── progression-trees.xml # Tech and civic tree definitions
│ └── ... # Other game element definitions
├── text/ # Localization files
│ ├── en_US.xml # English localization
│ └── ... # Other language files
├── ui/ # UI definitions and scripts
├── scripts/ # JavaScript game logic
├── l10n/ # Additional localization resources
├── maps/ # Map scripts and definitions
├── metaprogression/ # Progression systems
└── movies/ # Media resources
Age Modules Structure
Each Age module follows a similar structure, containing content specific to that historical period:
<GAME_RESOURCES>/Base/modules/age-[name]/
├── age-[name].modinfo # Module definition
├── package.json # Package metadata
├── config/ # Age-specific configuration
│ └── config.xml # Core Age properties and settings
├── data/ # Age-specific game data
│ ├── civilizations.xml # Civilizations available in this Age
│ ├── leaders.xml # Leader data
│ ├── units.xml # Units available in this Age
│ ├── constructibles.xml # Buildings and improvements
│ ├── progression-trees-*.xml # Tech and civic trees
│ └── ... # Other Age-specific content
├── text/ # Localization files
├── l10n/ # Additional localization
├── ui/ # UI element definitions
├── scripts/ # JavaScript files
├── metaprogression/ # Progression systems
└── movies/ # Media resources
DLC Module Structure
Official DLC follows this general structure:
<GAME_RESOURCES>/DLC/[dlc-name]/
├── [dlc-name].modinfo # DLC definition
├── package.json # Package metadata
├── data/ # DLC-specific data
│ ├── civilizations/ # Added civilizations
│ ├── leaders/ # Added leaders
│ ├── units/ # Added units
│ └── ... # Other added content
├── text/ # Localization
├── ui/ # UI modifications
└── assets/ # DLC-specific assets
User Mod Directory Structure
When creating a mod, follow this recommended structure to ensure compatibility and organization:
<GAME_DATA>/Mods/your-mod-name/
├── your-mod-name.modinfo # Mod definition file
├── config/ # Configuration files (if needed)
├── data/ # Game data modifications/additions
│ ├── civilizations/ # Civilization definitions
│ ├── leaders/ # Leader definitions
│ ├── units/ # Unit definitions
│ ├── buildings/ # Building definitions
│ └── ... # Other game element files
├── text/ # Localization files
│ ├── en_US/ # English localization
│ └── ... # Other languages
├── ui/ # UI modifications (if applicable)
├── scripts/ # Custom scripts (if applicable)
└── assets/ # Custom assets for your mod
├── icons/ # Custom icons
├── textures/ # Custom textures
└── models/ # Custom 3D models (if applicable)
Leader Mod Directory Structure
For mods that add new leaders, use this structure:
<GAME_DATA>/Mods/your-leader-mod/
├── your-leader-mod.modinfo # Mod definition file
├── leaders/ # Leader definitions
│ └── your_leader.xml # Your custom leader
├── agendas/ # Agenda definitions
│ └── your_leader_agendas.xml # Leader agendas
├── traits/ # Trait definitions
│ └── your_leader_traits.xml # Leader abilities
├── text/ # Localization files
│ └── your_leader_text.xml # Text strings for your leader
└── assets/ # Leader assets
└── icons/ # Leader icons
Civilization Mod Directory Structure
For mods that add new civilizations, use this structure:
<GAME_DATA>/Mods/your-civilization-mod/
├── your-civilization-mod.modinfo # Mod definition file
├── civilizations/ # Civilization definitions
│ └── your_civilization.xml # Your custom civilization
├── units/ # Unique unit definitions
│ └── your_unique_units.xml # Civilization's unique units
├── buildings/ # Unique building definitions
│ └── your_unique_buildings.xml # Civilization's unique buildings
├── traits/ # Trait definitions
│ └── your_civ_traits.xml # Civilization abilities
├── text/ # Localization files
│ └── your_civ_text.xml # Text strings for your civilization
└── assets/ # Civilization assets
└── icons/ # Civilization icons
When using the TypeScript Modding Tools, the output structure follows a more specific organization based on element types:
<OUTPUT_DIRECTORY>/
├── your-mod-id.modinfo # Generated modinfo file
├── civilizations/ # Generated civilization definitions
├── units/ # Generated unit definitions
├── constructibles/ # Generated building definitions
├── unlocks/ # Generated unlock definitions
└── imports/ # Imported assets
This structure is directly compatible with the game’s mod loading system and can be copied to the game’s Mods directory.
Key File Locations By Category
Database Schema Files
<GAME_RESOURCES>/Base/Assets/schema/gameplay/01_GameplaySchema.sql # Core gameplay schema
<GAME_RESOURCES>/Base/Assets/schema/modding/schema-modding-10.sql # Modding framework schema
<GAME_RESOURCES>/Base/Assets/schema/icons/IconManager.sql # Icon management schema
<GAME_RESOURCES>/Base/Assets/schema/loc/schema-loc-10.sql # Localization schema
<GAME_RESOURCES>/Base/Assets/schema/worldbuilder/MapSchema.sql # World builder map schema
<GAME_RESOURCES>/Base/Assets/schema/frontend/FrontendSchema.sql # Frontend UI schema
Definition Files
<GAME_RESOURCES>/Base/modules/base-standard/definitions/*.civdb # Core game element schemas
Civilization Files
<GAME_RESOURCES>/Base/modules/base-standard/data/civilizations.xml # Base civilizations
<GAME_RESOURCES>/Base/modules/age-antiquity/data/civilizations.xml # Antiquity Age civilizations
<GAME_RESOURCES>/Base/modules/age-exploration/data/civilizations.xml # Exploration Age civilizations
<GAME_RESOURCES>/Base/modules/age-modern/data/civilizations.xml # Modern Age civilizations
Leader Files
<GAME_RESOURCES>/Base/modules/base-standard/data/leaders.xml # Base leader definitions
<GAME_RESOURCES>/Base/modules/age-antiquity/data/leaders.xml # Antiquity Age leaders
<GAME_RESOURCES>/Base/modules/age-exploration/data/leaders.xml # Exploration Age leaders
<GAME_RESOURCES>/Base/modules/age-modern/data/leaders.xml # Modern Age leaders
Unit Files
<GAME_RESOURCES>/Base/modules/base-standard/data/units.xml # Base unit definitions
<GAME_RESOURCES>/Base/modules/age-antiquity/data/units.xml # Antiquity Age units
<GAME_RESOURCES>/Base/modules/age-exploration/data/units.xml # Exploration Age units
<GAME_RESOURCES>/Base/modules/age-modern/data/units.xml # Modern Age units
Building and Improvement Files
<GAME_RESOURCES>/Base/modules/base-standard/data/constructibles.xml # Base buildings/improvements
<GAME_RESOURCES>/Base/modules/age-antiquity/data/constructibles.xml # Antiquity Age buildings
<GAME_RESOURCES>/Base/modules/age-exploration/data/constructibles.xml # Exploration Age buildings
<GAME_RESOURCES>/Base/modules/age-modern/data/constructibles.xml # Modern Age buildings
Technology and Civic Tree Files
<GAME_RESOURCES>/Base/modules/age-antiquity/data/progression-trees-tech.xml # Antiquity tech tree
<GAME_RESOURCES>/Base/modules/age-antiquity/data/progression-trees-culture.xml # Antiquity civic tree
<GAME_RESOURCES>/Base/modules/age-exploration/data/progression-trees-tech.xml # Exploration tech tree
<GAME_RESOURCES>/Base/modules/age-exploration/data/progression-trees-culture.xml # Exploration civic tree
<GAME_RESOURCES>/Base/modules/age-modern/data/progression-trees-tech.xml # Modern tech tree
<GAME_RESOURCES>/Base/modules/age-modern/data/progression-trees-culture.xml # Modern civic tree
Localization Files
<GAME_RESOURCES>/Base/modules/base-standard/text/*.xml # Base game text strings
<GAME_RESOURCES>/Base/modules/age-*/text/*.xml # Age-specific text strings
Log Files
<GAME_DATA>/Logs/ # All game logs
<GAME_DATA>/Logs/system.log # System-level logs
<GAME_DATA>/Logs/database.log # Database operation logs
<GAME_DATA>/Logs/AI_*.csv # AI-related logs
<GAME_DATA>/Logs/error.log # Error messages
<GAME_DATA>/Logs/mods.log # Mod loading information
Installing Mods
Mods should be installed in the user’s mod directory:
macOS:
~/Library/Application Support/Civilization VII/Mods/
Windows:
C:\Users\[Username]\Documents\My Games\Sid Meier's Civilization VII\Mods\
After building your mod, copy the entire mod folder to this location. The mod will be available in the Mod menu when you start the game.
Mod Organization Best Practices
File Naming Conventions
- Use Descriptive Names: Name files to clearly indicate their contents and purpose
- Use Lowercase: Keep filenames lowercase for consistency with game files
- Use Underscores: Separate words with underscores (e.g.,
roman_legion.xml)
- Include Mod Prefix: Prefix filenames with your mod ID to avoid conflicts
- Keep Extensions Consistent: Use
.xml for data files, .sql for database files
Directory Organization
- Group by Element Type: Organize files by game element type (civilizations, leaders, units, etc.)
- Separate Assets: Keep assets (icons, textures) in their own directories
- Age-Specific Content: If creating content for multiple Ages, consider organizing by Age
Cross-Module References
When referencing files across different modules, use these path patterns:
- Same Module References:
./file.xml (relative to current directory)
- Base Game References: Use platform-independent paths with the
fs:// protocol: fs://game/modules/module-name/path/to/file.xml
- External Asset References:
fs://game/assets/path/to/asset
Conclusion
Understanding the file organization of Civilization VII is critical for creating well-structured mods that integrate properly with the game. By following the patterns established in the base game and organizing your mod files according to these best practices, you can create mods that are easier to maintain, troubleshoot, and share with the community.
For additional information on specific modding tasks, please refer to the other documents in the modding documentation set.