Network
Asset
Creation

About

Networks consist of nodes and segments, they are used for roads, tracks, canals, walls, fences, powerlines etc.

Networks are arguably the most complicated type of assets (depends on what you are creating) so this article assumes you are familiar with basic asset creation such as props and buildings, so it skips basic concepts such as what is a mesh, pivot etc.

Template

The template you choose will be fully imported as the starting point of your network, so choose one that is closest to your desired result. You can change almost everything later in the asset editor itself, or using ModTools scene explorer Ctrl+E or running scripts in the console F7.

Elevations

Depending on the AI of your network, it may have elevations such as Elevated, Bridge, Slope, Tunnel, which are their own complete networks with their own properties, lanes, segments, and nodes, which are bundled together with the Basic network inside the same .crp file.

Elevations trigger at specific build heights, or when chosen by the player using Fine Road Tool. Slope is used for the basic to tunnel transition.

Deleting

If you don't need specific elevations, you can delete them by opening ModTools scene explorer Ctrl+E, going to Tool Controller > ToolController > m_editPrefabInfo > m_netAI and clicking Unset on the ones you don't need, then saving and loading the asset.

Adding

If your template didn't have elevations, but you need them, you may be able to add them, depending on what AI your network has. This can be done by copying any other network into one of the possible elevations. You can find the base game networks in scene explorer Ctrl+E: Sunny (or North/Tropical/European/Winter, based on the theme environment you loaded for the asset editor) Collections > Road > NetCollection > m_prefabs. For example you could go to Basic Road > m_netAI, click Copy on m_bridgeInfo, and then go to Tool Controller > ToolController > m_editPrefabInfo > m_netAI and click Paste on m_bridgeInfo here, then save and load the asset.

If you would like to copy a custom network into one of the elevations, you can also find those in scene explorer: Custom Prefabs > ModTools.CustomPrefabs > m_nets.

Properties

The general properties are based on the AI the road has, that means for canals or cable car networks some of them might be different, this list is primarily based on the one for RoadBridgeAI, used for elevated networks of any normal road, but also contains properties which only appear on some other AI.

Half Width

This is used to determine how roads of different widths connect - nodes of narrow roads will widen to meet wider roads.

Used to define the width of surface paint (such as pavement, gravel, or terrain clipping) and the area affected by flatten terrain.

It's also the width of the drawable/selectable area and affects how the road will snap to the grid.

Pavement Width

Defines the width of the pavement on each side of the road, used to properly connect curbs with other roads at nodes. For correct nodes when intersecting with other roads, the half width and pavement width values must be set appropriately.

Segment Length

This needs to match the length of the mesh used for the segment (and node if used), otherwise the road will overlap itself or have holes.

Min / Max Height

Defines collision area for water and building other roads over/under it.

Max Slope

Maximum slope angle allowed for building the road.

Max Build Angle

An example 135° intersection.

Maximum angle allowed for intersecting the road. Limited to 135° by the game.

Max Turn Angle

Example of 90° (left) and 89° (right) max turn angle.

When a node between 2 segments exceeds this angle, a node will be used, instead of a regular bent segment.

Min Corner Offset

Example of 0 (top) and 16 (bottom) min corner offset.

Increases corner smoothing, this is more noticeable for sharp turns at low angles. High values will make the road hard to use in tight situations.

Build Height

When building the road, it will be created higher or lower than the player has chosen based on this value.

Surface Level

CO states this is the default height for vehicles and pedestrians, although it seems ingame the individual vertical offset for lanes is used instead.

Create Pavement / Gravel / Ruining

Applies surface paint based on the half width of the road.

Flatten Terrain

Flattens terrain based on the half width of the road.

Lowers Terrain

Lowers terrain based on the half width of the road. Usually used for elevated roads to prevent the terrain from clipping into them.

Clip Terrain

Uses terrain clipping to create a hole in the ground, the actual hole is slightly smaller than the half width, and also creates ruining around the hole.

Follow Terrain

Places nodes according to terrain when building the road. Usually disabled for elevated or tunnel networks.

Flat Junctions

Forces area around nodes to be completely flat. Note that the centers of intersections will be flat no matter what.

Clip Segment Ends

Enables the use of bent nodes on intersections, used for most normal roads. If disabled and the network has no nodes, the segments will connect directly, which is used for wall networks, or with an offset based on min corner offset.

