RLS Studios
ProjectsPatreonCommunityDocsAbout
Join Patreon
BeamNG Modding Docs

Guides

Reference

Server CommandsGE UtilitiesGame Engine MainNavigation GraphScreenshot CaptureServerServer ConnectionSpawnpoint ManagerSimulation TimeVehicle SpawningSuspension Frequency Tester
Gameplay AchievementGameplay CityDiscoverForce FieldGarage ModeMarker InteractionParking SystemGameplay Playmode MarkersGameplay PoliceGameplay RallyGameplay Rally LoopGameplay Raw POIsGameplay Skidpad TestSpeed Trap LeaderboardsSpeed Traps and CamerasGameplay StatisticsTaxi Ride SystemTraffic SystemVehicle PerformanceWalking
Rally Audio ManagerRally Camera Path PlayerRally ClientRally Cut CaptureRally EnumsRally Extension HelperRally GeometryRally ManagerRecce ManagerRecce AppRecce SettingsRally Settings ManagerSnap-to-RoadTraffic Exclusion ZonesRally UtilityRally Vehicle CaptureRally Vehicle Tracker
Rally Dev ToolsRally Loop ToolboxRally Toolbox

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 Extensionsgameplayrallytools

Rally Dev Tools

ImGui panel for rally development tools in the world editor. Provides text compositor enumeration, corner detection from driveline, pacenote generation, elevation profile analysis, and traffic exclusi

ImGui panel for rally development tools in the world editor. Provides text compositor enumeration, corner detection from driveline, pacenote generation, elevation profile analysis, and traffic exclusion zone management.


Constructor

local DevTools = require('/lua/ge/extensions/gameplay/rally/tools/devTools')
local dt = DevTools()

Public API

FunctionSignatureReturnsDescription
C:init()nilLoads available compositors, initializes pacenotes tools state
C:draw()nilRenders the ImGui panel
C:onUpdate()nilPer-frame drawing of elevation profile and driveline debug
C:onVehicleResetted()nilNo-op placeholder
C:isPacenotesToolsSectionExpanded()booleanWhether pacenotes tools section is open
M.drawGameSettings()nildrawGameSettings
M.drawDrivelinePoints()nildrawDrivelinePoints

Compositor Enumeration

FunctionSignatureDescription
C:loadCompositors()Discovers all compositor modules in the compositors directory
C:enumerate()Enumerates all phrases for selected compositor, writes to JSON
C:enumeratorOutFname()Returns output path: /temp/rally/enumerated_<name>.json

Corner Detection & Pacenote Generation

FunctionSignatureDescription
C:calculateCorners()Detects corners from driveline points using PacenoteGenerator
C:storeCorners(corners)Stores detected corners for visualization
C:storeDrivelinePoints(points)Stores driveline points for 3D visualization
C:clearDrivelinePoints()Clears stored driveline and corner data

Elevation Profile

FunctionSignatureDescription
C:storeElevationProfile(profile)Stores elevation data with stats calculation
C:exportElevationProfileToJson()Exports profile to /temp/rally/elevation_profile_<timestamp>.json
C:drawElevationProfilePoints()Renders profile points as colored spheres in 3D

How It Works

ImGui Sections

  1. Enumerate Text Compositors - Select compositor, enumerate all phrases to JSON for TTS generation
  2. Pacenotes Tools - Corner detection with tunable parameters, pacenote generation, driveline visualization
  3. Traffic - Create/clear traffic exclusion zones from mission paths
  4. Game Settings - Shows current rallyTextCompositorVoice setting

Corner Detection Parameters

  • Look Ahead Context (1-10): How many nodes to analyze for direction changes
  • Straight Threshold (0.5-15°): Angle below which is considered straight
  • Merge Distance (0.1-5m): Distance threshold for merging short straights
  • Simplify Iterations (1-20): Max simplification passes

Driveline Debug Visualization

When corners are detected, draws colored lines:

  • Blue = left turns
  • Red = right turns
  • Dark grey = straights
local dt = DevTools()
dt:draw()  -- Renders ImGui panel
dt:onUpdate()  -- Updates 3D debug visualizations

See Also

  • loopToolbox - Rally Loop Debug Panel - Related reference
  • rallyToolbox - Rally Debug Toolbox Panel - Related reference
  • Gameplay Systems Guide - Guide

Route Tracking Test

Debug extension for testing the route tracking system. Creates a simple 3-point route and tracks the player vehicle along it with debug visualization.

Rally Loop Toolbox

ImGui debug panel for rally loop mode. Displays mission schedule, timing, penalties, proximity data, signboard locations, and provides vehicle/clock controls for testing multi-stage rally events.

On this page

ConstructorPublic APICompositor EnumerationCorner Detection & Pacenote GenerationElevation ProfileHow It WorksImGui SectionsCorner Detection ParametersDriveline Debug VisualizationSee Also