This is an old revision of the document!
Table of Contents
Creating a Superstructure
In this section of the Railtool documentation, we explain the fundamentals required to create railway tracks in SubwaySim 2.
A central and essential part of track construction is the so-called Superstructure. The Superstructure is a data asset that contains all important information required to build tracks, such as geometry, materials, rail profiles, and additional infrastructure data.
Without a Superstructure, the Railtool cannot create usable track segments.
Creating a Superstructure
To make it as easy as possible for users to get started, we recommend using an existing Superstructure that is already included in the Modding SDK.
However, for advanced users who want to understand how a Superstructure is created from scratch, the following steps explain the manual process.
Creating a New Superstructure Asset
First, create the required folder structure inside your plugin.
In your plugin content directory:
- Create a folder named Infrastructure
- Inside it, create another folder named Superstructures
Once you are inside the Superstructures folder:
- Right-click in the Content Drawer
- Select Data Asset
- In the class selection window, search for Super Structure Data Asset
- Select it and confirm
After creating the asset, name the Superstructure freely. We recommend choosing a name that reflects the type of track construction it represents (for example based on rail type or construction method).
Ready-to-Use Superstructures
Several preconfigured and ready-to-use Superstructures are already included in the SDK.
These can be found under:
`SubwaySim2_Modding / RailwaySystem / Superstructures`
Please note that these Superstructures do not include power rails and are mainly intended as examples or templates.
Migrating an Existing Superstructure
For most use cases, we recommend migrating an existing Superstructure from the sample content.
The default sample Superstructure can be found at:`Simuverse_SampleModMap / Infrastructure / RailwaySystem / DataAssets`
The asset is named:`DL_SampleMapDefault`
The migration process works exactly as described in:Migrating Assets into a User Plugin
Important
When migrating the Superstructure:
- Only migrate assets from the plugin `Simuverse_SampleModMap`
- Do NOT migrate assets from the plugin `SubwaySim2_Modding`
Migrating from the wrong plugin can cause dependency issues and errors in your mod.
Result After Migration
After a successful migration, the Superstructure and all required dependencies will be located under:
`SubwaySim_SDK_Testplugin / Infrastructure / RailwaySystem / DataAssets`
At this point, the Superstructure is available inside your plugin and ready to be used with the Railtool.
Explaining the Superstructure Contents
In this section, we explain how a Superstructure Data Asset is built and which information it contains.
The Superstructure defines all fundamental properties required by the Railtool to generate tracks correctly. It controls the visual appearance, physical layout, and functional behavior of the railway infrastructure.
The Data Asset is divided into three main sections:
- Base Settings – General track configuration and visuals
- Switches / Turnouts – Parameters for automatically generated switches
- Third Rail – Configuration of the power rail system
We will now go through these sections step by step.
Base Settings
The Base Settings section contains all fundamental information required to create standard track segments.
These settings define how the track looks, how wide it is, and which meshes are used for rails, sleepers, and ballast.
Base Settings Overview
| Property | Description |
|---|---|
| Rail Material | Material applied to the rails and visible track geometry. |
| Clamp Normal | Static Mesh used for standard rail clamps that hold the rails in place. |
| Guide Rails | Defines additional guiding rails used in special track sections. |
| Gauge | Distance between the rails (track gauge). |
| Sleeper Spacing | Distance between individual sleepers. |
| Sleeper | Static Mesh used for a standard sleeper. |
| Ballast Offset | XYZ offset applied to the ballast mesh. |
| Ballast | Static Mesh used for the ballast bed. |
Rail Material
Defines the material that is applied to the rail geometry. This material controls the visual appearance of the rails, including color, roughness, and surface details.
Clamp Normal
Specifies the Static Mesh used for standard rail clamps. These clamps are placed along the track and visually represent how the rails are fixed to the sleepers.
Guide Rails
Guide Rails are additional rail elements used in specific track situations, such as:
- Switches
- Tight curves
- Special track sections
This setting is handled as a separate sub-configuration, allowing guide rails to be enabled or disabled depending on the track type.
Gauge
Defines the track gauge, which is the distance between the two rails.
The standard gauge is 1435 mm.
⚠️ Important: Unreal Engine units are centimeters, not millimeters.
Conversion:
- 1435 mm = 143.5 cm
The value entered here must be specified in Unreal units (cm).
Incorrect gauge values will result in:
- Incorrect wheel alignment
- Physics issues
- Visual inconsistencies
Sleeper Spacing
Defines the distance between individual sleepers along the track.
This value directly affects:
- Track appearance
- Performance (more sleepers = more meshes)
The spacing value is also defined in Unreal units (cm).
Sleeper
Specifies the Static Mesh used as the standard sleeper.
This mesh is repeated along the track at the defined sleeper spacing and forms the base support structure of the rails.
Ballast Offset
Defines the XYZ offset of the ballast mesh relative to the track center.
This allows fine-tuning of the ballast position to ensure correct alignment with sleepers and rails.
Ballast
Specifies the Static Mesh used for the ballast bed.
The ballast mesh represents the gravel or stone foundation beneath the track and is an essential visual component of the railway infrastructure.
