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
Activity ManagerAudio Bank ManagerAudio Ribbon SystemBus Route ManagerCamera SystemCore Chat (IRC)Core CheckpointsCore Command HandlerCoupler Camera ModifierDevices (RGB Peripherals)Dynamic PropsEnvironmentFlowgraph ManagerForestFun StuffGame ContextGame StateGround Marker ArrowsGround MarkersHardware InfoHighscoresHotlappingInventoryJob SystemLap TimesLevelsLoad Map CommandMetricsMod ManagerMultiseatMultiseat CameraMulti SpawnOnlinePaths (Camera Paths)Quick Access (Radial Menu)Recovery PromptRemote ControllerReplayRepositoryRope Visual TestScheme Command ServerCore SnapshotCore SoundsCore TerrainTraffic SignalsTrailer RespawnVehicle Active PoolingVehicle Bridge (GE ↔ VLua Communication)Vehicle MirrorsVehicle PaintsCore VehiclesVehicle TriggersVersion UpdateWeather SystemWindows Console

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 Extensionscore

Recovery Prompt

Recovery and towing system for career mode. Provides context-sensitive buttons for flipping, towing, repairing, and teleporting vehicles, with cost calculations, conditions, and fade-screen transition

Recovery and towing system for career mode. Provides context-sensitive buttons for flipping, towing, repairing, and teleporting vehicles, with cost calculations, conditions, and fade-screen transitions.


Key Public Functions

FunctionSignatureDescription
M.isActive() → booleanWhether the recovery system is active
M.setActive(active)Enables/disables the recovery system
M.setDefaultsForCareer()Activates career-appropriate buttons
M.setDefaultsForFreeroam()Deactivates all buttons
M.setDefaultsForTutorial()Activates tutorial-appropriate buttons
M.setEverythingActive()Activates all buttons
M.deactivateAllButtons()Deactivates all buttons
M.addButton(id, label, fadeFn, order, msg, active, enabled, fade, icon)Adds a custom recovery button
M.removeButtonById(id)Removes a custom button
M.setButtonActiveById(id, active)Sets a button's active state
M.getButtonActiveById(id) → booleanGets a button's active state
M.setButtonEnabledById(id, enabled)Sets a button's enabled state
M.setButtonLimits(limits)Sets use-count limits per button
M.resetButtonLimitCounters(onlyFor)Resets usage counters
M.getButtonLimitsAndCounts() → tableReturns limits and current counts
M.buttonPressed(buttonId, target)Triggers a recovery action with fade
M.handleCurrRecoveryOption()Executes the pending recovery action
M.serializeState() → tableSerializes button active states
M.deserializeState(data)Restores button active states
M.getCustomRecoveryOptionsActiveState() → tableReturns sanitized button states
M.onResetGameplay(playerID)Opens radial menu on gameplay reset

Built-in Button Options

IDLabelTypeCostDescription
towToRoadTow to Nearest Roadvehicle$75Teleports to nearest road
flipUprightFlip Uprightvehicle$50Flips vehicle to wheels-down
getFavoriteVehicleRetrieve FavoritewalkfreeSpawns favorite vehicle at player
repairHereRepairvehiclefreeRepairs vehicle in place
flipMissionFlip Upright (Mission)vehiclefreeMission-context flip
recoverMissionRecover (Mission)vehiclefreeMission-context recovery
submitMissionSubmit Scorenone-Submit mission attempt
restartMissionRestart Missionnone-Restart current mission
stopTestdriveStop Test Drivenone-End dealership test drive
giveBackDeliveryVehicleDiscard Delivery VehiclevehiclefreeReturn a delivery task vehicle
returnLoanedVehicleReturn Loaned VehiclevehiclefreeReturn a loaned vehicle

Conditions System

ConditionDescription
outOfPursuitNot in police chase
vehicleSlowVehicle speed < 10 m/s
vehicleStoppedVehicle speed < 0.5 m/s
vehicleInInventoryVehicle exists in career inventory
vehicleOwnedPlayer owns the vehicle
favouriteSetFavorite vehicle is set and available
notTestdrivingNot in a test drive
towToRoadAllowedByPermissionPermission system allows towing
duringTestdriveCurrently in a test drive
vehicleIsDeliveryVehicleVehicle is a delivery task vehicle

Dynamic Garage Buttons

On level load, tow-to-garage and taxi-to-garage buttons are auto-generated for each garage facility that doesn't have noQuickTravel set. Prices are calculated via career_modules_quickTravel.


Integration with Radial Menu

Recovery buttons are injected into the quick access radial menu under /root/sandbox/career/ and /root/sandbox/mission/ paths via onBeforeRadialOpened.


Hooks

HookPurpose
M.onPopupClosedCalled on PopupClosed event
M.onResetGameplayOpens radial menu with appropriate root on gameplay reset
M.onScreenFadeStateHandles fade completion to execute recovery action
M.onCareerModulesActivatedAdds towing/taxi buttons when career modules activate
M.onClientStartMissionSets career defaults and adds towing/taxi buttons on mission start
M.onBeforeRadialOpenedInitializes recovery buttons in radial menu paths
M.onHideRadialMenuClears popup data when radial menu hides
M.onQuickAccessLoadedResets initialization flag for lazy button registration
M.uiPopupButtonPressed(buttonId)Handles UI popup button press.
M.uiPopupCancelPressed()Handles UI popup cancel press.

Module State

VariableTypeDefault
uiPopupButtonPressedvariesuiPopupButtonPressed
uiPopupCancelPressedvariesuiPopupCancelPressed

Notes

  • Actions use ui_fadeScreen for smooth transitions (0.3s fade).
  • Roadside assistance can waive costs if insurance covers it.
  • The onResetGameplay hook opens the radial menu with the appropriate root.
  • Custom buttons must have customButton = true to be removable.

See Also

  • quickAccess - Radial menu that hosts recovery buttons
  • globals - spawn.safeTeleport, career_modules_*

Quick Access (Radial Menu)

Radial quick-access menu system. Provides the in-game radial menu for vehicle actions, sandbox tools, AI control, traffic, repair/recovery, and dynamic configurable slots.

Remote Controller

Mobile phone remote controller support. Listens for UDP connections from the BeamNG Remote Control app, creates virtual input devices, and bridges accelerometer/button data to vehicle controls.

On this page

Key Public FunctionsBuilt-in Button OptionsConditions SystemDynamic Garage ButtonsIntegration with Radial MenuHooksModule StateNotesSee Also