Civilization VI Modding on OpenMods

Strategy0 Mods

Lua, XML, SQL, Steam Workshop, and the Firaxis Modbuddy authoring tool

Read more

Articles & guides

About

More about Civilization VI

A turn-based 4X with Lua and XML modding

Civilization VI (2016) is Firaxis's 4X strategy and one of the longest-supported games in the lineup, multiple expansion passes, the New Frontier Pass, and an active modding scene throughout. The modding architecture combines Lua scripting (gameplay logic) with XML/SQL configuration (units, civilizations, buildings) and Steam Workshop as the distribution layer.

The mod catalogue covers everything from balance tweaks (Real Strategy AI) to massive content additions (Yet (not) Another Maps Pack, Better Climates Mod, dozens of new civs).

The toolchain

  • Steam Workshop: primary distribution.
  • Civilization VI Modding Companion / Firaxis Modbuddy: official authoring tool, free with the game.
  • Civ6/Mods/: manual mod folder (under Documents/My Games/Sid Meier's Civilization VI/Mods/). Drop mod folders here for non-Workshop mods.
  • In-game Additional Content menu: enables/disables installed mods per save.

What you'll find on OpenMods

Civ VI mods live primarily on Workshop. GitHub hosts source for some larger projects, especially modder tooling. OpenMods catalogues GitHub-published Civ VI mods.

Practical notes

  • Achievements + most mods don't mix. Civ VI disables achievements when "non-vanilla" content loads, with a small set of "achievement-compatible" mods being the exception.
  • Multiplayer requires mod parity. All players need the same enabled mods at the same versions. Civ VI's lobby system handles auto-download from Workshop.
  • Save game compatibility. Removing a mod from a save that uses its content (a custom civ, new building) leaves dangling references. Civ VI generally loads anyway with warnings.
  • The Gathering Storm and Rise and Fall expansions are baseline assumptions. Most modern mods assume both are installed.

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.