Level Gameplay Data

Level gameplay data is the layer that connects a level’s scene, roads, sites, traffic, missions, POIs, and map UI. Most of these systems already have dedicated format or class pages. This page is a high-level integration guide: use it to understand which systems depend on each other and where to continue reading.

For field-level reference, use the dedicated pages instead of this overview:

Most gameplay data depends on stable names. If a site, waypoint, road, trigger, POI, facility, or mission path is renamed, update every system that references it.

How the pieces fit

Gameplay features usually combine several kinds of data:

Layer Owns Used by
info.json Level metadata, spawns, traffic support, road rules, minimap layer references Level selector, spawn UI, big map, minimap, traffic, regional gameplay
Scene objects Roads, waypoints, triggers, gameplay areas, POIs, spawn spheres Navgraph, traffic, missions, facilities, speedtraps, bus stops
.sites.json files Locations, zones, parking spots, boundaries Facilities, parking, traffic, missions, career/freeroam features
map.json Manual navgraph corrections and special links AI, traffic, navigation, route UI, minimap/big map routes
signals.json Traffic signal logic Traffic AI, red-light cameras, intersection behavior
Feature folders Bus routes, drag strips, drift spots, crawls, quickrace, scenarios Feature-specific Lua systems and editor tools
gameplay/missions/ Modern mission definitions Mission manager, mission type constructors, Flowgraph

Treat these as connected data, not independent files. A mission may start from gameplay/missions/, use path data from race.race.json, query sites from the level, route over the navgraph, show a marker through the POI system, and depend on scene triggers or waypoints.

Common level-side feature folders

A gameplay-heavy level may include some of these folders or files:

levels/<levelName>/
+-- buslines/
+-- crawls/
+-- dragstrips/
+-- driftSpots/
+-- facilities/
+-- quickrace/
+-- scenarios/
+-- camPaths/
+-- city.sites.json
+-- facilities.sites.json
+-- map.json
+-- signals.json
+-- triggers.json
+-- *.vehGroup.json

Not every level needs all of them. Small sandbox or test levels may only need info.json, a scene tree, spawn points, and simple road/navgraph data.

Facilities and sites

Facilities give gameplay meaning to places such as garages, gas stations, dealerships, computers, delivery providers, private sellers, and drag strips. Their spatial data is usually supplied by sites and scene objects rather than being duplicated in the facility entry.

Use the existing pages for details:

When something facility-related does not appear in freeroam, career, or the big map, check the chain in this order: facility entry, referenced sites file, referenced zone/parking names, referenced scene objects, and POI provider behavior.

Bus routes

Bus route data lives in buslines/, but the route usually depends on more than the JSON file. A route may require scene bus stop objects or triggers, valid stop ids, route helper nodes, and a connected navgraph.

Keep bus route names, stop ids, and waypoint names stable after missions or UI reference them. For format details, see Bus Lines (*.buslines.json) . For trigger object behavior, see BeamNGTrigger .

Drift, crawl, and drag gameplay

These feature folders are level-local gameplay data. They often pair feature-specific files with shared systems such as sites, navgraph routes, scene markers, facilities, and missions.

Feature Typical level folder Usually depends on
Drift spots driftSpots/<spotName>/ Drift metadata, route/path data, boundary sites, marker scene objects, big map POIs
Crawls crawls/ Path/trail data, boundaries, starting positions, sites, mission-local data where applicable
Drag strips dragstrips/ Strip data, timing/staging data, lane waypoints, prefabs, facilities, scene objects

See Drift Spots , Crawls , and Drag Strips for the folder/file references.

Traffic authoring

Traffic is a combined result of:

  • Level metadata such as traffic support, region, and road rules in info.json
  • Drivable roads and waypoints in the scene
  • Manual navgraph corrections in map.json
  • Parking and zone data in .sites.json
  • Traffic signal data in signals.json
  • Optional level vehicle groups such as traffic.vehGroup.json or police.vehGroup.json
  • Feature objects such as speed traps or red-light camera triggers

Use Navigation map (map.json) for graph corrections, Traffic Signals (signals.json) for signal data, DecalRoad for road fields, and Speedtraps for camera setup.

