RLS Studios
ProjectsPatreonCommunityDocsAbout
Join Patreon
BeamNG Modding Docs

Guides

Reference

Server CommandsGE UtilitiesGame Engine MainNavigation GraphScreenshot CaptureServerServer ConnectionSpawnpoint ManagerSimulation TimeVehicle SpawningSuspension Frequency Tester
Editor AI TestsEditor AI VisualizationEditor – Assembly Spline ToolAsset BrowserAsset DeduplicatorAsset Management ToolSFX Previewer (Audio Events List)Audio Ribbon EditorAutoSaveBarriers EditorBiome ToolBuilding EditorBulk RenameCamera BookmarksCamera TransformCamera Path EditorCEF HelperCo-Simulation Signal EditorCrawl Data EditorCreate Object ToolDataBlock EditorDecal EditorDecal Spline EditorDocumentation HelperDrag Race EditorDrift Data EditorDrive Path EditorDynamic Decals Tool (Vehicle Livery Creator)Engine Audio DebugExtensions DebugExtensions EditorFFI Pointer Leak TestFile DialogFlowgraph EditorForest EditorForest ViewEditor Gizmo HelperEditor Ground Model Debug HelperEditor Headless Editor TestEditor Icon OverviewEditor ImGui C DemoEditor InspectorEditor Layout ManagerEditor Level SettingsEditor Level ValidatorEditor LoggerEditor Log HelperEditor MainEditor Main MenuEditor Main ToolbarEditor Main UpdateMap Sensor EditorMaster Spline EditorMaterial EditorMeasures Inspector HeaderMesh Editor (Base)Mesh Road EditorMesh Spline EditorMission EditorMission PlaybookMission Start Position EditorMulti Spawn Manager (Vehicle Groups)Navigation Mesh EditorEditor News MessageObject Tool (Object Select Edit Mode)Object To Spline EditorParticle EditorPerformance Profiler / Camera RecorderPhysics ReloaderPrefab Instance EditorEditor PreferencesRace / Path EditorRally EditorRaycast Test Editor ToolRenderer Components Editor ToolRender Test Editor ToolResource Checker Editor ToolRiver EditorRoad Architect EditorRoad DecorationsRoad Editor (Decal Road)Road Network ExporterRoad River Cache HandlerRoad River GUIRoad Spline EditorRoad Template EditorRoad UtilitiesScene TreeScene ViewScreenshot Creator BootstrapScript AI EditorScript AI ManagerSensor Configuration EditorSensor DebuggerShape EditorShortcut LegendSidewalk Spline EditorSites EditorSlot Traffic EditorSuspension Audio DebugTech Server ManagerTerraform ToolTerrain And Road ImporterTerrain EditorTerrain Materials EditorText EditorTool ManagerTool ShortcutsTraffic DebugTraffic ManagerTraffic Signals EditorUndo History ViewerVehicle Bridge TestVehicle Detail ViewerVehicle Editor MainEditor - VisualizationEditor Viz HelperEditor Water Object HelperEditor Windows Manager
Dynamic Decals - BrowserDynamic Decals - BrushesDynamic Decals - CameraDynamic Decals - Color HistoryDynamic Decals - Color PresetsDynamic Decals - Debug SectionDynamic Decals - Debug TexturesDynamic Decals - Documentation SystemDynamic Decals - ExportDynamic Decals - FontsDynamic Decals - GizmoDynamic Decals - HelperDynamic Decals HistoryDynamic Decals InspectorDynamic Decals Layer StackDynamic Decals Load/SaveDynamic Decals MeshesDynamic Decals NewsDynamic Decals NotificationDynamic Decals SelectionDynamic Decals SettingsDynamic Decals TexturesDynamic Decals Vehicle Color PaletteDynamic Decals Widgets

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 ExtensionseditordynamicDecals

Dynamic Decals Widgets

Editor module providing the unified property widget rendering system for the Dynamic Decals tool. Maps API property types to appropriate ImGui controls (sliders, inputs, combos, color pickers, texture

Editor module providing the unified property widget rendering system for the Dynamic Decals tool. Maps API property types to appropriate ImGui controls (sliders, inputs, combos, color pickers, texture selectors, etc.) with reset-to-default buttons, lock-ratio support, and widget highlighting.


Module Info

KeyValue
Fileextensions/editor/dynamicDecals/widgets.lua
logTageditor_dynamicDecals_widgets
Dependencieseditor_api_dynamicDecals, editor_dynamicDecals_helper

Public API

FunctionSignatureDescription
M.draw(value, property, guiId, editEnded?, widgetOptions?)Main entry point - renders the appropriate widget for a property based on its type and widget type override. Returns true if value changed
M.highlight(id, time)Highlights a widget by ID with a timed border outline
M.defaultButton(widgetId, cbFunc, tooltipMsg?)Renders a reset/refresh icon button that calls cbFunc on click
M.registerEditorPreferences(prefsRegistry)Registers widget preferences
M.editorPreferenceValueChanged(path, value)Stub
M.setup(tool_in)Stores references, registers editModeUpdate for highlight timers

Preferences

PathTypeDefaultDescription
dynamicDecalsTool.widgets.texturePreviewSizefloat128Texture thumbnail max width (32–512)
dynamicDecalsTool.widgets.multiColorWidgetWidthfloat128Gradient preview width (32–512)

Supported Property Types & Widget Variants

TypeWidget VariantsDefault
boolCheckboxCheckbox
intInput, Slider, Drag, ComboInput
floatInput, Slider, DragSlider
Point2FInput, Slider, DragSlider
Point3FSlider, ColorSlider
Point4FSlider, ColorSlider
stringInput, InputMultilineInput
TextureFile, ImageButtonImageButton
FileFileFile
ColorIColorColor
MultiColorColorGradientColorGradient

Widget Features

  • Reset button - Each widget can have a refresh icon that resets to property.default
  • Lock ratio - Point2F/Point3F/Point4F widgets support a lock icon to constrain all components
  • getMod/setMod - Properties can define transform functions for display vs storage values
  • Widget type override - property.widgetType selects among available variants; a diamond icon popup lets users switch
  • Highlighting - highlight(id, time) draws a BeamNG-colored border around a widget for time seconds
  • Drag-drop - Texture widgets accept DynDecalTextureDrapDrop payloads
  • Image preview - Texture widgets show preview with configurable size and border

Usage Example

local widgets = extensions.editor_dynamicDecals_widgets
local api = extensions.editor_api_dynamicDecals

-- Draw a property widget
if widgets.draw(api.getDecalRotation(), api.propertiesMap["decalRotation"], "myGui") then
  api.setDecalRotation(api.propertiesMap["decalRotation"].value)
end

-- Highlight a specific widget for 5 seconds
widgets.highlight("##Decal Properties_section_decalScale", 5)

See Also

  • Dynamic Decals - Browser - Related reference
  • Dynamic Decals - Brushes - Related reference
  • Dynamic Decals - Camera - Related reference
  • World Editor Guide - Guide

Dynamic Decals Vehicle Color Palette

Editor module providing the Vehicle Color Palette section for the Dynamic Decals tool. Allows editing the three vehicle color slots (color, colorPalette0, colorPalette1) with metallic paint data, rand

Dynamic Decals Inspector Utils

Utility functions for the Dynamic Decals inspector. Provides reusable ImGui widgets for editing decal texture paths and gradient colors within layer inspectors.

On this page

Module InfoPublic APIPreferencesSupported Property Types & Widget VariantsWidget FeaturesUsage ExampleSee Also