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.
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.
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.
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.
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.
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.
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.
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.
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.
Maximum slope angle allowed for building the road.
Max Build Angle
An example 135° intersection.
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.
When building the road, it will be created higher or lower than the player has chosen based on this value.
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.
Flattens terrain based on the half width of the road.
Lowers terrain based on the half width of the road. Usually used for elevated roads to prevent the terrain from clipping into them.
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.
Places nodes according to terrain when building the road. Usually disabled for elevated or tunnel networks.
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.
Enables checking for collisions when building.
Used for dam, canals, flood wall, quay. Blocks water based on half width and min/max height properties.
Destroys the road when something else is built over it, if can collide is enabled. Used for pedestrian paths, walls, trench, and powerlines
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.
Creates the zoning grid based on the road half width, but no closer than 8m to the center.
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.
Unknown, enabled for all elevated networks.
Enables the traffic lights node flag for intersections involving the road. The actual traffic light props themselves must be added as lane props.
Unknown, involved in code related to lane routing and simulation. Enabled only for all highways.
Allows for snow to accumulate on the road on winter maps.
Noise Accumulation / Radius
Affects noise pollution simulation.
Center Area Width
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.
Only used for Double Length networks, used for the large highway bridges for alternating pillars.
Bridge / Middle Pillar Offset
Raises or lowers the pillars.
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.
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 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.
Distance from the center of the road.
Width of the lane.
Height position of the lane.
Lane position offset used for pedestrian lanes with stop types, used for public transport stops such as bus and tram.
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.
Forward for right hand lanes, backward for left hand lanes. Automatically flips on left hand traffic maps.
Determines the kind of traffic the lane is meant for.
If the lane type is set to vehicle, this defines which vehicle types can use the lane.
Used for pedestrian lanes, on which people will wait for public transport.
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.
Used for pedestrian lanes for tram stops in the middle of the avenue.
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.
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.
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.
Determines state of traffic light and level crossing props.
Prop XYZ offset relative to the lane position.
Rotation of the prop.
Pushes the prop towards the end of the segment
When set to 0, repeats once per segment.
Minimum segment length required for the prop to appear.
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.
Percentage chance of the prop appearing.
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.
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.
The upward road (asphalt) texture will get multiplied by this color.
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.
Used for elevated roads and bridges.
Same as bridge but shows gravel instead of pavement.
Used for power lines, tram wires, and cable car cables. Has specific mesh requirements.
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 can be used for intersections, sharp turns, transitions, dead-ends.
Required and forbidden conditions for each direction which determine when the node will appear.
Limits the node to connect to networks which have this connect group. Works only when direct connect is enabled.
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.
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.
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.
The vanilla powerline wire mesh showing vertex paint and uv mapping.
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.
An example diffuse texture for an expressway.
Defaults to white.
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.
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.
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.
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.
Just like any specular.
Defaults to black.