Use Vehicle Groups (*.vehGroup.json) for shared, level-specific, or mission-specific vehicle pools.

After editing roads, waypoints, map segments, signals, or traffic-related sites, reload the navgraph and test with live traffic. The same graph is also used by route previews, missions, bus routes, and map UI, so traffic problems often point to a shared graph issue.

Missions and Flowgraph

Modern missions usually live outside the level folder:

gameplay/missions/<levelName>/<missionType>/<missionName>/

Mission folders commonly connect to level data:

Mission data Connects to
Mission info.json Mission type, UI metadata, unlocks, rewards, start data
race.race.json or feature path files Checkpoints, route paths, start positions, recovery points
*.flow.json Flowgraph mission logic and custom behavior
bounds.sites.json or other sites Boundaries, zones, and mission areas
Level scene objects Triggers, waypoints, markers, POIs, barriers
Level systems Navgraph, facilities, bus routes, drag strips, traffic, parking

Mission types such as busMode, crawl, drift, dragStripRace, delivery, garageToGarage, timeTrial, aiRace, rallyStage, and flowgraph each consume different combinations of this data. When a mission appears in the UI but behaves incorrectly, check the mission folder first, then the level systems it references.

Legacy content under levels/<levelName>/scenarios/ is separate from modern gameplay/missions/. Some levels still contain both.

POIs and map UI

POIs are not owned by one required level file. The big map aggregates POIs from spawn metadata, missions, facilities, gas stations, drift spots, crawls, drag strips, parking/sites, and scene BeamNGPointOfInterest objects.

The optional levels/<levelName>/pois/ folder may be used by tools, but it is not the only POI source. When a marker is missing, identify the owning feature first, then check that feature’s references.

The minimap and big map also use the navgraph. A minimap image layer can be valid while route generation is broken, and route generation can work while a minimap image is missing. Check info.json minimap references separately from roads, waypoints, and map.json.

Other level gameplay and presentation data

Some level folders are feature-specific and should stay out of the main file-format pages unless they get a dedicated schema reference:

Folder or file Purpose
quickrace/ Level-local quickrace tracks and generated race content.
camPaths/ Camera path files used by tools, missions, scenarios, or presentation.
triggers.json Freeroam or level-specific trigger wiring.
*.vehGroup.json Optional traffic, police, or mission vehicle pools.

Use these as integration points. If a feature has its own authoring page, keep detailed setup there and link to it from this overview.

Clean authoring order

For a new gameplay-heavy level, this order keeps dependencies manageable:

  1. Create roads, waypoints, spawns, and required scene objects.
  2. Set up info.json metadata, spawn entries, traffic support, road rules, and minimap references.
  3. Build and test the navgraph with roads, waypoints, and map.json.
  4. Add sites for parking, zones, facilities, boundaries, and named locations.
  5. Add facilities, POIs, bus routes, drift/crawl/drag data, quickrace, or other feature folders.
  6. Add missions and connect them to paths, sites, Flowgraphs, and scene objects.
  7. Add traffic signals, speed traps, vehicle groups, and traffic tuning.
  8. Test in freeroam, traffic, mission UI, big map, minimap, and any feature-specific editor.

Validation checklist

Before shipping level gameplay data, check:

  • Referenced object, site, waypoint, route, trigger, POI, and facility names exist.
  • JSON files load without parse errors.
  • The navgraph is reloaded after road, waypoint, map.json, signal, or site edits.
  • Traffic can spawn, route, and respond to signals where expected.
  • Bus routes, missions, and quickrace content can resolve their path and stop references.
  • Facilities resolve their sites, parking spots, gameplay areas, and POIs.
  • Speed traps and red-light cameras are validated through the dedicated speedtrap workflow.
  • The minimap and big map show expected routes, POIs, and spawn points.
  • Legacy scenarios and modern missions are not confused for each other.

Related pages

Last modified: June 8, 2026

Any further questions?

Join our discord
Our documentation is currently incomplete and undergoing active development. If you have any questions or feedback, please visit this forum thread.