RLS Studios
ProjectsPatreonCommunityDocsAbout
Join Patreon
BeamNG Modding Docs

Guides

Reference

Debug DrawingGPU Mesh StructsImGui FFIMath Structs (FFI)FFI C DefinitionsPID ControllersCSV LibraryDelay LineDequeDevelopment UtilitiesEvent ReferenceExtension SystemSignal FiltersGraph PathfindingUI BridgeInput Filter Constants2D Bilinear InterpolationIntrospectionJBeam Pretty PrinterJSON AST ParserSJSON ParserJSON Debug ParserJSON Pretty PrinterK-D Tree (2D Boxes)K-D Tree (3D)K-D Tree (3D)Lua SerializerC++/Lua BindingLua CoreLua ProfilerMath LibraryParticlesQuadtreeSettingsTCP ServerTimer SchedulerUtility Library
extensions/ - BeamNG Extension Modules
ImGui Base APIImGui Custom BindingsImGui Auto BindingsImGui ContextImGui WidgetsImGui Wire ProtocolImGui Profiler
Flowgraph Lua BindingsFlowgraph Editor

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 Referencecommonextensionsuiflowgraph

Flowgraph Editor

Module defined in `lua/common/extensions/ui/flowgraph/editor.lua`. Flowgraph visual scripting editor API - type system, node categories, variable editors, vehicle selectors, and display utilities.

Module defined in lua/common/extensions/ui/flowgraph/editor.lua. Flowgraph visual scripting editor API - type system, node categories, variable editors, vehicle selectors, and display utilities.


Exports

Functions

M.getSimpleTypes()

Get list of simple data types.

  • Returns: table - {'number', 'bool', 'string', 'vec3', 'quat', 'color'}

M.getTypes()

Get all available flowgraph data types.

  • Returns: table - Array of type name strings

M.getGraphTypes()

Get available graph types.

  • Returns: table - Array of graph type strings

M.getTypeColor(dataType)

Get the ImGui color for a data type.

  • Parameters:
    • dataType - string - Type name
  • Returns: ImVec4 - Color (defaults to brown for unknown types)

M.getTypeIcon(dataType)

Get the icon identifier for a data type.

  • Parameters:
    • dataType - string - Type name
  • Returns: string - Icon name (defaults to M.detaultIconType)

M.tooltip(message)

Show an ImGui tooltip with the given message.

  • Parameters:
    • message - string - Tooltip text

M.vehicleSelector(label)

ImGui vehicle selector dropdown widget.

M.vehicleSelectorRefresh()

Refresh the vehicle selector's cached vehicle list.

M.shortDisplay(value, dataType)

Compact inline display of a value for the given data type.

M.shortValueString(value, dataType)

Get a short string representation of a value.

M.fullDisplay(value, dataType)

Full detailed display of a value for the given data type.

M.fullValueString(value, dataType)

Get a full string representation of a value.

M.variableEditor(variable)

ImGui editor widget for a flowgraph variable.

M.isFunctionalNode(nodeType)

Check if a node type is a functional node.

M.isSimpleNode(nodeType)

Check if a node type is a simple node.

M.shortValueString(value, tpe)

Get a short string representation of a value.

  • Parameters:
    • value - any - Value to stringify
    • tpe - string - Type name
  • Returns: string - Short display string

M.shortDisplay(value, tpe)

Render a short inline display of a value in ImGui.

  • Parameters:
    • value - any - Value to display
    • tpe - string - Type name

M.fullValueString(value, tpe)

Get a full string representation of a value.

  • Parameters:
    • value - any - Value to stringify
    • tpe - string - Type name
  • Returns: string - Full display string

M.fullDisplay(value, tpe)

Render a full display of a value in ImGui.

  • Parameters:
    • value - any - Value to display
    • tpe - string - Type name

M.variableEditor(source, name, displayOptions)

Render an inline variable editor widget.

  • Parameters:
    • source - table - Data source containing the variable
    • name - string - Variable name/key
    • displayOptions - table|nil - Display configuration

