In this section you will learn how to place railway tracks in your map using the Railtool. Placing tracks comes with several important considerations and requires basic familiarity with the Unreal Editor.
If you are not yet comfortable with Unreal Editor navigation and controls, please take some time to familiarize yourself before continuing.
The first step is to place the RailwaySubSystem master Blueprint into your level.
This Blueprint acts as the central configuration point for all railway-related systems and defines:
To place it:
Select the Blueprint in the World Outliner and set its position in the Details panel to: X = 0.000000 / Y = 0.000000
This ensures the subsystem is positioned correctly.
With BP_RailwaySubSystem selected, scroll down in the Details panel to the section Railway System 2.
This section contains all settings required before placing tracks.
The Data Layer Channels section defines which Data Layers the Railtool can use.
These include:
You can:
Each channel consists of the following fields:
| Property | Description |
|---|---|
| Channel Id | Automatically assigned index. Channel 1 should always be the Superstructure. |
| Name | Name of the Data Layer. |
| Default Value | Default value applied when no track data is set. |
| Type | Data Layer type: Side, Superstructure, String, Integer, Float |
| Directional | If enabled, the Data Layer is applied only in one direction. Default is both directions. |
Once Guide Rails, Third Rails, and other infrastructure elements are configured in your Superstructure, the Data Layer Channels section will contain multiple entries.
This typically includes:
One commonly used custom Data Layer is Tunnel.
The Tunnel Data Layer is used to mark tunnel sections along the track. When applied, it ensures tunnel areas are treated correctly by the game, including proper lighting behavior.
Without this Data Layer, tunnel sections may appear incorrectly lit or not fully dark during gameplay.
In this section, you add all Superstructure Data Assets that should be available for track creation.
These assets define:
Make sure all required Superstructures are added here before placing tracks.
Superelevation describes the banking of tracks in curves to compensate for centrifugal forces.
The Railtool supports automatic superelevation using the following parameters:
| Property | Default | Description |
|---|---|---|
| Max Super Elevation Change Millimeter Per Sec | 50.0 | Maximum change per second |
| Max Super Elevation Change Millimeter Per Meter | 2.25 | Maximum change per meter |
| Super Elevation Shortfall Millimeter | 100.0 | Allowed deviation / tolerance |
These default values are suitable for most cases and can be adjusted depending on track design and realism requirements.
After setting up the RailwaySubSystem correctly, we can begin placing tracks.
Open the Mode Selection in the Unreal Editor and switch to Simuverse Rail Mode.
⚠️ Important: Tracks can ONLY be created, edited, or removed in Simuverse Rail Mode. Do not delete track meshes in Selection Mode, as this can cause severe rendering and logic issues within the Railtool.
This section controls how Data Layers are handled on tracks.
Converts existing Data Layers into directional layers, allowing different values depending on track direction.
Defines the active editing mode. You can switch between the following modes using the dropdown menu:
Used for creating, connecting, and editing track control points.
Used to adjust vertical alignment and elevation of tracks.
Used to assign or modify Data Layer values along track segments.
Debugging tools to visualize and inspect track behavior.
Displays intersections and connection points between tracks.
Forces switches to align with the currently selected track.
General configuration values for track placement.
Defines the vertical offset of tracks above the ground.
Default value: **0.5 meters**
Tools for cleaning up and repairing track data.
Removes invalid or corrupted control points and track segments from the map.
Camera helper functions for navigating complex track layouts.
Moves the editor camera to the control point specified by ID.
The control point number used for focusing the camera.
Advanced diagnostic and maintenance tools.
Scans the entire track system for errors or inconsistencies.
Validates imported switches and refreshes their data.
Recalculates transition curve length for smooth geometry and correct superelevation behavior.
Re-registers Railtool-related console commands in case they were lost.
Validates the internal step size (cm) used for mesh generation.
Tools for creating parallel tracks.
Creates a new track parallel to the selected one.
Defines the distance between selected and parallel track.
If enabled, track meshes are generated immediately.
If disabled, only control points are created.
Core tools for managing track geometry.
Creates a connecting control point between two existing control points.
Removes all generated track meshes from the map.
Breaks the connection between selected control points.
Resets all track meshes to their default state.
Regenerates all track meshes on the map.
Aligns the middle point (of three) into a straight line.
Highlights segments that are placed too close to each other.
At this point, the Rail Mode interface should be fully understood, and you are ready to begin placing and shaping track geometry.
Before we start placing tracks, it is important to understand how track placement works in SubwaySim 2.
Unlike classic spline-based tools, the Railtool uses Control Points.
Control Points describe:
Example: an S-curve can be defined using only four Control Points:
This mirrors real-world railway alignment planning and ensures:
(See the attached diagram.)
Now we can begin creating our first track.
To create a Control Point:
Repeat at another position:
A straight track segment will be generated between the points.
Recreate the layout shown in the diagram by placing Control Points for:
Your track should look similar to the example below:
To shape curves:
If Control Points are hard to select:
When selecting a Control Point, the Details panel exposes parameters for curve behavior, transitions, and superelevation.
| Parameter | Description |
|---|---|
| Desired Blue Radius | Target curve radius of the blue control line. |
| Actual Blue Radius | Currently generated radius for the blue line. |
| Desired Green Radius | Target curve radius of the green control line. |
| Actual Green Radius | Currently generated radius for the green line. |
| Parameter | Description |
|---|---|
| Vmax (km/h) | Internal value for superelevation calculations (not in-game max speed). |
| Superelevation Override [mm] | Manual override for calculated shortfall. |
| Superelevation [mm] | Currently applied superelevation in millimeters. |
| Superelevation Transitioncurve Length | Length for gradual banking change. |
| Minimal Transitioncurve Length | Minimum allowed transition length. |
| Parameter | Description |
|---|---|
| Desired Transitioncurve Length | Target transition curve length. |
| Actual Transitioncurve Length Red | Actual length on the red side. |
| Actual Transitioncurve Length Blue | Actual length on the blue side. |
| Maximum Transitioncurve Length Red | Maximum allowed on red side. |
| Maximum Transitioncurve Length Blue | Maximum allowed on blue side. |
| Parameter | Description |
|---|---|
| Connect Superelevation Red | Connects banking to the red neighboring segment. |
| Connect Superelevation Blue | Connects banking to the blue neighboring segment. |
| Parameter | Description |
|---|---|
| Switch Motor Placement | Side of track for switch motor placement. |
| Switch Motor Type | Manual or electrically driven. |
| Parameter | Description |
|---|---|
| Location | World-space XYZ location of the Control Point. |
Understanding these parameters enables precise control over track geometry and realistic results.
In this section we will create our first switch.
Create a straight track using two Control Points. Then:
A second, parallel track is created.
For precise duplication and movement:
For the first track:
Repeat on the parallel track and offset slightly to create the diverging branch.
The Railtool generates a switch between the two tracks.
You can refine a switch by:
The Railtool displays the frog type in red text and in the Control Point Details panel.
The Railtool also supports vertical geometry using Height Control Points.
Select a Height Control Point and adjust:
| Parameter | Description |
|---|---|
| Desired Radius Meters | Target radius for vertical transitions. |
| Current Radius Meters | Calculated and applied radius. |
The Railtool calculates:
Data Layers define additional track properties such as:
To work with Data Layers:
| Setting | Description |
|---|---|
| Mode | Direction behavior of the Data Layer. |
| Add Channel | Selects which channel is applied. |
| Visualize Channel | Visual overlay for a selected channel. |
| Option | Description |
|---|---|
| Unidirectional | Applies in both directions (e.g. Third Rail, Tunnel). |
| Bidirectional | Applies only in one direction (e.g. Speed Limits). |
Optional:
With this, the basic principles of track placement have been explained.
Creating clean and realistic railway layouts requires practice. We recommend studying the tracks used in the SampleModMap to learn proper Control Point placement, curve design, and Data Layer usage.
With the track layout completed, including curves, switches, height profiles, and Data Layers, your map’s railway infrastructure is now in place.
The next step is to prepare the map for use in SubwaySim 2 by configuring all required settings and validating the setup.