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
Client CanvasCaustics PostFXChromatic Lens PostFXClient CoreDepth of Field PostFXEdge AA PostFXPostFx Flash EffectPostFx Fog EffectsPostFx FXAA Anti-AliasingGamma PostFXPostFx Glow EffectShadow Maps InitClient LightingPostFx Light Ray EffectAdvanced Lighting - Light VisualizationPostFx Masked Screen BlurMotion Blur PostFXObjects Required for StartupClient Parse ArgsClient PostFX ManagerRender ManagerAdvanced Lighting - ShadersBasic Lighting - Shadow FilterAdvanced Lighting - Shadow VisualizationPostFx SMAA Anti-AliasingPostFx SSAO (Screen-Space Ambient Occlusion)PostFx Turbulence EffectPostFx Utilities

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 ExtensionsClient

Objects Required for Startup

Creates all GUI control profiles and the default cursor required before any UI can be displayed. This is one of the first modules loaded during engine initialization.

Creates all GUI control profiles and the default cursor required before any UI can be displayed. This is one of the first modules loaded during engine initialization.


Module Overview

PropertyValue
Sourcelua/ge/client/objectsRequiredForStartup.lua
Returns- (side-effect module, executes on require)
DependenciesNone (engine globals only)

Cursor

ObjectTypeDescription
DefaultCursorGuiCursorPlatform-aware cursor (macCursor on macOS, defaultCursor.png otherwise)

GUI Control Profiles

All profiles are registered as named scene objects. Key profiles:

Core Profiles

Profile NamePurpose
GuiDefaultProfileBase profile - colors, fonts, borders
GuiSolidDefaultProfileOpaque with border
GuiTransparentProfileFully transparent
GuiWindowProfileWindow decorations with bitmap
GuiInputCtrlProfileKeyboard-focusable input

Text Profiles

Profile NameFont SizeAlignment
GuiTextProfile14 (default)Left
GuiTextRightProfile14Right
GuiAutoSizeTextProfile14Left (auto-size)
GuiMediumTextProfile24Left
GuiBigTextProfile36Left
GuiMLTextProfile14Left (multi-line, links)
GuiTextArrayProfile14Left (selection colors)

Input Profiles

Profile NamePurpose
GuiTextEditProfileText input field with bitmap
GuiButtonProfileStandard button
GuiMenuButtonProfileMenu-style button (18pt bold)
GuiButtonTabProfileTab-style button
GuiCheckBoxProfileCheckbox with bitmap
GuiRadioProfileRadio button with bitmap
GuiSliderProfileSlider control
GuiSliderBoxProfileSlider with value box

Container Profiles

Profile NamePurpose
GuiScrollProfileScrollable area with scrollbar bitmap
GuiOverlayProfileSemi-transparent overlay
GuiFrameSetProfileFrame/panel borders
GuiGroupBorderProfileGroup box borders
GuiTabBookProfileTab book control (64×24 tabs)
GuiTabPageProfileIndividual tab page
GuiPopUpMenuProfileDropdown menu
GuiPopUpMenuDefaultDropdown list items

Console/Debug Profiles

Profile NamePurpose
GuiConsoleProfileConsole output (monospace font, colored)
GuiConsoleTextProfileConsole text entry
ConsoleScrollProfileConsole scroll area (dark background)
ConsoleTextEditProfileConsole input field

Special Profiles

Profile NamePurpose
GuiToolTipProfileTooltip styling
GuiModelessDialogProfileNon-modal dialog
GuiProgressProfileProgress bar
GuiProgressBitmapProfileBitmap progress bar
GuiProgressTextProfileProgress bar text
GuiMonospaceMonospace display (Courier New, 16pt)
GuiCEFProfileChromium Embedded Framework control

Platform Detection

local platform = getConsoleVariable("$platform")
-- macOS: Monaco 13pt console font, macCursor bitmap
-- Other: Lucida Console 12pt, defaultCursor.png

Notes

  • Executes entirely on require() - no function calls needed.
  • All profiles use category = "Core".
  • Font alignment uses numeric enum: 0 = Left, 1 = Right, 2 = Center.
  • Color values use ColorI(r, g, b, a) (0–255 range).
  • ~430 lines of profile definitions.

See Also

  • client/core - Requires this module during initializeCore
  • client/canvas - Uses cursor and canvas objects created here

Motion Blur PostFX

Camera-based motion blur post-processing effect using velocity from the prepass buffer.

Client Parse Args

Parses command-line arguments passed to the BeamNG engine, handling flags for logging, display, vehicles, levels, Lua execution, and tech communication.

On this page

Module OverviewCursorGUI Control ProfilesCore ProfilesText ProfilesInput ProfilesContainer ProfilesConsole/Debug ProfilesSpecial ProfilesPlatform DetectionNotesSee Also