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

Vehicle Class Grouping

M.dependencies = {"gameplay_vehiclePerformance"}

Dependencies

M.dependencies = {"gameplay_vehiclePerformance"}

Groups vehicles by performance class for AI race events. Provides aggression multipliers per class and generates filtered, shuffled vehicle groups compatible with core_multiSpawn.


Public API

FunctionSignatureReturnsDescription
M.getAggressionMultiplier(class)numberAI aggression coefficient for class (S=1.0 … D=0.6)
M.generateGroup(class, mode, modelFilter, configFilter, configTypeFilter, invertedFilters, randomizePaint, smartShuffle)tableBuilds a multiSpawn group of vehicles matching the given class

Dependencies

ModulePurpose
gameplay_vehiclePerformancegetClassFromConfig() for determining vehicle class

Class Aggression Map

ClassMultiplier
S1.0
A0.9
B0.8
C0.7
D0.6

Default Filters

  • Model blacklist: atv, utv, us_semi, midtruck, citybus, racetruck, rockbouncer, simple_traffic
  • Config type blacklist: Police, Service, Powerglow

Usage Examples

-- Get a class-B vehicle group for racing
local group = career_modules_vehicleClassGrouping.generateGroup("B")
-- group.data = { {model="midsize", config="base", paintName="(Random)"}, ... }

-- Get aggression for AI difficulty
local aggression = career_modules_vehicleClassGrouping.getAggressionMultiplier("A") -- 0.9

-- Custom filter: only pickup trucks
local pickupFilter = { pickup = false }  -- inverted = whitelist
local group = career_modules_vehicleClassGrouping.generateGroup("C", "default", pickupFilter, nil, nil, {modelFilter = true})

Smart Shuffle

When smartShuffle is enabled (default), the generated group interleaves different models so the same model never appears consecutively. This prevents spawning three identical cars in a row.

Career Value Calculator Module

M.dependencies = {'career_career'}

Vehicle Deletion Service

M.dependencies = {'career_career'}

On this page

DependenciesPublic APIDependenciesClass Aggression MapDefault FiltersUsage ExamplesSmart Shuffle