RLS Studios
ProjectsPatreonCommunityDocsAbout
Join Patreon
BeamNG Modding Docs

Guides

Reference

AI Module ReferenceBackwards Compatibility Module ReferenceBdebug Module ReferenceBdebugImpl Module ReferenceBeamstate Module ReferenceBullettime Module ReferenceController Module ReferenceDamageTracker Module ReferenceDrivetrain Module ReferenceElectrics Module ReferenceElectrics Custom Value ParserEnergyStorage Module ReferenceExtensions Module ReferenceFire Module ReferenceVehicle Engine True GlobalsGuihooks Module ReferenceGUI Streams Module ReferenceHTML Texture Module ReferenceHydros Module ReferenceInput Module ReferenceJBeam-Lua Integration GuideMapmgr Module ReferenceMaterial Module ReferenceBeamNG Math & Unit Conversions Referenceobj (Vehicle C++ Object)PartCondition Module ReferenceParticlefilter Module ReferenceParticles Module ReferencePowertrain Module ReferenceVehicle Property & Module TreeProps Module ReferenceProtocols Module ReferenceRecovery Module ReferenceScriptAI Module ReferenceSensors Module ReferenceSounds Module ReferenceStreams Module ReferenceThrusters Module Reference`v` (Vehicle Data & JBeam)Wheels Module Reference
4WD / Transfer Case ControllerAdvanced Coupler ControlAirplane Control SurfacesAxle Lift ControllerBeacon Spin ControllerBeam NavigatorBypass Dampers ControllerController TemplateControl ModesDrag TimerDrive ModesDummy ControllerElectronic Stability Control (ESC)ETK Gauges ControllerVehicle Controllers OverviewHydraulic Suspension ControllerInput/Output Demo ControllerJATO (Jet Assisted Take-Off)Lightbar ControllerLine LockLogger TemplateNitrous Oxide InjectionPlayer ControllerPneumatics System ControllerPower Steering ControllerPyrotechnic Charge ControllerSBR Gauges ControllerShift Lights ControllerTire Pressure ControlTrailer Landing Feet ControllerTwo-Step Launch ControlVivace Gauges ControllerWendover Gauges Controller

UI

Resources

BeamNG Game Engine Lua Cheat SheetGE Developer RecipesMCP Server Setup

// RLS.STUDIOS=true

Premium Mods for BeamNG.drive. Career systems, custom vehicles, and immersive gameplay experiences.

Index

HomeProjectsPatreon

Socials

DiscordPatreon (RLS)Patreon (Vehicles)

© 2026 RLS Studios. All rights reserved.

Modding since 2024

API Referencevecontroller

Drive Modes

Manages vehicle-wide driving profiles (e.g., Comfort, Sport, Eco) that simultaneously adjust multiple systems including engine response, transmission behavior, steering weight, exhaust sound, and suspension stiffness. Provides a unified interface for switching between pre-configured vehicle personalities.

Manages vehicle-wide driving profiles (e.g., Comfort, Sport, Eco) that simultaneously adjust multiple systems including engine response, transmission behavior, steering weight, exhaust sound, and suspension stiffness. Provides a unified interface for switching between pre-configured vehicle personalities.


State Fields

FieldTypeDescription
namestringInternal identifier for the drive mode controller.

Public API

FunctionDescription
new(jbeamData)Creates a new drive mode manager.
setDriveMode(modeKey)Applies all settings (engine, exhaust, gearbox, steering, etc.) associated with the target mode.
nextDriveMode()Cycles to the next available drive mode.
getCurrentDriveModeKey()Returns the key of the currently active drive mode.
module.getDriveModeData(modeKey)Returns the drive mode data.
module.setSimpleControlButton(id, buttonUIName, icon, color, offColor, offColorElectric, onClick, remove)Sets the simple control button.

Hooks

HookDescription
updateGFX(dt)Updates UI indicators and manages mode transition effects.
module.reset(jbeamData)Resets the controller to its initial state.
module.resetLastStage()Final-stage reset after all controllers are reset.
module.initLastStage(jbeamData)Final-stage initialization after all controllers and powertrains are ready.

Usage Example

-- Cycle to the next drive mode
controller.getController("driveModes").nextDriveMode()

-- Set a specific mode
controller.getController("driveModes").setDriveMode("sport")

-- Query current mode
local mode = controller.getController("driveModes").getCurrentDriveModeKey()

See Also

  • Vehicle Controller — Main powertrain logic affected by drive modes
  • ESC — Stability control — may change per mode
  • Control Modes — Input mapping profiles

Drag Timer

Precision timing controller for drag racing. Measures elapsed time and trap speed over standard drag racing distances (60ft, 330ft, 660ft, 1000ft, 1/4 mile, 1/2 mile). Integrates with the UI to display live timing data.

Dummy Controller

A minimal "Main" controller implementation that provides the required interface without any powertrain logic. Used for testing, props, or vehicles that don't need engine/transmission simulation (e.g., trailers, static objects). Maps raw inputs directly to electrics values.

On this page

State FieldsPublic APIHooksUsage ExampleSee Also