It is assumed that the 3D modelling package used is Autodesk® 3ds Max® and the package used for authoring textures is Adobe® Photoshop.

The modelling package Autodesk® 3ds Max® was used to create Train Simulator, so this product appears in the examples provided. You can, of course, use other packages such as Blender™ or amabilis 3D Crafter. The package used here for authoring textures is Adobe® Photoshop. Again, you may use one of the many other packages available.

Regardless of the packages you use, the documents below should be used as a general guide to the processes to follow to build assets for Train Simulator.

Important Note: For your chosen package, you may need additional plug-ins to export the assets into Train Simulator. Please check the availability of a suitable plug-in before you begin creating assets.

Dummy Texture

On some shaders, there is a requirement for multiple texture pass effects. An example would be a reflection mapped shader, where the reflection map is applied as a secondary render pass at run-time.

Some of the shader descriptions listed within this document make references to a ‘dummy texture’ in one or more of the texture slots. These extra texture slots are present to allow the code to apply one of these multi-pass effects at runtime. It is therefore irrelevant what textures are referenced in these dummy texture slots (as they will get replaced regardless).

However, to ensure that the shaders are kept consistent and simple, it is recommended that a single small texture is created (called for example "" or "dummy.ace") and all references to dummy texture slots use this single texture.

For example:

Texture slot 1 – diffuse texture
Texture slot 2 – dummy texture


Non-FX Shaders

Unlit Object

 Description:This shader is unlit (it is not affected by the in-game lighting and therefore stays at full brightness irrespective of the time of day). 
 Example Use:Interior of passenger coaches, building windows at night (opaque) and lit signs.

General Clutter Object

 Description:This shader is lit by diffuse lighting.
 Example Use:Small clutter objects (that do NOT require shadow maps).


 Description:This shader uses alpha blending.
 Example Use:Windows on a train.

Light Glows

 Description:This shader uses additive alpha.
 Example Use:Light glows on the ground or Signal lamp glows

FX Shaders

These shaders are more complex than the non-FX shaders and tend to have more texture passes. As a result, they can appear to have more depth and overall a more interesting/realistic surface in-game.

Stencil Shadows

 Description:This shader is used specifically for the in-game stencil shadows. For this shader to function correctly, there are strict guidelines which must be adhered to when authoring shadow shapes. Please see authoring guides.
 Example Use:Stencil shadows.


 Train Flora, TrainViewFacingFlora, TrainUprightViewFacingFlora
 Description:These are solely lit by ambient lighting (no diffuse lighting), and can have view-facing properties.
 Example Use:Groups of leaves on foliage.


 Description:These are specific shaders used for generating in-game lofts. These shaders support transparency if required.
 Example Use:A brick wall.

 Description:These are specific shaders used for generating in-game lofts. These shaders support transparency if required.
 Example Use:A tree-line

Reflection Map

 Description:This shader has a second pass reflection map.
 Example Use:Shiny glass windows on a building (opaque).


 Description:This shader allows for a second pass shadow map which allows the asset to have a pre-lit appearance. This helps to give the asset's lighting more depth.
 Example Use:Buildings and Stations.


 Description:This shader can be used to generate water surfaces.
 Example Use:Water lofts

Rolling Stock

 Description:Shiny bumpy metal.
 Example Use:The sides of a locomotive, slightly beaten in appearance.

 Description:Shiny smooth metal.
 Example Use:The sides of a locomotive, smooth in appearance

General Clutter Object (FX Shader)

 Description:FX shader version of the basic shader.
 Example Use:Small clutter objects that do NOT require shadow-maps.


 Description:Skin shader specifically written for in-game characters. There are guidelines which must be followed when creating characters to ensure the character skeleton matches the expected skeleton within the shader.
 Example Use:Skinned characters or wildlife.


 Description:Skin shader specifically written for creating dynamic skies.
 Example Use:Skies

Material Properties

The material plug-in supports polygons with single or double-sided properties. The non-FX and FX Shaders handle this property slightly differently.

Non-FX Shaders

Non-FX Shaders render polygons double-sided by default. If using a Non-FX Shader and single-sided polygons are required, then the 'back-face cull' flag needs to be checked in the material.

FX Shader

FX Shaders render polygons single-sided by default. If using an FX shader and double-sided polygons are required, then the '2-sided' flag needs to be checked in the material.