Skip to content

Profiles and Layers

A road's cross-section is built from layers, placed side by side across the road. Each layer has a profile that gives it its shape.

For example, a simple street might have: sidewalk, curb, two lanes, curb, sidewalk.

Road Profiles

A Road Profile is an asset holding a 2D shape: the outline of a curb, a sidewalk or a lane surface. Create one from Assets > Create > World Toolkit > Roads > Profile, or click New next to a layer's Profile field to save a new one and assign it.

Editing the shape

Select the profile asset to edit its points in the Profile Points graph:

  • Click a point or span to select it, and drag points to move them. Esc during a drag cancels the move.
  • Double-click a span to insert a point. Del removes the selected point.
  • Middle-drag pans, scroll zooms, F frames the shape.

Add Point, Remove Point and Frame do the same from buttons.

For the selected point:

Position
The exact coordinates.
Shading
Hard gives a sharp edge at this point instead of a smooth one.

For the selected span (the segment between two points):

Span Material
A material for this part only. Leave it empty to use the profile's Default Material.

The Profile Preview at the bottom of the inspector shows the result in 3D. Corner previews it around a corner, the number next to it is the preview length in meters, and Iso, Wire and Reset change the view.

A curb profile in the inspector, its preview and the curb in the scene
A steel-faced curb: its Profile Points, the Profile Preview and the result on the road.

Profile settings

Is Lane
Marks the profile as a driving lane. Lanes have a direction and show lane guides. A layer's lane settings (Lane Direction, Extra Lane Count and Lane Divisions) only work with lane profiles, and are greyed out for other profiles.
Is Border
Marks the profile as a road border (curb, gutter, sidewalk). Junctions treat borders differently from the road surface: borders continue around the corners between roads.
Regular Profile UV Type and Junction Border Profile UV Type
How textures are mapped: along roads, and for border profiles inside junctions. Unfold follows the profile along the road, with Unfold Scale and Unfold Offset. Triplanar projects the texture in world space, with Triplanar Scale.
Default Material
The material used for spans with no material of their own.

Layers

Layers are set on the road component, under Road Layer Groups, or in the Groups of a Road Rules asset.

Name and Profile
The layer's name and its Road Profile.
Alignment and Offset
Where the layer sits: Left, Center or Right, then shifted by Offset.
Mirror
Flips the profile, to use the same curb asset on both sides of the road.
Width Multiplier
Scales the layer's width.
Lateral Bulge
A curve that raises the layer across its width, for a crowned road that sheds water. The X axis goes from 0 at the left edge to 1 at the right edge, and the Y axis is the extra height.
Spline Ranges
Limits the layer to parts of the road. Leave it empty to use the whole length. See Spline ranges.
Sub Layers
Layers placed relative to this one and painted over it, such as a line on a lane or a no-parking line in a gutter.
Extend Into Junctions
Sub layers only. Continues the sub layer over the junction lead-in, up to where the curb arcs start, instead of stopping where the road surface is cut. Meant for markings painted on the road. A marking that sits inside a border profile, like a gutter line, follows the border around the junction corner. See Markings in junctions.

Lanes

For lane layers (layers whose profile has Lane enabled; for other profiles, these fields are greyed out in the inspector):

Lane Direction
Forward, Backward or Both.
Extra Lane Count
Adds more lanes of the same profile next to this one.
Lane Divisions

Dividers between lanes, each with its own Profile:

  • Directions sets which lanes they separate: Any, Same Direction or Opposite Directions.
  • Placement decides whether the divider opens a gap between lanes (Open Gap) or sits on the seam between them (On Seam).
  • Width Multiplier, Mirror and Offset size and place the divider.
  • Conform To Surface makes the divider follow the lane surface below it (its bulge and profile shape) instead of spanning it as a straight strip. Offset Y then lifts it above that surface.
  • Extend Into Junctions continues the divider over the junction lead-in, up to where the curb arcs start.
  • Spline Ranges limit the divider to parts of the road. Outside them, the divider and its gap are removed.

You can also edit lanes in the Scene view. Select a road to show its lane controls:

  • Click a lane's arrow to switch its direction between Forward, Backward and Both. On an extra lane, the arrow flips that lane's direction.
  • Click the + button to add an extra lane, or the − button on an extra lane to remove one.

Warning

On a road that references Road Rules, these lane edits change the rules asset, and so every road that uses it. To change one road only, turn on that lane's Lane Overrides in the road inspector first.

Spline ranges

Layers, sub layers, lane divisions and layer groups can be limited to parts of the road with Spline Ranges. With an empty list they apply everywhere. Each range has an Anchor:

Anchor What it covers
Spline One Range on the spline path chosen by Spline Path Index.
Junction Mouths One interval at every junction mouth of every spline path, measured from the mouth's curb line back along the road: it starts Mouth Setback from that line and runs for Mouth Length.

Enable Flip on a range to use everything except that part. Normal ranges add up, and flipped ranges each remove their part.

Use spline ranges for a sidewalk that only exists on one block, or a parking lane that stops before a corner.

Crossings and stop lines

Give a sub layer a Junction Mouths range to paint it at every junction the road reaches. Sub layers whose ranges are all unflipped Junction Mouths ranges are laid out straight along the lanes at the mouth, square to them, even where the road curves.

Layer Groups

Layers are organized in groups: the road's Road Layer Groups, or the Groups of a Road Rules asset.

Group Id
The group's name, used by the settings below.
Override Group Ids
Groups this one replaces. Wherever this group is active, along its Spline Ranges, the groups listed here are turned off.
Alignment On Anchor Group and Anchor Group Id
Center centers the group on the road. Left Of Group lines up the group's left edge with the left edge of the group named in Anchor Group Id, and Right Of Group lines up the right edges.
Offset
Shifts the whole group sideways (X) and up (Y).
Ignore Junctions
Leaves the group out of junction generation.
Spline Ranges and Layers
Where the group applies (see Spline ranges), and its layers.

Default mesh

When none of a road's layers has a profile, the road uses its Default Mesh: a strip with a Material, flat or shaped across its width by Profile Curve, with Lateral Segments across and a Longitudinal Segment Length along. With Follow Spline Width, its width comes from the spline's width data, falling back to Width where there's none.

Position Jitter and Jitter Seed add a small, repeatable random displacement, for a worn, uneven look. Road ends and junction mouths stay fixed.

On a road that references Road Rules, the default mesh comes from the rules.

Road materials

World Toolkit includes two shaders for road materials, for the Universal Render Pipeline. Pick them in a material's shader menu, under WorldToolkit > Roads.

Lane Wear Lit
Asphalt with procedural tire wear. Albedo (Triplanar), Normal Map (Triplanar) and Mask Map are projected in world space (Tiling Per Metre, Blend Sharpness), so the texture lines up across roads and junctions. The Wear settings tint the wheel tracks with rubber (Rubber Tint, Rubber Strength, Rubber Smoothness) and oil (Oil Tint, Oil Strength), broken up by Breakup Scale and Breakup Amount. On roads, the tracks follow each lane (Lane Tracks On Roads; Track Gauge, Track Width, Track Softness and Oil Width are fractions of the lane width). In junctions, they follow the lane guides through the junction.
Road Marking Lit
Paint for markings: lane dividers, crossings and junction markings. Its Depth Bias (Slope Factor and Units) draws the paint over the asphalt without flickering, even where it's level with the road. Alpha Clip cuts out the parts below Alpha Cutoff.

Both take a Mask Map with metallic in R, occlusion in G and smoothness in A.