RLS Studios
ProjectsPatreonCommunityDocsAbout
Join Patreon
BeamNG Modding Docs

Guides

Reference

server/commands - Camera & Input Commandsge_utils - Game Engine Utility Functionsmain.lua - GE Lua Entry Point & Game Loopmap.lua - Navigation Graph (AI Road Map)screenshot.lua - Screenshot Systemserver/server - Level Loading & Game ServerserverConnection - Client-Server Connection Manager`setSpawnpoint` - Default Spawn Point Persistence`simTimeAuthority` - Simulation Time & Bullet Time Control`spawn` - Vehicle Spawning & Safe Placement`suspensionFrequencyTester` - Suspension Natural Frequency Analysis
ui/ambientSound - Ambient Sound Stream PlayerUI Apps ManagerUI AudioBindings LegendCamera Distance AppConsole (consoleNG)Credits MusicExternal App (WebSocket UI Server)Fade ScreenGame BlurGameplay App ContainersGrid SelectorLivery EditorMessages DebuggerMessages/Tasks App ContainersMission InfoPolice InfoTop BarUI ModsUI Navigation / MapVehicle Paint EditorVehicle Vicinity AppUI Visibility
Vehicle Selector – Details InteractionVehicle Selector – GeneralVehicle Selector – Tile ClusteringVehicle Selector – Tile GroupingVehicle Selector – TilesVehicle Selector – Tile SortingVehicle Selector – Vehicle OperationsVehicle Selector – Vehicle Specifications

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 ReferenceGE ExtensionsuivehicleSelector

Vehicle Selector – Details Interaction

Coordinates vehicle details display with spawn/replace button actions.

Coordinates vehicle details display with spawn/replace button actions.


Overview

ui_vehicleSelector_detailsInteraction bridges the vehicle specifications panel with the vehicle operations module. It assembles detail data (specs + action buttons) for the selected vehicle and manages custom button callbacks for challenge/freeroam modes.

Extension path: lua/ge/extensions/ui/vehicleSelector/detailsInteraction.lua Dependencies: ui_vehicleSelector_vehicleOperations, ui_vehicleSelector_vehicleSpecifications


Exports (M)

FunctionSignatureDescription
getDetails(itemDetails) → tableReturns specs + button info for a vehicle.
getManagementDetails() → tableReturns management buttons + current vehicle info.
executeButton(...)Delegates to vehicleOperations.executeButton.
executeDoubleClick(...)Delegates to vehicleOperations.executeDoubleClick.
setManagementButtonsEnabled(...)Toggles management buttons.
setDetailsButtonForFreeroam(...)Sets freeroam button mode.
setCustomDetailsButtons(buttons)Sets custom callback buttons (challenge mode).
setExitCallback(callback)Sets callback for when selector exits.
exploreFolder(path)Opens native file explorer at path.
goToMod(modId)Navigates UI to mod details page.

Fields

FieldDefaultDescription
M.managementButtonsEnabledtrueWhether management buttons are shown.
M.customDetailsButtons{}Custom button definitions for challenge mode.
M.exitCallbacknopCalled when the vehicle selector is closed.
M.dependenciesTable of extension dependencies.

Internals

getDetails Flow

  1. Calls vehicleSpecifications.getDetails(itemDetails) for specs.
  2. If customDetailsButtons has entries, builds buttons from those callbacks (with default paint pre-fill from model/config).
  3. Otherwise, calls vehicleOperations.makeSpawningButtons(details.configDetails) for standard spawn/replace buttons.
  4. Attaches buttonInfo to the details table.

How It Works

  1. When a vehicle tile is selected, the UI calls getDetails({model, config}).
  2. The module assembles specifications from vehicleSpecifications and action buttons from vehicleOperations.
  3. In freeroam mode, standard spawn/replace buttons are used.
  4. In challenge mode, customDetailsButtons are used instead (each with a custom callback receiving model, config, additionalData).

Lua Examples

-- Get details for a specific vehicle
local details = extensions.ui_vehicleSelector_detailsInteraction.getDetails({
  model = "pickup", config = "vehicles/pickup/base.pc"
})

-- Set custom buttons for a challenge selector
extensions.ui_vehicleSelector_detailsInteraction.setCustomDetailsButtons({
  { callback = function(model, config, data) print("Selected:", model) end,
    meta = { label = "Select", icon = "car" } }
})

Additional Exports

The following exports are available but not yet documented in detail:

  • M.executeButton
  • M.executeDoubleClick
  • M.exploreFolder
  • M.getDetails
  • M.getManagementDetails
  • M.goToMod
  • M.setCustomDetailsButtons
  • M.setDetailsButtonForFreeroam
  • M.setExitCallback
  • M.setManagementButtonsEnabled

Top Bar Config

Static configuration of top bar navigation entries and their flags.

Vehicle Selector – General

Central hub for the vehicle selector: data initialization, filtering, display settings, favourites, and opening modes.

On this page

OverviewExports (M)FieldsInternalsgetDetails FlowHow It WorksLua ExamplesAdditional Exports