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 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.

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.


Constructor

local LoopToolbox = require('/lua/ge/extensions/gameplay/rally/tools/loopToolbox')
local lt = LoopToolbox()

Public API

FunctionSignatureReturnsDescription
C:init()nilInitializes UI state, loads settings, refreshes mission list
C:draw(manager)nilRenders the full ImGui debug panel
C:saveSettings()nilPersists draw settings to JSON
C:loadSettings()nilLoads draw settings from JSON
C:refreshMissionList()nilRebuilds mission dropdown for current level
C:findSignboards()numberScans scene tree for rally signboard objects
C:formatDuration(seconds, showSubseconds)stringFormats duration as MM
or HH:MM
C:drawDebug()nilDelegates 3D route debug drawing to gameplay_rallyLoop
C:drawSignboardsDebug()nilDraws signboard labels in 3D world
M.getSelectedMissionId()nilgetSelectedMissionId

How It Works

Panel Sections

  1. Mission Selector - Dropdown of rallyLoop missions on current level with Load/Unload buttons
  2. Controls - Skip, time adjustment (±10s, ±1m), pause/resume clock
  3. Mission Info - Current mission ID and directory
  4. Proximity Data - Vehicle proximity status (near/frozen), timer progress bar
  5. Runtime Info - Current mission index, mission system sync check, mismatch warning
  6. Draw Settings - Checkboxes for route, labels, Z-ordering, signboards, stop zones, debug info
  7. Overview - Time of day, rally start time, distance totals (SS, liaison, total), total time and penalties
  8. Schedule - Full mission sequence with events, timecard entries, split times, and penalty details
  9. Testing - Test mode toggle with active state radio buttons (inactive/vehicleProximity/stageActive/countdown)

Settings Persistence

Stored at /settings/rally/loopToolbox.json:

{
  selectedMissionId = "rally_loop_01",
  drawRoute = true,
  drawLabels = false,
  drawZOnTop = true,
  drawSignboards = false,
  drawVehBB = false,
  drawLeadingPoint = false,
  showDebugInfo = false
}

Signboard Scanner

Searches scenetree.MissionGroup recursively (depth 0-2, into Prefab*_unpacked groups) for objects with:

  • Shape name containing s_rally_signboard
  • Dynamic field flag

Caches position, flag value, and shape name for debug rendering.

Schedule Display

For each mission in the loop sequence:

  • Shows mission name with SS/liaison label and distance
  • Shows allocated durations (transition + stage time)
  • Color-codes current mission (green), highlights next event
  • Displays timecard entries with actual times, timing status, and penalties
  • Shows early/late calculation with penalty amounts
local lt = LoopToolbox()
lt:draw(rallyLoopManager)  -- Renders full debug panel

See Also

  • devTools - Rally Developer Tools Panel - Related reference
  • rallyToolbox - Rally Debug Toolbox Panel - Related reference
  • Gameplay Systems Guide - Guide

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

Rally Toolbox

Comprehensive ImGui debug panel for rally stage development. Provides visualization controls for race paths, driveline routes, pacenotes, KD-tree spatial queries, and mouse-as-vehicle simulation.

On this page

ConstructorPublic APIHow It WorksPanel SectionsSettings PersistenceSignboard ScannerSchedule DisplaySee Also