Vehicle Stats Logger


The purpose of this extension is to facilitate logging of vehicle specific stats. The stats are organized in five modules:

  • inputs: gathers stats about user inputs to the vehicle (f.ex. steering, throttle, brake, etc.)
  • general: gathers stats not specific to any vehicle subsystem (f.ex. velocity, airspeed, position, altitude, etc.)
  • engine: gathers stats about the engine (f.ex. engine load, fuel state, stats about engine thermals, etc.)
  • powertrain: gathers stats about the powertrain (at the moment only whether the driveshaft is broken or not is logged)
  • wheels: gathers stats about the individual wheels (f.ex. tire volume, wheel speed, inertia, etc.) Once started, the logger will write the stats periodically to *.csv files in the output directory.




Starts the logging. Beware that any data in the output directory from previous logging sessions may be overwritten. To minimize the impact on the game’s performance, the logger collects stats and flushes the information periodically to the output files.



Flushes any remaining data to the output files and stops logging.



Updates the the settings as specified in the given json file. The file is expected to be in the following location: C:\Users\<Your username>\AppData\Local\BeamNG.[drive,research]\<version number>\[fpath]



Writes all available setings to a json file. The purpose of this functionality is to facilitate the acquisition of a valid template to adjust the options as needed. Depending on the executable used, the file can be found at the following location: C:\Users\<Your username>\AppData\Local\BeamNG.[drive,research]\<version number>\[fpath]


It is also possible to modify some settings directly through the modules variables. The module’s settings are structured as follows:

settings = {
    outputDir = "VSL",
    updatePeriod = 5,
    useModule = {
        Engine = true,
        General = true,
        Inputs = true,
        Powertrain = true,
        Wheels = true

Thus, it is possible to quickly adjust the overall settings without using a json file for the respective vehicle:

extensions.vehicleStatsLogger.settings.outputDir = "VehicleNo7895"
extensions.vehicleStatsLogger.settings.updatePeriod = 10 
extensions.vehicleStatsLogger.settings.useModule.Wheels = false 

As this is an extension on the vehicle side, the above code examples needs to be executed in a vehicle’s lua VM.


We also provide an app that supports the functionalities presented above. It is called Log Vehicle Stats (research) and can be found among BeamNG’s default apps.

Page created: 29 December 2018, at 11:02
Last modified: 17 April 2021, at 17:12

Any further questions?

Join our discord