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

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 Extensionsui

UI Mods

Discovers Vue mod components and notifies UI when mod files change.

Discovers Vue mod components and notifies UI when mod files change.


Overview

ui_uiMods scans /ui/ui-vue/mods/ for Vue mod directories and monitors file changes to trigger UI hot-reloads. It also watches /ui/modModules/ and calls sendUIModules() when those change.

Extension path: lua/ge/extensions/ui/uiMods.lua


Exports (M)

FunctionSignatureDescription
getVueMods() → tableReturns a map of mod name → {path, files}.
onFilesChanged(files)Reacts to VFS file changes; notifies UI if mod files changed.

Internals

getVueMods

Scans /ui/ui-vue/mods/ recursively for all files. Groups them by the first directory segment after mods/:

{
  ["myUiMod"] = {
    path = "/ui/ui-vue/mods/myUiMod",
    files = { "/component.vue", "/style.css", ... }
  }
}

onFilesChanged

Checks each changed file path:

  • If it starts with /ui/modModules/ → calls sendUIModules() (global).
  • If it starts with /ui/ui-vue/mods/ → triggers UiModsChanged guihook.

Both checks are performed at most once per call.


How It Works

  1. The UI calls getVueMods() to discover available Vue mod overlays.
  2. When the VFS reports file changes, onFilesChanged fires.
  3. If Vue mod files changed, UiModsChanged tells the UI to re-scan/reload.
  4. If module files changed, sendUIModules() pushes updated module data.

Lua Examples

-- List available Vue UI mods
local mods = extensions.ui_uiMods.getVueMods()
for name, info in pairs(mods) do
  print(name, info.path, #info.files .. " files")
end

Hooks Triggered

HookWhen
UiModsChanged (guihook)Vue mod files changed on disk

Additional Exports

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

  • M.getVueMods
  • M.onFilesChanged

Top Bar

Manages the top navigation bar entries, visibility, and active item state.

UI Navigation / Map

Provides navigation map data, routing, POI, and real-time object tracking for the UI.

On this page

OverviewExports (M)InternalsgetVueModsonFilesChangedHow It WorksLua ExamplesHooks TriggeredAdditional Exports