RLS Studios
ProjectsPatreonCommunityDocsAbout
Join Patreon
BeamNG Modding Docs

Guides

Reference

cdefDebugDraw ReferencecdefGpuMesh ReferencecdefImgui ReferencecdefMath Referencecdefs ReferencecontrolSystems Referencecsvlib ReferencedelayLine Referencedequeue ReferencedevUtils ReferenceEvent Referenceextensions Referencefilters Referencegraphpath Referenceguihooks ReferenceinputFilters ReferenceinterpolatedMap Referenceintrospection ReferencejbeamWriter Referencejson-ast Referencejson ReferencejsonDebug ReferencejsonPrettyEncoderCustom Referencekdtreebox2d Referencekdtreebox3d Referencekdtreepoint3d Referencelpack ReferenceluaBinding ReferenceluaCore ReferenceluaProfiler Referencemathlib Referenceparticles Referencequadtree Referencesettings ReferencetcpServer ReferencetimeEvents Referenceutils Reference
calltracer ReferencedateUtils ReferencedebugDraw Referencefilterchain Referenceutils/ - Utility Modulesheatmap ReferencehttpJsonServer ReferenceinteractiveShell ReferencelanguageMap Referenceperf Referencepixellib ReferencesimpleHttpServer ReferencetorqueScriptParser ReferencewsUtils Reference

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 Referencecommonutils

debugDraw Reference

Module defined in `lua/common/utils/debugDraw.lua`. Lightweight debug drawing API using packed integer colors instead of ColorF/ColorI. Wraps FFI calls to the C++ `BNG_DBG_DRAW_*` functions.

Module defined in lua/common/utils/debugDraw.lua. Lightweight debug drawing API using packed integer colors instead of ColorF/ColorI. Wraps FFI calls to the C++ BNG_DBG_DRAW_* functions.


Exports

Functions

M.drawSphere(pos, r, packedCol, useZ)

Draw a debug sphere.

  • Parameters:
    • pos - vec3 - Center position
    • r - number - Radius
    • packedCol - number - Packed RGBA color integer
    • useZ - boolean - Use Z-testing

M.drawLineInstance_MinArg(posA, posB, w, packedCol)

Draw a debug line with minimal arguments.

  • Parameters:
    • posA - vec3 - Start position
    • posB - vec3 - End position
    • w - number - Line width
    • packedCol - number - Packed RGBA color integer

M.drawSquarePrism(base, tip, baseSize, tipSize, packedCol, useZ)

Draw a square prism (frustum shape).

  • Parameters:
    • base - vec3 - Base center
    • tip - vec3 - Tip center
    • baseSize - vec2 - Base half-sizes (x, y)
    • tipSize - vec2 - Tip half-sizes (x, y)
    • packedCol - number - Packed RGBA color integer
    • useZ - boolean - Use Z-testing

M.drawTextAdvanced(pos, txt, packedCol, useAdvancedText, twod, bgColorPacked, shadow, useZ)

Draw debug text with advanced options.

  • Parameters:
    • pos - vec3 - World position
    • txt - string - Text to display
    • packedCol - number - Text color (packed)
    • useAdvancedText - boolean - Use advanced text rendering
    • twod - boolean - 2D mode (screen-space)
    • bgColorPacked - number - Background color (packed)
    • shadow - boolean - Draw text shadow
    • useZ - boolean - Use Z-testing

M.drawTriSolid(posA, posB, posC, packedCol, useZ)

Draw a solid triangle.

  • Parameters:
    • posA - vec3 - Vertex A
    • posB - vec3 - Vertex B
    • posC - vec3 - Vertex C
    • packedCol - number - Packed RGBA color integer
    • useZ - boolean - Use Z-testing

Variables (FFI Bindings)

M.Sphere

  • Type: function (FFI) - Direct BNG_DBG_DRAW_Sphere binding or nop

M.Cylinder

  • Type: function (FFI) - Direct BNG_DBG_DRAW_Cylinder binding or nop

M.Line

  • Type: function (FFI) - Direct BNG_DBG_DRAW_Line binding or nop

M.Text

  • Type: function (FFI) - Direct BNG_DBG_DRAW_Text binding or nop

M.LineInstance_MinArg

  • Type: function (FFI) - Direct BNG_DBG_DRAW_LineInstance_MinArg binding or nop

M.SquarePrism

  • Type: function (FFI) - Direct BNG_DBG_DRAW_SquarePrism binding or nop

M.TextAdvanced

  • Type: function (FFI) - Direct BNG_DBG_DRAW_TextAdvanced binding or nop

M.TriSolid

  • Type: function (FFI) - Direct BNG_DBG_DRAW_TriSolid binding or nop

M.LineInstance_MinArgBatch

  • Type: function (FFI) - Batched line drawing binding or nop

M.TriSolidBatch

  • Type: function (FFI) - Batched solid triangle drawing binding or nop

Internal Notes

  • All FFI bindings fall back to nop if FFI is unavailable
  • Uses packed integer colors (not ColorF/ColorI) for performance
  • Higher-level draw* functions wrap the raw FFI calls with friendlier API

dateUtils Reference

Module defined in `lua/common/utils/dateUtils.lua`. ISO 8601 date parsing and time difference calculations.

filterchain Reference

Module defined in `lua/common/utils/filterchain.lua`. Functional programming filter chain for signal processing - chains composable filter objects (smooth, interval, scale, digitize, etc.) into a proc

On this page

ExportsFunctionsM.drawSphere(pos, r, packedCol, useZ)M.drawLineInstance_MinArg(posA, posB, w, packedCol)M.drawSquarePrism(base, tip, baseSize, tipSize, packedCol, useZ)M.drawTextAdvanced(pos, txt, packedCol, useAdvancedText, twod, bgColorPacked, shadow, useZ)M.drawTriSolid(posA, posB, posC, packedCol, useZ)Variables (FFI Bindings)M.SphereM.CylinderM.LineM.TextM.LineInstance_MinArgM.SquarePrismM.TextAdvancedM.TriSolidM.LineInstance_MinArgBatchM.TriSolidBatchInternal Notes