Twist Segment Ends

Twists segment ends to align to the pillar, only used for power lines and cable car paths to make sure the wires connect to the pylon correctly.

Straight Segment Ends

Tries to prevent the segment ends from bending/skewing at intersections.

Enable Bending Segments

Automatically bends segments when building intersections at sharp angles.

Enable Bending Nodes

Use a bent segment instead of a node on sharp corners.

Can Cross Lanes

Allows traffic to cross oncoming lanes at intersections, disabled only for roads with medians.

Can Collide

Enables checking for collisions when building.

Block Water

Used for dam, canals, flood wall, quay. Blocks water based on half width and min/max height properties.

Auto Remove

Destroys the road when something else is built over it, if can collide is enabled. Used for pedestrian paths, walls, trench, and powerlines

Connect Group

Nodes of the current or other networks which match this connect group and have direct connect enabled will show up in intersections. For example tram track nodes do this.

Enable Zoning

Creates the zoning grid based on the road half width, but no closer than 8m to the center.

Double Length

Used for the large highway bridges, alternates between two types of pillars and allows building longer segments than usual. Only works with disabled bending segments.

Can Modify

Unknown, enabled for all elevated networks.

Traffic Lights

Enables the traffic lights node flag for intersections involving the road. The actual traffic light props themselves must be added as lane props.

Highway Rules

Unknown, involved in code related to lane routing and simulation. Enabled only for all highways.

Accumulate Snow

Allows for snow to accumulate on the road on winter maps.

Noise Accumulation / Radius

Affects noise pollution simulation.

Center Area Width

Unknown.

Water Block Offset

Used for canal depth (negative) and flood wall height.

Pillar / Pylon / Power Pole

Allows embedding a building inside the network asset for use as a pillar which appears on nodes. Some AI have specific pillars for different heights, corners, or intersections.

Middle Pillar

Only used for Double Length networks, used for the large highway bridges for alternating pillars.

Bridge / Middle Pillar Offset

Raises or lowers the pillars.

Hidden Properties

Some properties are not visible in the road editor UI, but can be changed by using ModTools scene explorer Ctrl+E and going to Tool Controller > ToolController > m_editPrefabInfo.

m_enableMiddleNodes

If this is disabled, every node will be an intersection. This is disabled for train or monorail station tracks so they always have the track cross node, and also for road slope(tunnel entrance) networks.

Lanes

Lanes are usually used for vehicles and pedestrians, but can also be used as a container for props.

Some lane properties have no official documentation, therefore some explanations might be inaccurate.

Position

Distance from the center of the road.

Width

Width of the lane.

Vertical Offset

Height position of the lane.

Stop Offset

Lane position offset used for pedestrian lanes with stop types, used for public transport stops such as bus and tram.

Speed Limit

1.0 equals 50 km/h speed limit signs on vanilla. Usually 0.25 for pedestrian lanes, 0.8 for vehicle lanes on basic roads, 1 or 1.2 for larger roads, 2 for highways.

Direction

Forward for right hand lanes, backward for left hand lanes. Automatically flips on left hand traffic maps.

Lane Type

Determines the kind of traffic the lane is meant for.

Vehicle Type

If the lane type is set to vehicle, this defines which vehicle types can use the lane.

Stop Type

Used for pedestrian lanes, on which people will wait for public transport.

Allow Connect

Used to find road access for buildings. Likely used for spawning or visiting vehicles. Usually disabled on any slope, elevated and bridge networks, also disabled on blimp, monorail, and cable car paths.

Use Terrain Height

Uses terrain instead of lane vertical offset or surface level. Used for ground pedestrian paths.

Center Platform

Used for pedestrian lanes for tram stops in the middle of the avenue.

Elevated

Used for elevated pedestrian lanes which are not accessible from the regular roadside pedestrian lanes. Used only for the medium road monorail station stop lanes.

Lane Props

You can add props to lanes, such as hydrants, manholes, arrows, traffic lights, signs etc. except terrain conforming props such as fences. Lane props don't get embedded into the road asset .crp file, so you must add published workshop props.

Flags

Required and forbidden conditions which determine when the prop will appear.

Start and End flags refer to the direction of the lane, as it goes in one direction from start to end.

Color Mode

Determines state of traffic light and level crossing props.

Position

Prop XYZ offset relative to the lane position.

