Rolling Line

Rolling Line

51 ratings
Train modding official guide
By Franks
This is the official guide for using the new train modding system to create your own train mods for Rolling Line!
2
   
Award
Favorite
Favorited
Unfavorite
Welcome to the new modding system!
After many years, the old "QuickMods" system is finally getting a real upgrade.
You will still be able to make and use QuickMods, and any old QuickMods you've already got will continue to work fine.

This new modding system works in a very similar way to prop modding, which means you can create, edit and preview your mod entirely in-game!
All value editing and adjustments are done using in-game menus.



Just like with prop modding, you need to place all your asset files (like 3D models and textures) in the "custom assets" folder. Any files stored here will be accessible using the in-game modding system.

The custom assets folder can be found here:
...(Program Files)\Steam\steamapps\common\Rolling Line\Modding\custom assets



This guide will give you a step-by-step run-down on how to create a basic train mod, as well as explain some of the more advanced features of the modding system.
Creating a basic train mod
To get started, here is a step-by-step walkthrough on how to create your own train mod using simple presets and example models (so no 3D modelling required!).

This will cover the basics of choosing mesh & texture files to use as your train's body model, as well as how to make use of the built-in presets for wheels and couplers.

More advanced modding features like animations, extra wheel blocks and custom couplers will be explained in the next section of this guide.
For now, let's just get started on making a simple train mod from scratch!

Creating a new mod

The first step is to open the modding manager, which can be found in the top-right of the pause menu.



Once in the modding manager, make sure the mod category is set to "Train Mod" and then click "Add new" to create a brand new mod.
(the screenshot shows "wagon" instead of "train mod" since the name was changed later)



You can then type in the mod name using your keyboard, simply calling it "example train" or anything is fine. Then press "Done" or press Enter on the keyboard.



This will open the new mod window. From here you can access all the various menus and options for creating your mod.

