RLS Studios
ProjectsPatreonCommunityDocsAbout
Join Patreon
BeamNG Modding Docs

Guides

Reference

Server CommandsGE UtilitiesGame Engine MainNavigation GraphScreenshot CaptureServerServer ConnectionSpawnpoint ManagerSimulation TimeVehicle SpawningSuspension Frequency Tester
Ambient SoundUI Apps ManagerUI AudioBindings LegendCamera Distance AppDeveloper ConsoleCredits MusicExternal WebSocket ServerFade ScreenGame BlurGameplay App ContainersGrid SelectorLivery EditorMessages DebuggerMessages/Tasks App ContainersMission InfoPolice InfoTop BarUI ModsNavigation Map DataVehicle 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

See Also

  • ui/ambientSound - Ambient Sound Stream Player - Related reference
  • UI Apps Manager - Related reference
  • UI Audio - Related reference
  • UI System Guide - Guide

Top Bar

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

Navigation Map Data

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

On this page

OverviewExports (M)InternalsgetVueModsonFilesChangedHow It WorksLua ExamplesHooks TriggeredAdditional ExportsSee Also