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
Locations DetectorMission ManagerMissionsMission Screen UIPOI TestProgressMission Start TriggerUnlocks
Career ConditionsGeneric ConditionsMission ConditionsVehicle Conditions

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 Extensionsgameplaymissionsunlocksconditions

Career Conditions

Reference for career-specific unlock condition types used by the mission unlock system.

Reference for career-specific unlock condition types used by the mission unlock system.


Condition Types

branchLevel

Requires the player to reach a specific level in a career branch.

FieldTypeDescription
branchIdstringCareer branch path identifier
levelnumberRequired minimum level
M.branchLevel = {
  info = 'The user has to have a certain level in a career branch.',
  editorFunction = "displayBranchLevel",
  getLabel = function(self)
    return {
      txt = "missions.missions.unlock.attributeLevel.atLeast",
      context = {
        branchName = career_branches.getBranchByPath(self.branchId).name,
        level = self.level
      }
    }
  end,
  conditionMet = function(self)
    -- Always met if career is not active
    return (not career_career) or (not career_career.isActive()) or (not career_branches)
      or career_branches.getBranchLevelByPath(self.branchId) >= self.level
  end
}

league

Requires a specific league to be unlocked.

FieldTypeDescription
leagueIdstringLeague identifier
M.league = {
  info = "The user has to have a league unlocked.",
  editorFunction = "displayLeague",
  getLabel = function(self) return "League" end,
  conditionMet = function(self)
    if not career_career.isActive() or not career_modules_branches_leagues then
      return false
    end
    return career_modules_branches_leagues.isLeagueUnlocked(self.leagueId)
  end
}

Key Behaviors

  • branchLevel returns true when career is not active (non-career mode bypasses career conditions)
  • league returns false when career is not active (leagues are career-only)
  • Both conditions are used in startCondition and visibleCondition of mission definitions
  • branchLevel uses career_branches.getBranchLevelByPath() for level comparison
  • Used by gameplay_missions_unlocks.conditionMet() for recursive condition evaluation

See Also

  • unlocks/conditions/genericConditions - Generic Logic Conditions - Related reference
  • unlocks/conditions/missionConditions - Mission Progress Conditions - Related reference
  • unlocks/conditions/vehicleConditions - Vehicle-Based Conditions - Related reference
  • Gameplay Systems Guide - Guide

Time Trial Missions

Reference for the time trial procedural mission generator that converts quickrace tracks into playable time trial missions.

Generic Conditions

Reference for generic logic condition types used by the mission unlock system.

On this page

Condition TypesbranchLevelleagueKey BehaviorsSee Also