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
Career BranchesCareer System CoreCareer Save System
Career Computer MenuCareer Fuel SystemInspect VehicleVehicle InventoryLinear TutorialLoaner VehiclesCareer LogLogbookMarketplaceMission WrapperCareer Painting ModuleCareer Part Inventory ModuleCareer Part Shopping ModuleCareer Payment ModuleCareer Permissions ModuleCareer Playbook Writer ModuleCareer Player Abstract ModuleCareer Player Attributes ModuleCareer Player Driving ModuleCareer Quick Travel ModuleCareer Rentals ModuleCareer Reputation ModuleCareer Spawn Points ModuleCareer Speed Traps ModuleCareer Test Drive ModuleCareer Tether ModuleCareer Tuning ModuleCareer UI Utils ModuleCareer Unlock Flags ModuleCareer Value Calculator ModuleVehicle Class GroupingVehicle Deletion ServiceVehicle PerformanceVehicle Shopping

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 Extensionscareermodules

Mission Wrapper

M.dependencies = {'career_career'}

Dependencies

M.dependencies = {'career_career'}

Wraps the mission system for career mode. Manages mission save paths, dirty tracking, and auto-saving mission progress within the career save structure.


Public API

FunctionSignatureDescription
M.cacheMissionData(id, dirtyDate)Mark a mission as dirty with optional date
M.saveMission(id)Cache mission data and trigger career save
M.preMissionHandling(step, task)Pre-mission save step (waits for vehicle save)

Hook Handlers

HookPurpose
M.onExtensionLoadedSet mission save path from career save slot
M.onExtensionUnloadedClear save path, reload mission system
M.onSaveCurrentSaveSlotSave dirty mission data to career path
M.onAnyMissionChangedReset player state and save on mission stop
M.onMissionLoadedCache mission data when loaded
M.onVehicleSaveFinishedComplete pre-mission handling step

Save Path

Missions are saved under: {savePath}/career/missions/

Set via gameplay_missions_progress.setSavePath() on load, cleared on unload.

Dirty Tracking

allMissionData = {
  ["race_highway_001"] = "2024-01-15T10:30:00Z",  -- last dirty date
  ["delivery_basic_003"] = "2024-01-15T11:00:00Z",
}

Only missions with dirtyDate > oldSaveDate are written during save.

Pre-Mission Flow

preMissionHandling(step, task)
  ├── If autosave enabled: saveCurrent() → onVehicleSaveFinished
  │   └── step.handlingComplete = true
  └── If autosave disabled: immediate complete

See Also

  • inventory - Vehicle save triggers onVehicleSaveFinished
  • playerDriving - Reset player state after missions

Marketplace

Player-to-NPC vehicle marketplace. Handles listing vehicles for sale, generating timed buyer offers, price negotiation with personality-driven AI opponents (private individuals and dealerships), and o

Career Painting Module

M.dependencies = {"career_career"}

On this page

DependenciesPublic APIHook HandlersSave PathDirty TrackingPre-Mission FlowSee Also