Skip to content

The UncivCN Branch

What is this?

UncivCN is a community fork of the open source game Unciv (a Civ V remake in LibGDX, supporting Android / Desktop / Server), deeply customized for Chinese-speaking players: it adds multiplayer, map, modding and UI features on top of the original, while staying fully in sync with upstream updates.

Relationship with upstream

  • In sync: upstream master is merged into UncivCN regularly. Version number = upstream version + CN sub-version (e.g. 4.21.5 → 4.21.5.1; the same upstream version can have multiple CN sub-versions .1/.2/.3…, e.g. 4.20.8.1 → 4.20.8.4), always tracking the latest upstream development
  • Additive changes: all UncivCN features are implemented incrementally; upstream behavior is unaffected
  • Fork point: UncivCN has evolved independently since 2026 (4c23bb4dc), with its own versioning and release cadence

Feature overview

CategoryFeatures
MultiplayerPolling multiplayer, default server (sp.unciv.cn), save-scumming RNG disabled online
MapsThree mirrored map modes, wraparound (ring) maps, no radius parity restriction
ModdingLua scripting, MergeAction extended JSON, tile-claim, mirror mod download source
UIUnit pins / map pins, auto-lock citizens button, export/import game settings to clipboard
OtherSave version isolation, RNG re-rollable on load (single-player)

Details in Features and Differences vs upstream.

Building

bash
./gradlew desktop:run        # run desktop version
./gradlew :tests:test        # run all tests
./gradlew desktop:dist       # build JAR → desktop/build/libs/Unciv.jar
./gradlew server:run         # run multiplayer server

Android builds need local.properties (sdk.dir) or the ANDROID_HOME environment variable.

The version is defined in buildSrc/src/main/kotlin/BuildConfig.kt; changes are tracked in Changelog.