RLS Studios
ProjectsPatreonCommunityDocsAbout
Join Patreon
BeamNG Modding Docs

Guides

Reference

Server CommandsGE UtilitiesGame Engine MainNavigation GraphScreenshot CaptureServerServer ConnectionSpawnpoint ManagerSimulation TimeVehicle SpawningSuspension Frequency Tester
Freeroam Big Map MarkersFreeroam Big Map ModeFreeroam Big Map POI ProviderFreeroam Crash Cam ModeFreeroam Crash Cam Mode LoaderFreeroam Drag RaceFreeroam FacilitiesFreeroamFreeroam ConfiguratorFreeroam Gas StationsFreeroam Level StatsFreeroam OrganizationsFreeroam Special TriggersFreeroam Vue Big Map

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 Extensionsfreeroam

Freeroam Configurator

Manages the freeroam configuration screen - level/spawn point selection, vehicle selection, and gameplay options. Persists configuration to disk and provides tile data for the UI.

Manages the freeroam configuration screen - level/spawn point selection, vehicle selection, and gameplay options. Persists configuration to disk and provides tile data for the UI.


Internal State

FieldTypeDescription
M.dependenciesvariesAssigned as {}

Public API

FunctionSignatureReturnsDescription
M.getConfiguration()tableReturns current config with options, spawn point tile, vehicle tile
M.getButtons()tableReturns the primary action button (Start Freeroam)
M.triggerButton(buttonId, ...)nilSaves config, applies options, executes button action
M.updateOption(key, value)nilUpdates a configuration option
M.setSpawnPoint(levelName, spawnPointName, key?)nilSets level and spawn point, caches tile
M.setVehicle(model, config, additionalData?, key?)nilSets vehicle choice, caches tile
M.getCurrentVehicle()tableReturns {model, config, additionalData}
M.getCurrentSpawnPointTile()table|nilReturns cached spawn point tile with validation
M.getCurrentVehicleTile()table|nilReturns cached vehicle tile with validation
M.onSpawnPointTileClick()nilOpens level/spawn selector UI
M.onVehicleTileClick()nilOpens vehicle selector UI
M.startFreeroam(configuration)nilLaunches freeroam with the given configuration
M.validateFiles(validationFiles)booleanChecks if all referenced files/dirs still exist

| M.doubleClickOverride | (item) | - | | M.onDeserialized | (data) | - | | M.onSerialize | () | - |

Configuration Structure

{
  levelName = "west_coast_usa",
  spawnPointName = "spawns_industrial",
  options = {
    traffic_trafficMode = "disabled",
    environment_timeOfDay = "default",
    environment_timePlay = "disabled"
  },
  vehicle = {
    model = "pickup",
    config = "d15_4wd_A",
    additionalData = { paint = "Sea Blue", ... }
  },
  spawnPointTile = { ... }, -- cached UI tile data
  vehicleTile = { ... },   -- cached UI tile data
}

How It Works

  1. Load: On first access, reads settings/freeroamConfigurator.json; falls back to defaults (pickup or ETK800 depending on license)
  2. Options: Gathers options from all extensions in configuratorOptions/ via onFreeroamConfiguratorGetOptions hook
  3. Tile Caching: Spawn point and vehicle tiles are fetched once and cached; validated on read against validationFiles
  4. Save: Dirty configs are saved on serialize or button trigger
  5. Start: Resolves vehicle paints by name, calls freeroam_freeroam.startFreeroamByName()

Hooks

HookPurpose
onFreeroamConfiguratorGetOptionsGathers option groups from option providers
onFreeroamConfiguratorApplyOptionsApplies selected options before start
onFreeroamConfiguratorOverrideStartButtonAllows overriding the start button

Notes

  • Config file: settings/freeroamConfigurator.json with version checking
  • Default vehicle differs between tech license (ETK800) and drive license (pickup)
  • Default tiles loaded from configuratorOptions/defaultTiles.json
  • Dependencies auto-discovered from configuratorOptions/*.lua files

See Also

  • Freeroam Big Map Markers - Related reference
  • Freeroam Big Map Mode - Related reference
  • Freeroam Big Map POI Provider - Related reference
  • Freeroam Guide - Guide

Freeroam

M.dependencies = {"core_environment"}

Freeroam Gas Stations

Manages gas station POI formatting and simple vehicle refueling in freeroam. Defers to career fuel module when career mode is active.

On this page

Internal StatePublic APIConfiguration StructureHow It WorksHooksNotesSee Also