HELIX Docs
Guides

Convert a Cities: Skylines II map into a World

One command takes a CS2 capture to a publish-ready city World with real buildings, a complete skyline, collision and a phone tier, and a receipt that proves which optimizations ran.

A Cities: Skylines II map becomes a HELIX city World with one command. It imports the capture, builds the landscape, mounts the real prefab buildings, completes the collision, builds the desktop and phone roots, perf-gates both and writes a receipt.

helix city convert cs2 ./my-capture --name my-city --out ./convert-my-city --title "My City"
helix city convert cs2 --name my-city --list-stages     # every stage and the optimizations it applies

./my-capture is the source-v2 bundle (terrain/, roads-v3/, placements/, meshes-v2/, materials-v2/, areas/, water/, legacy/city/). A large map takes hours; the command resumes where it stopped, and --from <stage> reruns one stage and everything after it.

What you get

PathWhat
publish/scene/<name>-c1, <name>-mobile-c1the desktop and phone World roots, with the shared building parts beside them
convert-receipt.jsonevery stage, its commands and time, and the named optimizations applied
validate-desktop.txt, validate-mobile.txtthe perf gate (P01-P14) on each final root; a refusal fails the run
publish/publish.jsonscene names, visibility and the exact upload and publish commands

The only per-map inputs

A map-specific value goes in a small convert.json; everything else is a default every converted map shares.

{ "schema": "helix.city-convert/1", "name": "my-city", "title": "My City", "spawn": { "x": -1700, "z": -650, "yawDeg": 90 } }

Leave spawn out and the command opens the World on a clear, dry street beside the densest downtown, facing along it.

Fixing something on a converted map

Improvements go into the pipeline, never onto one map

If a converted World needs a fix (roads, collision, lighting, streaming, the phone), fix the stage that owns it, with a test, and reconvert. A hand edit to a Scene document or a script kept in a run folder is lost on the next conversion and never reaches the next map.

See the helix city reference for every flag.

On this page