Real cities, rendered as holograms.
A hobby mod for the city-building game Cities: Skylines 2. It ingests OpenStreetMap and elevation data, transforms it through WGS84-to-Cartesian math, and renders the result as a translucent, procedurally generated urban blueprint inside the game — so players can rebuild a real-world city on top of its actual footprint. A standalone desktop generator and the in-game mod share a single high-performance math core.
illustrative mockup · Boston, MA imported into the game via OSM Overpass
High-performance rendering of thousands of ghost buildings — without breaking the host simulation.
Cities: Skylines 2 runs entirely on Unity's Data-Oriented Tech Stack with a hybrid HDRP rendering pipeline. Naively instantiating thousands of transparent buildings would explode draw calls and halt the simulation. The mod uses MaterialPropertyOverride at the GPU-instance level so the BatchRendererGroup still combines ghosts into single instanced draw calls — 11,000+ ghost buildings, one draw call.
A shared Burst-compiled math core handles the WGS84-to-Cartesian projection for hundreds of thousands of OSM nodes in milliseconds, generating both the in-game ghost overlay and a Colossal-format heightmap the player can import directly.
Civil engineering inside a sandbox.
Road hierarchy enforcement
Imported OSM line strings are upgraded or downgraded to maintain a valid Highway / Arterial / Collector / Local hierarchy. No local roads spliced into freeways.
Zoning intelligence with buffers
Industrial pollution and noise data from the prefab system are used to generate spatial buffers between heavy industry and residential zones — automatically.
Weighted theming engine
Architectural themes (North American / European / mixed) blend via a deterministic, coordinate-seeded weighted distribution so blueprints regenerate identically across reloads.
Ghost lifecycle via spatial hash
When the player builds over a blueprint coordinate, a DOTS system disables the ghost entity. Bulldoze it, and the ghost reappears — no destruction, just visibility toggling.
One math core, two delivery targets.
- .NET 9 / C#
- Burst compiler
- IJobParallelFor
- WGS84 ellipsoid math
- Unity DOTS / ECS
- HDRP hybrid pipeline
- Cohtml / React UI
- MaterialPropertyOverride
- Photino.NET
- React + TypeScript
- pnpm monorepo
- .ccmap heightmap export
A game mod that's really an engineering showcase.
This is a personal mod for Cities: Skylines 2, not a planning product. What it demonstrates is real: ingesting live OSM data, projecting it with WGS84 ellipsoid math, and rendering thousands of procedural buildings inside a constrained engine. If you have a project that needs that kind of geospatial and procedural-generation engineering, that's the conversation to have.
Start the conversation →