Modding
Official modding support is new to Railroader in the MoW Update (0.6). We plan to continue to refine this, particularly during Railroader’s Early Access period. Your feedback — what you like, what you don’t like, what you wish you could do but can’t — can help us shape this feature set!
Earlier releases used year-based versions (2023.1 through 2025.1.1). Mod versions use the major.minor.patch form described in Info.json.
Getting Started
Section titled “Getting Started”Just want to install a mod someone else made? See Installing Mods.
To build one, work through these in order:
- Read Asset Packs to understand how a mod is structured. Every mod is an asset pack, whatever else it contains.
- Set up the ADK if your mod ships models, textures, or audio. Mods that are only definitions and scripts don’t need it.
- Follow Creating a Freight Car (Basics), which takes you from a model to a car running in the game.
- Continue with Freight Car Intermediate Features for decals, recolorable paint schemes, and animated parts.
After that the guide splits by what you’re working on: getting models and textures out of your tools and into the game, customizing how cars look, and scripting behavior with Relay. The Modding Reference section is the lookup half — every definition type, every component, and the full Relay API.
Our Approach
Section titled “Our Approach”Two principles have guided the shape of our modding support:
- We respect the time it takes to create mods. We’ve created the content for the base game itself and we know how much time and energy it takes. As such, we want to minimize changes to the modding infrastructure that cause you to lose your work or force you to redo it, and so we have been relatively conservative about what we have exposed to the modding APIs. We see this as a long term relationship.
- We value security. Although C# modding is powerful, we didn’t want to create a modding system that asks you to add third party executables to your system. The chances of a bad actor are slim, but it’s a chance we don’t want to take nonetheless. Relay enables us to create a controlled environment to run mod code in, without potentially compromising your system. Relay cannot open files outside of the asset pack system, nor can it write files.
What We Support
Section titled “What We Support”We support the modding interfaces: the definition and component schemas, the Relay language and its APIs, and the asset pack format. Those are what we document, and what we work to keep stable across releases. If something isn’t documented, it isn’t part of that surface — it may be internal, and it may change without notice.
We can’t support third party mods themselves; a mod is between you and its author. Relay scripts are sandboxed and can’t reach outside the asset pack system, but a misbehaving mod can still mangle your game’s internal data. DLL mods are not sandboxed at all — they run with full access to your computer, which is why they’re off by default. If the game misbehaves with mods installed, reproduce the problem with them disabled before reporting it.
Modding Equipment and Scripting Customization
Section titled “Modding Equipment and Scripting Customization”There are several components to modding Railroader:
- Railroader Asset Packs are the standard mod packaging mechanism. The Info.json file describes version and dependency information. Railroader loads enabled asset packs in dependency and load order for each game session, and unloads them when the player quits.
Definitions.jsonwithin an asset pack defines new objects: cars, props, whistles, horns, etc. See the Definitions and Components reference for all available types and fields. An in-game editor simplifies editing this file.- The Relay scripting language can be used to:
Map Modding
Section titled “Map Modding”Railroader’s in-game Editor includes a Map Editor, new in the MoW Update. You can build a new map from scratch, or layer changes onto an existing map (adding spurs, sidings, and industries, or tweaking what’s already there) and distribute either as an asset pack. See Map Modding for what’s possible today and where the limits are.
The editor is deliberately limited in this first release. We’re expanding this surface in stages rather than all at once, to keep the foundation you’re modding on top of stable.
C# and DLL Mods
Section titled “C# and DLL Mods”Relay is the supported way to add behavior to the game, for the security reasons above.
Railroader does provide the mechanism to load DLL mods (compiled .NET assemblies) so the community doesn’t need a third party mod loader. The feature is experimental and off by default, and a DLL mod is not sandboxed the way a Relay script is: it runs with full access to your computer. The supported surface is the small Railroader.Modding contract; everything else a DLL mod reaches into can change in any update without notice. See DLL Mods.
© 2026 Giraffe Lab LLC. All rights reserved.