This is the home of OpenBVE, a license-free, open source, free of charge train driving simulator.


This program includes detailed per-car simulation of the brake systems, friction, air resistance, toppling and more. In 3D cabs, the driving experience is augmented with forces that shake your simulated body upon acceleration and braking, as well as in curves. Besides that, OpenBVE features a 3D positional sound system best enjoyed with surround speakers, train exteriors and timetables for the current run. Finally, via the main menu, routes and trains be easily selected to start a new session, the controls can be configured to keyboard or joystick devices, and a variety of options can be selected.

Compared to other simulators of the genre, especially compared to commercial games, OpenBVE has its main focus on realism, not necessarily on user-friendliness. You should be willing to study operational manuals for the routes and trains you want to drive, and will in many cases not get along by just memorizing a few keystrokes. If you can identify with this focus, OpenBVE might be the right simulator for you.

Latest Stable Release: Stable (2023-05-30)

Current News & Updates:


Hotfix Release 2

  • Mac: Fix a broken link in the Mono download prompt.


Hotfix Release

  • Fix: Crash on systems with no microphone / audio in inputs.


Significant Changes:

  • New: Add TGA image loader plugin.
  • New: Add two alternative X object parsers.
  • New: Add alternative OBJ parser.
  • New: Add alternate sounds for when a power / brake handle is moved continously.
  • New: Add microphone sound input & associated routefile sound-source.
  • Fix: Correctly handle all MS-ZIP compressed X objects (Applies to all parsers)
  • Fix: The speed limit could unexpectedly revert to unlimited in certain circumstances.
  • Fix: CarUnexposedFrontalArea was not read correctly from the train.dat file. NOTE: This was being applied incorrectly to CarExposedFrontalArea. This may have a (normally) small affect on train performance.


This build introduces alternate parser options for X and OBJ files. These are as follows:


  • Original - Michelle’s original parser.
  • NewXParser - New scratch-written code.
  • Assimp - A C# port of the Assimp library ( , a modified version of BSD-3 applies to this)

The default X parser will now be set to the NewXParser.


  • Original
  • Assimp - Assimp - A C# port of the Assimp library ( , a modified version of BSD-3 applies to this)

The default Obj parser will now be set to the original OBJ parser.

If loading using any of the new parsers fails, the original parsers will be automatically tried as fallback options. A routefile command to control the X parser used is also available:

Options.XParser This may be set to the following: 0 : Original 1 : NewXParser 2 : Assimp


Significant Changes:

  • New: The Pass Alarm sound may be set via sound.cfg
  • New: Add input plugins- These are intended to allow a plugin to directly interface with the simulation controls (e.g. desktop controller / sim board)
  • New: Add SanYingInput to handle the OH-PC01 cab controller for BVE5. (Ported from the MIT Licensed BVE5 version)
  • Fix: Issue with BrakeControlSpeed under certain setups causing the motor sound to be played incorrectly at rest.
  • Fix: Crash if the train was to stop at the next station, but no stop points were defined. (Introduced with
  • Fix: Changes to the gamewindow, so that it closes more reliably under Mono / Linux.
  • Fix: Handle an ATS.cfg file which starts with an initial empty line.
  • Fix: The station pass message could be triggered incorrectly by a jump under certain circumstances.
  • Fix: Sort a couple of issues in the DDS texture plugin.
  • Fix: If using a white background in Object Viewer, use black text so it is readable.
  • Change: Update hu-HU language file. (Phonteus Nevolius)
  • Change: Refactoring to various vector operations.

Route Specific Fixes:

  • Hacks: Fix tunnel exit on Cittaden V2
  • Hacks: Fix incorrectly read curve on B1649テシiト・トコJテシト佚架・ケテ嘉シj.csv


This build is primarily a hotfix release to v1.5.3.9.

Significant changes:

  • Fix: Departure did not occur when the doors were set to auto / semi-auto, & a station did not require any doors to be opened. (Introduced with
  • Fix: Under certain rare circumstances, an incorrect language could be loaded.


Significant Changes:

  • New: Added a keybinding to show the distance to the next station stop.
  • New: Translation is available for Train Editor.
  • New: Added new commands with an optional parameter for brake and power. These allow a specific power or brake notch to be assigned to a button/ keypress.
  • Change: Update hu-HU translation.
  • Change: Update pt-PT translation.
  • Change: Update ja-JA translation.
  • Fix: Some X files failed to read correctly.


Significant Changes:

  • New: Add HUD size slider, minimal and large HUD options.
  • New: Add the function Pitch[CarIndex] to animated objects.
  • New: Add PerMil to the gradient display options.
  • Change: Add the current pitch to the F10 overlay.
  • Change: Assorted improvements to the Wavefront object parser.
  • Change: Better handle a specific case of Unicode misdetction when loading objects.
  • Change: On a horn with multiple sounds, if the StartSound is not defined, start plaing the LoopSound immediately.
  • Change: Update hu-HU translation.
  • Change: Update ca-ES translation.
  • Fix: A train driven by the AI could get stuck if no motor deceleration was set in the train.dat file.
  • Fix: OpenBVE crashed if the black box was enabled, and the file existed but the program was unable to write to it.
  • Fix: The track following camera could exit the world and continue indefinitely.
  • Fix: *EbHandleBehaviour produced an invalid entry if not set in Train Editor.
  • Fix: The Constant Speed device was broken by
  • Fix: Train plugins were not unloaded correctly when manually closing the game window.

Content Specific Fixes:

  • Change: Handle the case where a panel.animated file is present, but either contains no objects, or produces an empty object. (MTR SIL C-train EMU-FAO)
  • Fix: Correct panel zoom on HM05

Platform Specific Changes:

The Mac build for v1.5.3.8 requires Mono 5.14 or higher, due to a change in the Mono runtime on Mac. The app will recognise this, and prompt you to upgrade if required.

At the present time, this appears to be a regression in Mono (We are using no new features), and a bug has been filed with them on this subject.