But before we do anything here, we first need some 3D model and texture assets to use for our mod! We will use some example files which are included in the game by default (so you don't need to use any 3D modelling software for this tutorial).

To get started, click the "Open assets folder" button at the top.
This will open a file browser window directly to the "custom assets" folder.
The custom assets folder is where you store any models, textures, audio files, etc that you want to use for your mods.



Keep this file window open as we will be using it in a moment.

Next open another file browser window so we can grab the example models we need.
The models we are going to use are located in:
...(Program Files)\Steam\steamapps\common\Rolling Line\Modding\templates\train mod examples\

Inside this folder you can find a bunch of pre-made example mods.
The one we are going to use is the "wagon_Rift_Valley_U20C_Example" one.



Open this folder, and copy the two files:
- Loco_riftValley_body.obj
- tex_loco_riftValley.png



Now paste these two files into the "Custom assets" folder we opened earlier:
...(Program Files)\Steam\steamapps\common\Rolling Line\Modding\custom assets



Now that these two files (a 3D model and an image) are in the custom assets folder, we can tab over into Rolling Line again and make use of these assets in our mod!

Switch back over to Rolling Line and click the "refresh assets folder" to load the newly copied models. You can press this button at any time to load any files added to the custom assets folder while the game is running.



Excellent! now let's get started on adding these assets to our mod.
Setting up the body mesh
Now that you have a model and texture asset to use, we are going to edit the "body mesh" of the mod to make use of these assets.

Right in the middle of the modding window you will see a "meshes" list.
Using this list you can add multiple meshes to be used as the body of the train.
For now we only need one, so simply click on the first mesh called "main".



You will now see the "model edit" window, which you can use to set up things like the mesh, texture, material type, etc.
The two things we are going to use now are the "Mesh" and "texture" options.



Clicking on "Mesh" will open a popup window to select which 3D model asset you want to use. This list contains any .OBJ or .FBX model files found in the "custom assets" folder we saw earlier.

Click on the "Loco_riftValley_body.obj" one we copied earlier to select it.



Now also do the same with the "Texture" option and choose "tex_loco_riftValley.png" from the list.

Your model edit options should look like this now:



That's all we need to do for now, so click "Done editing" and return to the previous window.

Now that you have a model and texture set up, you can see what it looks like!
Simply click the "Refresh preview model" button on the small table in front of the modding window.



Clicking this will spawn a preview model of your current mod.
Using wheel presets
If you have a look at the preview model it should look like this:



You can see the custom body mesh we set up in the previous step, as well as some preset wheels which are included automatically!

This is already a perfectly functional mod, and you can clone it and place it on tracks. But what if we want to use some different wheels that suit it better?

To begin editing the wheels, click on the "wheels" menu option above.



This will open the "wheel list" window.
From here you can edit the front & back wheels, as well as add extra wheel blocks (e.g. for wagons that have more than two blocks of wheels).

For this example, we only need the front & back wheels, so simply click on the "Back wheels" option to edit it.



This window has lots of different options for editing the wheels, like setting up the model and changing the position of the wheel.

Click on the "Model options" button to continue.



This window lets us edit the model for the wheel. You can choose between using a preset, or supplying your own 3D model (like we did for the body mesh).

For this example, we just need to switch to a different preset, so simply click the "choose" button to pick a new preset from the available options.



This will open a popup list of all the built-in wheel presets. You can find most of the wheels used by the official wagons & trains in the game here.

Since the example mod we are making suits the DX wheels well, let's choose the "WheelPreset_locomotive_dx" option from the list.



Then simply click "Done" and then "Done" again to return to the wheel list.
Repeat the above steps on the "Front wheels" option to change the front wheels over to the new preset as well.

Then, once you have set both wheel blocks to use the new preset, you can refresh the preview model again, and it should look like this:



That's much better!

Although there are still a few little things to do to call this mod complete.
Choosing a thumbnail
If you return the main editing window, you can click on the "capture thumbnail" option to the right to choose a thumbnail for your mod.



Now simply go over to the preview model (or place a clone on the tracks) and left-click to capture a thumbnail of your new mod.


Saving your mod
When you are happy with your mod and have given it a thumbnail, another optional step you can do is set up tags.

Tags are used to help organize your mods and are especially important when uploading to the Steam workshop. Uploading a mod without proper tags is going to make it far harder to find.

To set up tags simply click on the "Tags" button and choose the various category, region and custom tags you like.



Once you have set up your tags, simply click "Save" to save your mod and return to the modding manager.



And that's all you need to create a basic mod!

Now that you've saved your mod it will show up in the list of mods in the modding manager.

You can click on it and choose various options like:
- Edit (open the mod editing window and make changes)
- Duplicate (make a new mod that is a copy of this one)
- Upload (upload this mod to the steam workshop)
- Spawn (spawn a copy of the train in your hand)



When you save your mod all of the files it uses (like 3D models and textures) will be copied to a new folder in the "Rolling line/modding/mods/(mod name)" folder.

Using custom textures on presets
Something you will eventually want to do is to change the colours of a preset set of wheels/couplers. Luckily, you can easily do this by providing an override texture!

Simply open the "wheel list -> wheel edit -> model edit" window (which we used earlier to change the wheel preset).

From here you can use the option "Texture override" to choose an image file to replace the default wheel texture.



You can find the default wheel & coupler preset texture here:
...(Program Files)\Steam\steamapps\common\Rolling Line\Modding\templates\train mod examples\wheel and coupler preset texture.png

Here's a copy of that file too:



Simply make a copy of this file in the "Custom assets" folder we used earlier.
Then you can adjust the colours to your liking.

For example, here is a version of the wheel preset texture which fits better with our example mod:



Once you have copied this file into the custom assets folder, go back into Rolling Line (and remember to click "refresh asset folder"!).
You can now choose the new texture from the asset list.



Refresh the preview model and you should already see that one of the wheel blocks has updated to the new texture colours!



It's as simple as that!
Try editing the texture yourself and see what kind of colours you end up with.
You can use this same method to change the colours on any wheel or coupler preset.
Model position adjustments
There are several options in the new modding system which allow you to adjust the position/rotation of wheels & couplers.

Model offset

When you are editing the options for a wheel block or coupler, there is an option for "model offset"



You can use this option to easily move the model forward/backward along the length of the wagon without needing to modify the 3D model.

It is recommended that you stick to small values (around -0.5 to 0.5) and if you want to place the wheel in a largely different position you should adjust the whole wagons length value
(general options -> length).

Flip model

On this same menu, you can use the option "Flip model" to flip the wheel block 180 degrees. This is useful for making a model or preset face the opposite direction without needing to create a new 3D model.

Coupler offset

When editing couplers, the "coupler offset" is the distance at which other wagons will collide and connect with this wagon. If you are using a coupler preset then this value is handled automatically, but if you are using a custom 3D model for a coupler then you will want to fine-tune the coupler offset.

Simply enable the "Use custom length" toggle, and then you can edit the "Coupler length" value.



This value can be positive or negative, and will move the couple point forward/backward along the length of the wagon.

While you are editing coupler values, the preview model will automatically update and show a green sphere which shows where the couple point is located.



Model invert

Whenever you are editing a model which uses a 3D mesh (e.g. wagon body, wheel model, etc) there is an option for "Model invert".



This option is to help with old QuickMod models, which used to require a manually inverted mesh to appear normal in-game.
This new modding system no longer has this issue, so if you are using an old inverted model to make a new mod, simply enable this option to counter-act the inverted model.

If you are making a model from scratch (which had nothing to do with QuickMods) then you don't need to worry about this option.
Wagon length
The "length" of a wagon is the distance between the back and front wheels.
You can edit this value in the "general options" menu:





This value can be decimal (e.g. 3.5, 3.25...) but needs to be greater than 1 and should usually be around 1-6.
Lengths of 8, 9, 10+ are starting to get too large to reasonably fit on tracks.

When using a custom 3D model for the wagon "body", this model will have it's origin point (0,0,0) directly above the back wheels.

So think of the back wheels as being at "length 0".
Then the front wheels will be shifted along the wagon as much as you set the "length" value to.
So for "length 3.5", the front wheels will be 3.5 units away from the back wheels.

It is very helpful to use one of the example train mods as a template.
Import the body .OBJ file into your 3D software of choice and then use that as a size reference.

Here is a visual representation of how the length value affects your mod:

Extra wheel blocks
You may have noticed that when you open the "wheel list" window, there is an option to add a new wheel block.
You can have as many extra wheel blocks as you like, and this feature is very useful for trains that have more than two wheel blocks that move independent of each other (e.g steam engines, or the v8 locomotive).

To add a new wheel block, simply click "Add new" and give it a name like "middle wheels" or anything you like.



Then you can click on this new wheel block to edit it.

There are only a couple of things that make an extra wheel block different, and that is that it's "position" value is set to "custom" (while the original two wheels are set to "front" and "back").

And when a wheel block is set to "custom" you will see a new option called "length offset"



This "length offset" value behaves just like the "length" value used for the whole wagon.
for example, if a wagon has the length 3, and you make an extra wheel with length 1.5 it will be positioned in the middle.

For example, here is a wagon with the length set to 3, and two extra wheels, one with "length offset" set to 1, and the other with "length offset" set to 2:



Make sure there is always only one wheel set to "front" (and no more than one).
Same idea goes for "back".
All other wheels need to be set to "custom".

There are in-game warnings to make sure this structure is kept.
If you accidentally remove the front/back wheels, simply add a new one and manually set it's position to "front/back" and it will be used instead.
Animation
The best part of the new modding system is that you can finally make use of custom animations!

Simply include your animation in an .FBX file, and it will be loaded and set up automatically.
But you can customize things a bit further using the "Animation" menu when setting up a model:





I have written a separate guide which focuses on creating the raw animation files:

https://sp.zhabite.com/sharedfiles/filedetails/?id=2671456640

From here you can access a few options:
  • Clip index - if your model has more than one animation clip, you can use this value to set which animation index to use.
  • Play speed - how fast the animation plays (this is currently not used for wagon mods, so ignore this value for now)
  • Play loop mode - choose how the animation is played (e.g whether it loops, or only plays once)

Wheel animations

If you use an animated 3D model as a wheel model, then it's animation will automatically be synced up with the speed of the locomotive. So the animation will play faster based on how fast the train is moving.
This is perfect for creating your own animated wheels!

You can find an example of this in one of the example mods found in the folder:
...(Program Files)\Steam\steamapps\common\Rolling Line\Modding\templates\train mod examples\

The "siderod example" uses custom animations for its wheels:



Body animations

If you use an animated model as a body mesh it will play independently from the trains speed. This means it will play at normal speed regardless of how fast the train is moving.

Currently, there are no further options for customizing how these animations can be used and controlled, but future updates to the modding system should see more options for how to make use of the animation features.

The "crane example" mod uses custom animations for its body:

Multiple body meshes
You can have as many different body meshes as you like.
This is very useful for when you want to use different textures or material types for different parts of your model.

For example, if you want to make the windows on a coach glow, or if you want some transparent glass on your model. Or if you want one part of the model to be animated while the rest is not.

You can find an example of this in one of the example mods found in the folder:
...(Program Files)\Steam\steamapps\common\Rolling Line\Modding\templates\train mod examples\

The "Pullman example" uses an extra body mesh for glowing windows:



To add a new body mesh, simply click "Add new" above the model list:



Simply click on the newly created model in the list to edit it.
From here you can set up the usual data like model & texture (just like in the example mod at the start of this guide).

But for this example, we want to set the windows "Material Type" to "Unlit" (which means glow-in-the-dark).
This will make the windows glow, while keeping the rest of the model the normal material.

Articulation
"Articulation" refers to when a locomotive has wheel blocks that pivot independently to the main body of the locomotive.
The modding system allows for some customization when it comes to articulation, and this section will explain how.

For a built-in template example of articulation, you can find a version of the Big Boy steam locomotive in the folder "Rolling Line/modding/templates/train mod examples/".

I'll be using this template model of the Big Boy as an example during this section of the guide.

Body pivot styles

In the "Wheels" menu you will see a bunch of extra options below the wheel list:



These options allow you to customize how the body model of the locomotive pivots based on its wheels.

The choices are:
  • Front and back (default) - most mods will use this, where the body mesh simply rotates based on the position of the front and back wheel blocks (ignoring any extra wheel blocks you may have added).
  • Use all wheels - this option instead takes into account all the wheel blocks the model has. So if the model has an extra middle set of wheels, these wheels will also be used when calculating the position of the body model.
  • Custom pivot - this is the most complicated option, and this is what the Big Boy example uses. The next part of this guide will explain how custom pivots work.

Custom body pivot

You will notice that the Big Boy has an unusual pivot style to it, the front block of wheels swings quite independently from the main body:



The Big Boy has 4 main wheel blocks:
Back, back extra, front extra, front

We want the main body mesh to attach to the "back extra" wheel block, so it is chosen as the custom pivot parent.
Here is a visual example of what is going on:



You can also set the "body position offset" setting to move the whole body model forward/backward in relation to the wheel block it is attached to.

Many other details and effects (like light sources and particles) also have options to attach on to different wheel blocks instead of just the main body model.
This is useful for when you want things like steam particles to emit from the wheel block and copy its position, instead of the main body model:

Locomotive cabs
So far your mod just behaves like a "wagon" (so you can't drive it or add features like cab controls or a horn).

If you want to make a locomotive, simply go into the "general options" menu and enable the "Locomotive" option.

Once you do this, some new options will appear (like cab and audio options).



Click on the "Cab options" menu to continue.

From here you can customize a bunch of options for cabs.



More advanced cab customization (like custom models) will be coming in future updates.
But so far, you can change these options:
  • Choosing a cab preset - this will set the template cab object which the mod will use (e.g. a classic diesel cab or a steam engine firebox).
  • Whole cab offset pos - move the position of the whole cab object. This will also move the player spawn, buttons, horn effect position, etc.
  • Player spawn offset pos - choose where the player spawns when you teleport into the cab of this train (aka the driver position).
  • Horn offset pos - the location where the horn sound effect comes from (line this up with the physical location of the horn/whistle on your mod)

While you are editing "position" values (like the spawn/cab/horn position) there will be a visual preview which shows up on the preview train model:



Particle effects
Using this modding system you can now create your own custom steam/smoke/fumes particles!
You can customize various options like particle size, colours, speed, etc.

To access particle options, go to the "Effects -> particles" menu.
From here you can see a list of all your mods particle emitters.
You can add as many as you like to this list:



On a newly created mod, this list should be empty by default.

For an example, lets make a basic smoke stack effect for a steam train.
To get started, click "Add new" and give your particle effect a name (e.g. "main steam")



Click on the newly created particle emitter and you will see the particle options menu:



From here you can edit all sorts of options for your particle effect.
The first one to notice is the "base type" option in the top left corner.

This lets you choose from a bunch of pre-set particle types which each behave differently.
So far, these different types are:
  • Main Steam - Emits steam as long as the train is moving, and emits more as it moves faster.
  • Main Steam Chug - Same as the one above but it emits in bursts (not continuous) to create a "chug" effect.
  • Cylinder Chug - Emits bursts only when the train is at a low speed.
  • Release - Emits one long burst when the train starts and stops.
  • Whistle - Emits continuously while the whistle is being used.
  • Startup Burst - Emits a single burst when the engine first starts up (e.g. being selected by the hand-held controller).

For this example we want to use "Main Steam", which should already be chosen by default.

Changing the particle emitter position

The next step is to position the particle effect in the right place.
To do this click on the "Effect Position" option.

This will open a new popup window like this:



You can edit these values manually, but if you are playing on PC then you can easily use the transform edit tool to move the particle around and position it.
After moving it to your desired position, press "F" again to exit Transform edit mode and the particles will show up in the new position.



When you are happy with the position and rotation of the particle press the "Done" button in the top right corner to save your changes.



Changing colours

You can also customize the start and end colour of the particle effect (creating a gradient between the two).

You can do this by picking up a colour painter and using it on the colour input buttons:



After making changes to your particle effect, simply click the "Refresh Preview" button to update the preview and see your new changes:



You should now see the new smoke colours!



Mirror Effect

You can enable the "Mirror Effect" option to automatically mirror this particle effect on both sides of the locomotive. When editing the position of this particle, the mirrored version will also automatically be updated.



Other options

The particle options menu also has several other options:
  • Size scale - multiples how large the particles are.
  • Rate scale - multiples how many particles are spawned (more particles per second).
  • Lifetime scale - multiples how long the particles last before despawning.
  • Velocity scale - multiples how fast the particles are moving when spawned (e.g. setting this to zero will make them not move after being spawned, if gravity is also set to zero).
  • Gravity scale - multiples how strong the gravity effect on these particles is. A higher multiple will make particles fall downwards faster.
  • Wind force - adds a wind force which will push particles in a chosen direction.
Lights
Using the new modding system you can create your own custom light sources for your mods.
You can use this for things like headlights, flashing ditch lights, interior lights for coaches, etc.

Just like with particles, lights can be added in the "Effects -> Lights" menu.
You can add multiple light sources to this list.
Simply add a new light source, then click on it to open the "Light source options" window:



From here you can edit a bunch of options:
  • Light position - Set the 3D position and rotation of the light source on the train.
  • Advanced options - This opens the advanced options menu, which will be explained later.
  • Light type - Set the type of light, between a "point light" (which emits light in all directions in a sphere, a "Spot light" (which shines in a single direction, like a headlight) and "Spot light with glow" (which is the same as a spotlight, but also adds a small glow effect).
  • Cab control type - This sets how the light is controlled. You can either use the "headlight" button in the train cab, or the "Cab light" button in the cab. You can link multiple light sources to the same button. Pressing the chosen button will enable/disable the light.
  • Color - Use a painter to set the color of the light.
  • Intensity - the strength of the light.
  • Range - the size of the light's sphere (point) or the length of its spot range (spotlight).
  • Spot angle - (spotlights only) the angle that the light affects, a wider angle equals a larger area of light.
  • Cast shadows - set whether this light casts shadows.
  • On mesh/Off mesh - You can supply a 3D model to only be visible when the light is turned on/off (e.g. an Unlit material covering the light source) This is optional and can be left empty if you choose.

(Please refer to the "Particles" section of the guide to explain how the transform position options and color painting options are used)

if you choose the "Spot light with glow" light type, you will see both the spotlight and a second light source which adds a small glow around the light. This is very helpful for making headlights look more realistic.



This will also add a couple of new options:
  • Glow Intensity - the strength of the glow light source.
  • Glow range - the size of the glow light source.

Multiple control layers

You can set the "Cab control type" to use a few custom layers instead of the standard "headlight" and "cab" controls. If you use one of these custom control layers, then you can enable/disable this light by selecting the train with the hand-held controller, then pressing "L + 1,2,3,4" to toggle the chosen layer.
E.g. pressing "L + 1" will toggle all of the light sources assigned to the "custom layer 1" control layer.

Using custom on/off meshes

Something you will likely want to do to make your headlights look better is to make a custom mesh show up when the light is enabled.

You can use the "On mesh/Off mesh" options to supply custom meshes which will be enabled/disabled when the light is on/off.

For example, you can make a custom mesh which only contains small circles which hover in front of the lights on the train. So when you turn the lights on, this extra mesh will be visible and make the lights look like they are lit:



Flashing lights

Click on the "Advanced options" menu to open a new menu which contains a bunch of options relating to flashing light effects.



These options are:
  • Flashing type - Choose between a fade in/fade out effect or a toggle on/off effect.
  • Flash speed - set how fast the lights flash/fade. Higher values will cause faster flashing.
  • Alternate flash - You can use this option to offset the flash effect on this light, making it start later/sooner.

For example, to make alternating ditch lights, you will need two different light sources.
They should both have "toggle on/off" flashing enabled, but only one of the lights should have the "Alternate flash" option enabled.

This will make both lights flash, but one will be the opposite of the other:


Audio
If your mod is set as a "locomotive" then you can customize some audio options (like engine sounds and horn).

Open the menu "General options -> audio options" and you'll have access to these options:



You can customize:
  • Engine audio preset - choose which set of audio is used for the locomotives' engine. E.g. steam engine or diesel engine. This also affects sounds like starting/stopping.
  • Edit custom engine sounds - opens a new menu which contains options for custom engine audio.
  • Horn asset type - choose between "preset" (which means you can use a built-in horn sound), "Single audio file" (which lets you use a single audio asset as the horn) or "Multi-step horn" (which lets you make a more complex kind of horn, which uses multiple audio files to loop seamlessly).
  • Horn/whistle preset - If you choose "preset" above, this option will let you choose a horn sound effect from any of the official trains. (you can also press the "preview" button to hear the horn sound).
  • Enable track clicks - this will cause this wagon to make "click-clack" sound effects when passing over connections between tracks.

If you choose "Single Audio File" as the horn type then you will have the option to supply an audio asset file to use as a horn (either .Mp3 or .WAV).
Some Mp3 files use a type of formatting (called "variable bitrate") which cannot be loaded by the game, if you find that your asset will not load then try converting it to WAV instead.

You can also set the "Whistle steam effect length" which will change how long the particle effect for the whistle will last for.

Multi-step horns

This new type of horn uses 3 separate audio files, one for the beginning of the horn, one for the middle (which can be looped) and one at the end.
Using these files the horn can be held down by the player and loop seamlessly!

- The first audio file needs to seamlessly flow into the middle loop.
- The middle loop needs to seamlessly loop with itself.
- And the last audio file needs to seamlessly link to the end of both the first and middle files.

Please note, Mp3 files are formatted in a way that makes seamless looping impossible by design, so WAV files should be used for any files that require a seamless loop.

Engine audio options

Clicking the "Edit custom engine sounds" option will open a new menu which lets you supply custom audio files for your engine audio.





The audio files you can choose are:
  • Startup - plays when the locomotive starts moving from zero speed.
  • Stop - plays when the speed reaches zero
  • Cold start - plays when the locomotive is first selected by a hand-held controller, or started when the engine is off
  • Shutdown - plays when the engine is shut down manually by the player.
  • Idle loop - looping audio that plays when the engine is running but not moving
  • Speed loops (1-5) - looping audio that plays at different speed tiers
Bells
You can add a bell to your mod in the "effects -> bells" menu.
Firstly click on the "Enabled bell" toggle at the top to enable the bell on this mod:



You will now see a bunch of settings, these are:
  • Bell position - set the 3D location of the bell object
  • Model - customize further options relating to the bell model
  • Model size scale - change the size of the bell model
  • Use audio preset - toggle whether the bell sound effect should be a built-in preset or a custom audio file
  • Preset/file - choose from a list of built-in presets, or supply a custom audio file (depending on what you have chosen on the above setting)
  • Preview - play the bell sound for testing
  • Movement type - choose whether the bell should be swung automatically (by rotating the 3D model, no animation required) or whether the bell should use a custom animation supplied by you
  • Swing speed scale - a multiplier of how fast the bell should swing (when automatic movement is enabled)
  • Swing range scale - a multiplier of how wide of an angle the bell should swing (when automatic movement is enabled)

If you click on the "Model" menu then you will be given some extra options for setting up the bell model:



This menu works in the exact same as the "wheel preset" and "coupler preset" menus, where you can choose from a pre-set list of bell models, supply an override texture, or use your own 3D model.

Please refer to those sections of the guide for more information on how presets and texture overrides work.

If you supply your own model, you can also include an animation (in an FBX model file).
If an animation is found, then it will play automatically.
But if you choose the "Animation" option in the "Movement type" setting in the previous menu then this animation will instead be enabled/disabled in sync with the bell.
This means you can use this to create your own custom bell animation.
Plows and Pantographs
Please note that a new system will be added in the future to handle "addons" (like plows and pantographs) so these settings are here to allow for legacy support in the meantime.
Future changes will likely include the ability to import your own 3D models and animations for plows and pantographs, as well as a better system for plow positioning.

Plows and pantographs can be added to any locomotive using the addon painters found in the "trains" drawers. Using the mod system you can change the location of where these addons appear, or you can set it so that the mod will spawn with some addons already enabled.
E.g. making a train mod spawn with pantographs already attached.

Plow options

You can find options for plows in the "Effects -> Plows" menu:



From here you can customize these options:
  • Snow plow addon offset - moves the spawn location of attachable plows forward/backward
  • Wheel parent - set which wheel block the plow attaches to, or just the main body mesh
  • Spawn with plow enabled - automatically attach a plow to this mod when players spawn it into their maps
  • Spawn type - choose which kind of plow will be added, if the above setting is enabled
  • Color - the default color applied to the spawned-in plow

Pantograph options

You can find a list of pantograph spawn points in the "Effects -> pantographs" menu.
You can add as many pantographs to a mod as you like, all of them will be enabled/disabled when a pantograph addon painter is applied.



You can click on a pantograph in the list to edit it.
From here you will be able to see a bunch of options:



These options are:
  • Effect position - choose the location where the pantograph spawns on the model
  • Model size scale - scale the 3D model to be either bigger or smaller
  • Flip model - rotate the model 180 degrees to face in the opposite direciton
  • Spawn with pantograph enabled - automatically enable pantographs for this mod when players spawn it into their maps (this setting is shared between all pantograph spawns, you cannot enable/disable individual pantographs)
  • Spawn type - choose which kind of pantograph will be added, if the above setting is enabled
  • Color - the default color applied to the spawned-in pantograph
Speed and control
You can customize some basic values for controlling how the locomotive moves.
These options are in the "General options -> speed options" menu:



These options are:
  • Speed acceleration - This value changes how fast the train accelerates to reach its goal speed. Higher values will mean a faster speed up. This value should be between 0.1 and 10, with 0.5 as default
  • Speed deceleration - This value changes how fast the train decelerates to reach its goal speed. Lower values will mean it will take a longer time to reach a lower speed. This value should be between 0.1 and 10, with 1.5 as default
  • Max speed multiplier - This scales the maximum speed for this train. The scale is exponential so larger values result in significantly higher speeds. This value should be kept within the range of 0.2 and 1.8

Trains accelerate and decelerate faster when in large scale!
The values used here will be tripled when driving in large scale by default (to make driving trains in large scale feel more "snappy" and like a model railway) meanwhile driving in miniature is slower and more realistic to driving a real locomotive.

You can change this option in the "gameplay" menu using the setting "Train smooth acceleration" for different behaviour (like removing the large-scale speed-up entirely).

The "max speed multiplier" value is quite messy to work with since the scale is exponential, so here are a few example values and their resulting max speed:

1.8 = 323 km/h
1.2 = 144 km/h
1 = 100 km/h
0.8 = 64 km/h

Please keep in mind that high-speed train movement is not officially supported by the game, so wagons will often detach at high speeds. This may change in the future if an official high-speed train is added.

Extra models
There are a few extra models you can include with your mod to give it some extra functionally.
At the moment these are:
  • snow models
  • custom extra models

Snow models

In the "Effects" menu you'll notice a bunch of settings relating to snow models.



Here you can supply a custom 3D model which will be enabled when the train is in snowy weather.

Using the "Extra snow meshes" menu you can add more models which can be attached to different wheel blocks (instead of the main body model).



custom extra models

You can also add custom extra models which can be toggled on/off in-game.
This could be used for optional details (e.g. smoke deflectors which can be added or removed) or this could be used to simulate freight loads, by having different meshes for each kind of load, which can then be toggled on/off in-game by the player.



You can set up custom models in the "Effects -> custom models" menu:



From here you can add as many custom models as you like.
Once you have added a new model, click on its name to edit it:



These options are:
  • Edit model - supply 3D model files and textures for the model
  • Control index - set which number key will be used to toggle this model on/off (players can toggle models by selecting the train with the hand-held controller, then pressing "Shift + 1, 2, 3,4...9" to toggle models at the desired index)
  • Wheel block to attach to - just like with the snow models, you can choose to have this model attach to a wheel block instead of just the main body model of the locomotive
Conclusion
This guide will be expanded to include all the new features added to the modding system as future updates come.

The modding system is still changing and growing, so some screenshots in this guide might not match up with how the menus look now (e.g. more buttons in a menu than the screenshot shows).

47 Comments
Jake4159 26 Apr @ 5:19pm 
A bit of help on collision mesh in this guide would be nice.
Wolvinof 2 Jan @ 2:20pm 
Ah I see, thanks for clarifying.
Franks  [author] 2 Jan @ 2:06pm 
Ohhh, to clarify train mods don't support painting. The option to use a color as a texture is just for convenience (good for if you want something to be a basic color and don't want to make a texture for it).
At some stage I plan to make a proper multi-paint system for trains where you can make multiple elements paintable and control them, but for now this is not a feature yet
Wolvinof 2 Jan @ 12:49pm 
Still, here's a screenshot of the menu in question, the loco's gold lining is the model I'm trying to make paintable; https://sp.zhabite.com/sharedfiles/filedetails/?id=3399051085
Wolvinof 2 Jan @ 12:30pm 
Oh, I have made sure the UV points aren't exactly overlapping, but it's not the color being missing, that's showing up correctly; it's the color not being paintable. I have the texture set up in the grid for painting, and the "Paintable" option set, but it just isn't letting me change the color.
Someone on the Discord server said it was just a non-functional leftover from the prop modding menus, could that be why it doesn't work for extra models?
Franks  [author] 2 Jan @ 12:00pm 
@Wolvinof, strange, this is working fine when i'm testing it. Can you upload a screenshot of the model (showing the missing color) and share it here. One thing to check is try moving at least one of the UV points slightly so that every UV point isn't perfectly identical, as this can sometimes cause a bug where UV maps aren't loaded correctly. As long as not every single UV coordinate isn't absolutely identical then the UV map should work as expected
Wolvinof 31 Dec, 2024 @ 7:54am 
Very useful and vital guide, but how do I make the extra models paintable? I've done what the game says to do for it to work with the UV and the texture, but it doesn't seem to be working.
Dark Ranger 3 Feb, 2024 @ 2:15pm 
Maybe you could add the base game models...
MisterSir 14 Jan, 2024 @ 5:33pm 
All good, great to see you back
Franks  [author] 14 Jan, 2024 @ 5:03pm 
Sorry yes this guide does need some updating