Comprehensive API reference for Railroader game modding
This repository contains auto-generated documentation extracted from Railroader's decompiled C# source code, providing a complete API reference for creating mods using Unity Mod Manager (UMM).
This documentation helps modders:
- Discover available classes, methods, and properties in Railroader
- Understand game systems and their APIs
- Find the right hooks for Harmony patching
- Reference type signatures for mod development
- Navigate the codebase structure by namespace
- API Reference - Auto-generated from decompiled source code
- Browse by namespace (Model, Track, Game, UI, etc.)
- Complete type definitions with methods and properties
- Inheritance and interface information
- Guides - Modding tutorials and best practices
- Examples - Code examples and patterns
| Namespace | Description |
|---|---|
| Model | Core game entities (Cars, Locomotives, Definitions) |
| Track | Track system (Location, Segments, Switches, Signals) |
| Game | Game state, events, and lifecycle management |
| UI | User interface components and windows |
| RollingStock | Train car components and controls |
| Network | Multiplayer and networking |
| Audio | Sound system and audio playback |
| AssetPack.Runtime | Asset loading and management |
- Browse by Namespace: Navigate to docs/api/ and explore namespaces
- Search for Types: Use GitHub's search or your browser's find function
- Check Inheritance: Look at class declarations to understand relationships
- Use with Context7: This repo is indexed by Context7 for AI-assisted coding
Subscribing to Game Events:
using GalaSoft.MvvmLight.Messaging;
using Game.Events;
Messenger.Default.Register<MapDidLoadEvent>(this, OnMapDidLoad);Working with Cars:
using Model;
Car myCar = ...; // Get car reference
var location = myCar.location; // Track.Location
var speed = myCar.velocity; // Current velocityHarmony Patching:
using HarmonyLib;
[HarmonyPatch(typeof(TargetClass), "MethodName")]
public static class MyPatch {
static bool Prefix() {
// Your code
return true; // false = skip original
}
}- Unity Mod Manager - Mod loader for Railroader
- Harmony Documentation - Runtime patching library
- Modding Template - Starter template for new mods
- Railroader Discord - Community discussion
This documentation is auto-generated using a PowerShell script that:
- Parses decompiled C# source files
- Extracts classes, methods, properties, and fields
- Organizes by namespace
- Generates Markdown documentation
- Tracks game version changes
Game Version: 2025.1.0b
Last Generated: Check .generation-metadata.json
When Railroader releases a new version:
- Decompile new game files using AssetRipper
- Run the documentation generator script
- Review changes and commit
- Context7 automatically reindexes
Found an error or have a suggestion?
- Open an issue describing the problem
- For auto-generated content, note that regeneration may overwrite manual fixes
- Consider contributing to guides and examples instead
Contributions to docs/guides/ and docs/examples/ are welcome!
- Fork this repository
- Add your Markdown files
- Follow existing formatting conventions
- Submit a pull request
This documentation is derived from decompiled Railroader source code for modding purposes only. All rights to Railroader belong to their respective owners.
This is unofficial documentation created by the modding community.
Documentation content: CC BY-SA 4.0 Railroader game code: Copyright © Altfuture/Giraffe Lab LLC
Generated with Love by the Railroader Modding Community 💙🚂
Powered by Claude Code | Task Master AI