RLS Studios
ProjectsPatreonCommunityDocsAbout
Join Patreon
BeamNG Modding Docs

Guides

Reference

Server CommandsGE UtilitiesGame Engine MainNavigation GraphScreenshot CaptureServerServer ConnectionSpawnpoint ManagerSimulation TimeVehicle SpawningSuspension Frequency Tester
Flowgraph Base ModuleFlowgraph Base NodeFlowgraph Base State NodeFlowgraph Node BuilderFlowgraph GraphFlowgraph Group HelperFlowgraph LinkFlowgraph ManagerNew Node TemplateFlowgraph PinFlowgraph States ManagerFlowgraph UtilsFlowgraph Variable Storage
Medal / Auto Medal (Flowgraph Node)Clear Messages (Flowgraph Node)Context Translation (Flowgraph Node)ConvertUnit (Flowgraph Node)Set UI Timer / Corner Timer (Flowgraph Node)Custom Button TEST (Flowgraph Node)Custom UI Layout (Flowgraph Node)End Screen (Flowgraph Node)End Stats (Flowgraph Node)Fade From Black (Flowgraph Node)Fade Sequence (Flowgraph Node)Fade To Black (Flowgraph Node)Flash Message (Flowgraph Node)Generic Mission Text (Flowgraph Node)Get Gamestate (Flowgraph Node)Show Editor (Flowgraph Node)Hide Game UI (Flowgraph Node)Message (Flowgraph Node)Mission End Screen (Flowgraph Node)Popup (Flowgraph Node)Monologue (Flowgraph Node)Multi Description (Flowgraph Node)On Bigmap Poi (Flowgraph Node)On Bigmap State Change (Flowgraph Node)Set UI Race Checkpoints (Flowgraph Node)Set UI Race Laps (Flowgraph Node)Set UI Race Recovery (Flowgraph Node)RT Message (Flowgraph Node)Select Buttons (Flowgraph Node)Set UI Layout (Flowgraph Node)Show Apps (Flowgraph Node)Show Monitor (Flowgraph Node)Start Screen (Flowgraph Node)Clear Goals (Flowgraph Node)Tasklist Message (Flowgraph Node)Tasklist Task (Flowgraph Node)Three Element Select (Flowgraph Node)Vehicle Selector (Flowgraph Node)
ImGui DialogueImGui Simple Text BoxImGui Vehicle Selector

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 Extensionsflowgraphnodesuiimgui

ImGui Vehicle Selector

- **Node Name:** `im Vehicle Selector`

Overview

  • Node Name: im Vehicle Selector
  • Category: once_instant
  • File: extensions/flowgraph/nodes/ui/imgui/imVehicleSelect.lua

Displays an ImGui vehicle selection window that lets the user browse models, configs, and paint options. Outputs the selected vehicle details when the user clicks "Select".

Pin Schema

Output Pins

PinTypeHiddenDescription
selectedflownoFires once when the Select button is pressed
modelstringnoModel name of the selected vehicle
configstringnoConfig name of the selected vehicle
configPathstringnoFull config path of the selected vehicle
paintName1stringyesFirst paint layer
paintName2stringyesSecond paint layer
paintName3stringyesThird paint layer

Node Data

FieldDefaultDescription
enableConfigstrueShow config selection
enablePaintsfalseShow paint selection
enableCustomConfigfalseAllow custom config paths

Internals

FieldPurpose
self.utilInstance of editor/util/vehicleSelectUtil - provides the widget and selection state
self.openWhether the window is currently displayed
self.doneWhether selection is complete
self.refreshFlag to refresh output pin values

How It Works

  1. _executionStarted() - Creates a vehicleSelectUtil instance with the node's config flags. Resets state.
  2. workOnce() - Sets open = true and triggers a refresh.
  3. work() - While open, calls displayWindow() each frame.
  4. displayWindow() - Renders a 480×300 ImGui window:
    • Calls self.util:widget() to draw the vehicle browser.
    • On change, copies model/config/paint values to output pins.
    • Select button - closes window, fires selected flow output.
    • Reset button - resets all selections via self.util:resetSelections().
  5. onNodeReset() - Closes the window and resets all state.

Lua Code Example

-- The node uses vehicleSelectUtil internally:
local util = require("/lua/ge/extensions/editor/util/vehicleSelectUtil")("My Selector##1")
util.enableConfigs = true
util.enablePaints = false

-- In an ImGui draw loop:
if util:widget() then
  print("Selected model:", util.model)
  print("Selected config:", util.config)
end

Key Dependencies

  • editor/util/vehicleSelectUtil - Reusable ImGui vehicle browser widget
  • ui_imgui - BeamNG's ImGui binding layer

See Also

  • im Dialogue (Flowgraph Node) - Related reference
  • im Simple Text Box (Flowgraph Node) - Related reference
  • FlowGraph Guide - Guide

ImGui Simple Text Box

- **Node Name:** `im Simple Text Box`

ImGui Begin

- **Node Name:** `im Begin`

On this page

OverviewPin SchemaOutput PinsNode DataInternalsHow It WorksLua Code ExampleKey DependenciesSee Also