M.vehicleSelectorRefresh(self, onlyModel)

Refresh the vehicle selector data.

  • Parameters:
    • self - table - Node/context with vehicle data
    • onlyModel - boolean|nil - Only show model names

M.vehicleSelector(self, onlyModel)

Render a vehicle selector widget with search.

  • Parameters:
    • self - table - Node/context
    • onlyModel - boolean|nil - Only show model names

M.isFunctionalNode(category) / M.isSimpleNode(category) / M.isDurationNode(category) / M.isF_DurationNode(category) / M.isOnceNode(category) / M.isDynamicNode(category)

Check if a node category matches a specific behaviour type.

  • Parameters:
    • category - string - Node category string
  • Returns: boolean

M.getBehaviourIcon(behaviour)

Get the icon for a node behaviour type.

  • Parameters:
    • behaviour - string - Behaviour name
  • Returns: string - Icon identifier

M.getBehaviourDescription(behaviour)

Get the description for a node behaviour type.

  • Parameters:
    • behaviour - string - Behaviour name
  • Returns: string - Description

M.getAutoTypeFromName(name)

Infer a data type from a pin/variable name.

  • Parameters:
    • name - string - Pin or variable name
  • Returns: self (module table, for chaining)

Variables

M.flowgraphVersion

  • Type: number (0.2)
  • Description: Current flowgraph format version

M.nodeColors

  • Type: table
  • Description: Color definitions for node categories (custom, logic, events, etc.)

M.nodeIcons

  • Type: table
  • Description: Icon assignments for node categories

M.defaultTypeIconSize

  • Type: number (18)
  • Description: Default pixel size for type icons

M.detaultIconType

  • Type: string ("fg_type_circle")
  • Description: Fallback icon for unknown types

Internal Notes

  • Version 0.2 changed to flat lists for graphs (breaking from 0.1)
  • Vehicle selector uses searchUtil for fuzzy matching
  • Node categories: repeat_instant, simple, repeat_p_duration, repeat_f_duration, once_instant, dynamic_instant
  • Type colors map to ImVec4 for wire/pin coloring

See Also

  • ui/flowgraph/editor_api_luaintf Reference - Related reference
  • Common Libraries Overview - Guide

Flowgraph Lua Bindings

Module defined in `lua/common/extensions/ui/flowgraph/editor_api_luaintf.lua`. Lua bindings for the flowgraph node editor C++ API (`Engine.fge`). Provides ID types, enum constants, and editor control

ExpressionParser Reference

Module defined in `lua/common/jbeam/expressionParser.lua`. Parses and evaluates `$=` expressions in JBeam data, providing a sandboxed math environment with variable substitution.

On this page

ExportsFunctionsM.getSimpleTypes()M.getTypes()M.getGraphTypes()M.getTypeColor(dataType)M.getTypeIcon(dataType)M.tooltip(message)M.vehicleSelector(label)M.vehicleSelectorRefresh()M.shortDisplay(value, dataType)M.shortValueString(value, dataType)M.fullDisplay(value, dataType)M.fullValueString(value, dataType)M.variableEditor(variable)M.isFunctionalNode(nodeType)M.isSimpleNode(nodeType)M.shortValueString(value, tpe)M.shortDisplay(value, tpe)M.fullValueString(value, tpe)M.fullDisplay(value, tpe)M.variableEditor(source, name, displayOptions)M.vehicleSelectorRefresh(self, onlyModel)M.vehicleSelector(self, onlyModel)M.isFunctionalNode(category) / M.isSimpleNode(category) / M.isDurationNode(category) / M.isF_DurationNode(category) / M.isOnceNode(category) / M.isDynamicNode(category)M.getBehaviourIcon(behaviour)M.getBehaviourDescription(behaviour)M.getAutoTypeFromName(name)VariablesM.flowgraphVersionM.nodeColorsM.nodeIconsM.defaultTypeIconSizeM.detaultIconTypeInternal NotesSee Also