Map Theme

Environment

Affects the cubemap which is visible in the water and highly specular asset reflections. Also affects the availability of some environment-specific vanilla assets.

Terrain Properties

Textures

Folder

The folder where you should put the textures for importing is located here:

%LocalAppData%\Colossal Order\Cities_Skylines\Addons\ThemeEditor\ThemeTextures

The AppData folder is hidden by default, you can access it by copying and pasting the path into the file explorer, or pressing Windows + R and typing in appdata.

Resolution

Map theme textures are usually 1024x1024, 2048x2048 or 4096x4096.

Format

Use a lossless format like .PNG.

The game supports other formats as well, but there is no reason to use another one, it doesn't matter how much your texture is compressed or even if it's completely solid or complicated, the game will convert it to a DXT format, so the final size won't be affected by anything other than resolution.

Make sure the texture is 8 bits/channel because a 16 bits/channel image can't be imported. Do not use the "Smaller File (8-bit)" feature in the Photoshop Export As window, as that creates an indexed color image, not an 8 bits/channel one.

Grass

The main texture of grass, transparency controls how much the grass texture is affected by the grass color offsets.

Ruined

Example of ruined texture.

Appears near buildings, some props, networks, and hills which are not steep enough for the cliff texture to be visible. Also visible near pavement surface and can also be painted using surface painter. Also visible under sand, if the opacity of the sand texture is low enough. The opacity is usually very high.

Cliff

Example of cliff texture.

Visible if the terrain is steep enough. Usually high opacity.

Cliff Normal

Adds bump to the cliff texture. Requires a flipped green channel compared to the normal map standard.

Sand

Example of sand texture.

Can be painted. If the opacity is low, the ruined texture might be visible before the sand becomes fully visible. Can't coexist with the fertile color.

Sand Normal

Adds bump to the sand texture. Requires a flipped green channel compared to the normal map standard.

Pavement

Example of pavement texture.

Appears as surface paint on buildings, networks, or when painted using surface painter. Also can appear on network bridges using the bridge shader.

Gravel

Example of gravel texture.

Appears as surface paint on buildings, networks, or when painted using surface painter. Also can appear on network bridges using the rail shader.

Oil

Example of oil and ore textures.

Can be painted using the resource brush. Half-transparent by default, unless it's very bright. Can't coexist with ore.

Ore

Can be painted using the resource brush. Half-transparent by default, unless it's very bright. Can't coexist with oil

Grass Color Offsets

Example of color offsets.

Colors which affect the grass texture based on its opacity.

Pollution

Appears where there is ground pollution.

Field

Appears as surface paint on buildings, or when painted using surface painter.

Fertility

Appears when painted using the fertile resource brush. Can't coexist with sand.

Forest

Appears where there are trees.

Geometry Details

Example of sprites.

2D sprites which are visible on the terrain.

Grass

Visible on normal grass.

Fertile

Visible on fertile resource paint.

Rocks

Visible on cliffs and gravel.

Water Properties

Textures

Water Normal

Constantly fades between the normal and a flipped and rotated version.

Water Foam

Example of water normal and foam.

The red channel controls the normal foam when the water is moving. The green channel controls the foam on polluted water. It's safe to import a simple black & white foam texture.

Water Colors

Clean

Example of water colors.

Deep water.

Dirty

Polluted water.

Underwater

Shallow water.

Atmosphere Properties

Sun

Longitude & Latitude

Placement of the sun.

Anisotropy

Affects the highlight falloff of the sun, and also affects the fog.

Moon

Inner Corona

Color and intensity of the small highlight of the moon.

Outer Corona

Color and intensity of the big highlight of the moon.

Sky

Rayleigh Scattering

Example of Rayleigh scattering.

Affects the scattering of blue light. 0 means no blue light is scattered so the sky will be black. High values mean blue light is scattered a lot, therefore sunsets and sunrises will be very red.

Mie Scattering

Example of Mie scattering.

Affects the visibility of the sun and fog.

Stars Intensity

Affects the visibility of the stars at night.

Outer Space Intensity

Affects the visibility of the night space cubemap.

Exposure

Affects the brightness of ambient light.

Sky Tint

Example of sky tint.

Tints the color of the sky and ambient light. Note that sunsets and sunrises will be tinted the opposite of this color.

Night Horizon Color

The color of the horizon during the night.

Early Night Zenith Color

Tints the sky and ambient light during mornings and evenings.

Late Night Zenith Color

Tints the sky and ambient light during the night.

Structures Properties

Upward Road

Example of asphalt texture.

Asphalt texture which gets multiplied by the road segment color.

Downward Road

Unknown, likely not used.

Building Base

Example of base texture.

The texture of the underground parts of buildings.

Building Base Normal

Adds bump to the underground parts of buildings. Doesn't import correctly normally, requires an image which has the X channel of the normal map gamma lifted and applied to each RGB channel, but the Y channel as the opacity. You can convert a regular normal map which has no inverted channels to this using this Photoshop action.

Burnt Building

Used for buildings which are burned down.

Abandoned Building

Used for buildings which are abandoned.

Floor

Example of floor texture.

Used for fake interiors inside building windows.

Light Color Palette

Example of light texture.

Each building samples a random color from this texture to use for window illumination during the night.

Script

You can change textures, tiling and colors related to map themes ingame using this script.