Angle

Rotation of the prop.

Segment Offset

Pushes the prop towards the end of the segment

Repeat Distance

When set to 0, repeats once per segment.

Min Length

Minimum segment length required for the prop to appear.

Corner Angle

1 Means the prop will rotate to match the intesection if it's near it. The value 0.5 is used for traffic lights to not be perpendicular to the road at angled intersections.

Probability

Percentage chance of the prop appearing.

Segments

Segments can be the main mesh of your network, or also used for specific segments, like a bus stop on one side, bus stop on both sides.

Flags

Required and forbidden conditions for each direction which determine when the segment will appear.

Disable Bend Nodes

Disables using the segment as a node on turns which exceed the Max Turn Angle.

Road Color

The upward road (asphalt) texture will get multiplied by this color.

Shader

Basic

Used for ground level roads. Instead of alpha being used for making the mesh transparent, it shows the underlying terrain such as grass or ruined. Will have weird normals/shading in many situations. Doesn't display normal maps.

Bridge

Used for elevated roads and bridges.

Rail

Same as bridge but shows gravel instead of pavement.

Wire

Used for power lines, tram wires, and cable car cables. Has specific mesh requirements.

Fence

Conforms to terrain, used for Parklife fences. Can't be used for nodes. Can't be used in combination with segments/nodes which have other shaders. Lane props may not match the terrain conforming network depending on the AI and other settings.

Nodes

Nodes can be used for intersections, sharp turns, transitions, dead-ends.

Flags

Required and forbidden conditions for each direction which determine when the node will appear.

Connect Group

Limits the node to connect to networks which have this connect group. Works only when direct connect is enabled.

Direct Connect

Instead of splitting a node mesh in half and connecting each side seperately, connects each segment in an intersection to every other segment. This is used for train tracks.

Shader

Same as for segments.

Mesh

Vanilla six-lane road segment mesh.

The mesh for segments and nodes usually is an extruded profile, but some also have railings or other details. The mesh itself is usually 64 meters long, and it will always stretch for the entire segment, so it's not recommended to rely on the segment mesh for anything else other than the extruded profile, and use lane props for such details instead.

The mesh is also subdivided multiple times, usually 16. The more subdivisions, the smoother it will look when bending.

Node mesh also requires a cut through the middle, so the game can split it for use in intersections, it will also place the center vertex in the middle of the intersection.

UV Mapping

Normally you only have control over the horizontal (U) UV mapping (horizontal/vertical is called UV when talking about the texture image itself) because the game will automatically tile it along the segment depending on how long the segment is.

You may have details for which you want to disable this automatic tiling, this can be done using vertex paint - by setting the green channel for those parts to 0, which means those parts would be 255,0,255 (magenta). This will make sure the texture is exactly as you UV map it, so it will stretch together with the segment.

Wire Shader

The vanilla powerline wire mesh showing vertex paint and uv mapping.

The wire shader requires a specific kind of mesh - each "wire" should be a vertical plane, which can be subdivided and curved like the vanilla powerlines.

It should be UV Mapped horizontally from -1 to 1 but the height of the uv mapping depends on the height of the mesh - for example on the vanilla powerline mesh, each wire is 4m high, so the UV mapping vertically goes from -2 to 2.

The vertex paint green channel must be 0. The blue channel controls the amount of sway in the wind, 0 means no sway. The red channel controls the phase of the sway.

Textures

Diffuse (_d)

An example diffuse texture for an expressway.

Just like any diffuse texture, defines the main color of the network.

Defaults to white.

Alpha (_a)

When black, on the basic shader, it displays the terrain underneath, on other shaders it works like an alpha map usually would.

Black means invisible, white is visible. Defaults to white.

Pavement (_p)

Usually displays the map theme pavement texture, but for the rail shader shows gravel instead.

Black means no pavement, white means pavement. Defaults to black, unless no diffuse is imported.

Road (_r)

Displays the map theme upward road (asphalt) texture, which also is multiplied by the segment color.

Black means no asphalt, white means asphalt. Defaults to black.

Normal (_n)

Works similarly to any other normal map.

Doesn't require any inverted channels for parts which are vertex painted magenta, but it does require the green channel to be inverted for parts using the automatic tiling.

Read more in the normal map article.

Defaults to flat.

Specular (_s)

Just like any specular.

Defaults to black.