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
Career Branches Landing PageCareer Leagues

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 Extensionscareermodulesbranches

Career Leagues

Manages league definitions - groups of missions tied to skills. Handles league unlock conditions, star counting, sorting, and mission-to-league assignment.

Manages league definitions - groups of missions tied to skills. Handles league unlock conditions, star counting, sorting, and mission-to-league assignment.


Module Info

FieldValue
Pathextensions/career/modules/branches/leagues.lua
Globalcareer_modules_branches_leagues
TypeCareer Module

Public API

FunctionSignatureDescription
getLeagueById(id)Returns a league by its ID
isLeagueUnlocked(id)Checks if a league's unlock conditions are met (cached)
clearLeagueUnlockCache()Clears cached unlock status for all leagues
getSimpleUnlockedStatus()Returns {leagueId = bool} for all leagues
formatLeague(l)Deep-copies a league, adds star counts and icons
getLeaguesForProgressBranchPage(branchId, ignoreSubSkills)Returns formatted leagues for a branch page, sorted
getLeaguesForUnlockChange(before, after)Returns leagues that became unlocked between snapshots
getLeaguesForMission(missionId)Returns all leagues containing a mission
getNoLeague(skill, missions, driftSpots)Deprecated stub
getStarsForSkills(skillIds)Returns total and unlocked star counts across skills
getStarsForSkill(skillId)Returns total and unlocked star counts for one skill
addLeagueSortOrder()Assigns _order to all leagues by skill and file position
startConditionIncludesLeague(cond, leagueId)Recursively checks if a start condition includes a league
getStartConditionLeagueId(cond, map)Recursively extracts league IDs from a start condition

Hooks

HookDescription
onCareerModulesActivatedLoads league JSON files from /gameplay/*.leagues.json
onMissionsLoadedFromFilesValidates mission-to-league mappings, patches start conditions

Unlock Condition Types

TypeFieldsDescription
leagueStarsleagueId, starsRequires N stars from another league
branchLevelskillId, levelRequires a branch to reach level N
skillStarsskillId, starsRequires N stars across a skill
branchStarsbranchId, starsRequires N stars across a branch's skills
inDevelopment-Always locked (placeholder)

Usage Example

-- Check if a league is unlocked
if career_modules_branches_leagues.isLeagueUnlocked("drift_league_1") then
  print("Unlocked!")
end

-- Get star progress for a skill
local total, unlocked = career_modules_branches_leagues.getStarsForSkill("bmra-drift")

See Also

  • career_branches - Branch/skill hierarchy
  • gameplay_missions_missions - Mission data
  • gameplay_missions_progress - Star counts

Additional Exports

Functions

FunctionDescription
M.clearLeagueUnlockCache()No description available
M.getLeagueById(id)career utility
M.getSimpleUnlockedStatus()No description available
M.getStarsForSkill(skillId)No description available
M.onAfterDriftSpotsLoaded(spotsById)[[

Values/Properties

ExportDescription
M.addLeagueSortOrderValue: addLeagueSortOrder
M.formatLeagueValue: formatLeague
M.getLeaguesForMissionValue: getLeaguesForMission
M.getLeaguesForProgressBranchPageValue: getLeaguesForProgressBranchPage
M.getLeaguesForUnlockChangeValue: getLeaguesForUnlockChange
M.getNoLeagueValue: getNoLeague
M.getStarsForSkillsValue: getStarsForSkills
M.getStartConditionLeagueIdValue: getStartConditionLeagueId
M.isLeagueUnlockedValue: isLeagueUnlocked
M.onCareerModulesActivatedValue: onCareerModulesActivated
M.onMissionsLoadedFromFilesValue: onMissionsLoadedFromFiles
M.startConditionIncludesLeagueValue: startConditionIncludesLeague

Career Branches Landing Page

Builds UI data for the career progress landing page - domain selection, branch skill cards, mission lists, facility data, and breadcrumb navigation.

Delivery Cargo Cards

Builds card UI data for the cargo screen - grouping, sorting, filtering of cargo items by type, destination, container, and task.

On this page

Module InfoPublic APIHooksUnlock Condition TypesUsage ExampleSee AlsoAdditional ExportsFunctionsValues/Properties