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)

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 Extensionsflowgraphnodesui

Custom UI Layout (Flowgraph Node)

- **Node Name:** `Custom UI Layout`

Overview

  • Node Name: Custom UI Layout
  • Category: provider
  • File: extensions/flowgraph/nodes/ui/customUiLayout.lua

Lets you capture, store, and restore a custom UI layout. The layout is serialized with the flowgraph and can be loaded at execution time.

Pin Schema

Output Pins

PinTypeTable TypeDescription
layouttablelayoutDataThe stored layout data

Internals

Stored State

  • self.storedLayout - Array of UI app definitions captured from the current layout.

Key Methods

MethodDescription
_executionStarted()Outputs stored layout wrapped as {apps, layoutName}
drawCustomProperties()Editor UI with Capture / Clear / Load buttons and layout copy combo
setLayout(data)Callback invoked by the UI when capturing the current layout
getCmd()Returns a Lua command string so the UI can call back into this node
_onSerialize(res)Persists storedLayout into flowgraph save data
_onDeserialized(data)Restores storedLayout from saved data

How It Works

  1. In the flowgraph editor, click Capture to save the current in-game UI layout into the node.
  2. The node stores the raw app list (storedLayout) and serializes it with the graph.
  3. When the flowgraph starts execution, _executionStarted outputs the layout as a layoutData table.
  4. Downstream nodes (e.g. a UI Layout node) can apply this layout to the game.

Editor Buttons

  • Capture - Triggers guihooks.trigger('getCurrentLayoutToLua', cmd) and stores the result.
  • Clear - Removes the stored layout.
  • Load Stored Layout - Applies stored layout via core_gamestate.setGameState.
  • Load Freeroam layout - Reverts to the default freeroam layout.
  • Copy Layout from… - Copies an existing named layout into the node.

Usage Example

-- The node outputs a table like:
{
  apps = { ... },          -- array of app definitions
  layoutName = "procedural Layout 42"
}

-- Downstream, a UI Layout node consumes this to set the game's app layout.

Key Dependencies

  • guihooks.trigger('getCurrentLayoutToLua', ...) - requests current layout from the UI layer
  • core_gamestate.setGameState() - applies a game state / layout

Previously Undocumented (Added by Audit)

  • Parameter fix: getCmd(action) - parameter action used in getCmd

See Also

  • Medal / Auto Medal (Flowgraph Node) - Related reference
  • Clear Messages (Flowgraph Node) - Related reference
  • Context Translation (Flowgraph Node) - Related reference
  • FlowGraph Guide - Guide

Custom Button TEST (Flowgraph Node)

- **Node Name:** `Custom Button TEST`

End Screen (Flowgraph Node)

- **Node Name:** `End Screen`

On this page

OverviewPin SchemaOutput PinsInternalsStored StateKey MethodsHow It WorksEditor ButtonsUsage ExampleKey DependenciesPreviously Undocumented (Added by Audit)See Also