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
Align For CouplingApply Velocity to VehicleBoost VehicleSet Vehicle ColorsCustom Parts Config ProviderEnter VehicleFlip UprightFreeze VehicleGenerate License PlateGet Vehicle ActiveGet Electrics ValueGet GearboxmodeGet Powertrain DataGravity ForceDistance From GroundHas Coupler TagIs CoupledIs Player UsableKeep VehicleMove Vehicle ToOn Cannon FiredOn Vehicle DestroyedOn Vehicle ResetOn Vehicle SpawnedOn Vehicle SwitchedPlayer UsableRandom Config ProviderRecover In PlaceRemove VehicleTimeline ReplaySet Vehicle ActiveSet Gearbox ModeSet IgnitionSet License PlateSet LightbarSet LightsShift to Gear IndexSpawn VehicleVehicle StatesTeleport To Last RoadToggle Vehicle ControlsMove To ShowroomVehicle TouchProps TouchStatic Object TouchTrack VehicleTrailer Respawn ControlVehicle Config ProviderGet Vehicle DataGet Vehicle DataGet Vehicle BoundsVehicle PingGet Vehicle Wheel Center

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 Extensionsflowgraphnodesvehicle

Custom Parts Config Provider

- **Node Name:** `Custom Parts Config Provider`

Overview

  • Node Name: Custom Parts Config Provider
  • Category: provider
  • File: extensions/flowgraph/nodes/vehicle/customPartsConfigProvider.lua

Provides an interactive editor for building a custom vehicle parts configuration. Allows loading configs from files, copying from the current vehicle, and manually editing part slots and tuning variables. Outputs a model name and config table usable by vehicle spawn nodes.

Pin Schema

Output Pins

PinTypeTable TypeDescription
modelstring-The model of the selected vehicle
configtablevehicleConfigThe parts/vars configuration table

Internals

Key Methods

MethodDescription
init()Initializes empty partConfig with parts and vars tables, and sorted key lists
drawCustomProperties()Renders the ImGui editor UI: file loader, current vehicle reader, and key-value pair editors
showKVPairs(name, field, tpe)Generic ImGui editor for parts (string values) or vars (number values) with add/remove/sort
sortKeys()Alphabetically sorts part and var keys for display
drawMiddle(builder, style)Shows model name and part/var counts in the node body
work()Outputs the current partConfig and model to pins
_onSerialize(res)Saves all editor state for project persistence
_onDeserialized(nodeData)Restores editor state and re-sorts keys

Editor Sections

  1. Load from File - Uses the vehicle selector UI to pick a model/config .pc file, then loads it with jsonReadFile.
  2. Current Vehicle - Reads config from the player vehicle. Supports reading from .pc files or deserializing inline configs. Offers "Copy from Vehicle", "Copy only Parts", and "Copy only Vars" buttons.
  3. Parts Editor - Editable key-value pairs (string keys → string values) for JBeam slot assignments.
  4. Vars Editor - Editable key-value pairs (string keys → float values) for tuning variables.

How It Works

  1. The node stores a partConfig = {parts = {}, vars = {}} table internally.
  2. The custom properties panel lets the user populate this config from files or the current vehicle.
  3. Parts and vars can be manually added, edited, or removed through the ImGui interface.
  4. On each frame, work() outputs the config table and model string for downstream nodes (e.g., spawn vehicle).

Usage Example

-- In a flowgraph:
-- [Custom Parts Config Provider] → model → [Spawn Vehicle]
--                                → config → [Spawn Vehicle]

-- The partConfig structure:
local partConfig = {
  parts = {
    ["slot_engine"] = "engine_v8",
    ["slot_transmission"] = "transmission_6speed",
  },
  vars = {
    ["$spring_F"] = 45000,
    ["$damp_F"] = 2500,
  },
  partConfigFilename = "/vehicles/etk800/sport.pc"  -- optional
}

Key Dependencies

  • jsonReadFile() - loads .pc config files
  • core_vehicles.getModel() - retrieves available configs for a model
  • ui_flowgraph_editor.vehicleSelector() - shared vehicle/config picker widget
  • ffi - for ImGui text input buffer handling

See Also

  • Align for Coupling (Flowgraph Node) - Related reference
  • Apply Velocity to Vehicle (Flowgraph Node) - Related reference
  • Boost Vehicle (Flowgraph Node) - Related reference
  • FlowGraph Guide - Guide

Set Vehicle Colors

- **Node Name:** `Set Vehicle Colors`

Enter Vehicle

- **Node Name:** `Enter Vehicle`

On this page

OverviewPin SchemaOutput PinsInternalsKey MethodsEditor SectionsHow It WorksUsage ExampleKey DependenciesSee Also