We’re pleased to introduce BeamNG.tech v0.36, a release that introduces a range of new features and improvements across the platform. BeamNG.tech v0.36 includes all updates and hotfixes from the BeamNG.drive 0.36 release, bringing a host of foundational improvements that enhance the overall functionality and performance of the platform. We strongly encourage you to check out the BeamNG.drive patch notes to get the full scope of what’s new, many of these updates directly benefit BeamNG.tech as well. You can read the BeamNG.drive patch notes here.

In the BeamNG.tech v0.36 update it is especially noteworthy the introduction of the Template Car, a modular, easy-to-customize vehicle designed for rapid prototyping, experimentation, and research in areas like autonomous driving, sensor integration, and vehicle dynamics. It serves also as a practice field for users who want to get started with modelling vehicles (jbeam) in BeamNG. It’s intended as a starting point, with plenty of room for future development and refinement.

In addition to the Template Car, version 0.36 also extending roads export functionality to the Road Network Exporter tool, enabling compatibility with SUMO and OpenStreetMap (OSM) in Lua (previously only available in Python). We made some sensor test improvements including parameter naming updates, and fixes to APIs in both BeamNGpy and Lua to improve performance and consistency across platforms. We’ve also enhanced the headless simulation mode and resolved key issues with ROS2 sensor publishing and camera/LiDAR data retrieval in Lua. BeamNG.tech 0.36 also introduces early support for platooning, a key step in simulating cooperative autonomous driving. Supported features are: leader-follower architecture; dynamic joining to an existing platoon; synchronized acceleration and braking; dynamic reconfiguration when a vehicle departs and automatic gap-closing after platoon change. High-speed maneuvering is not yet fully supported but as an early glimpse, this feature represents a big leap in AV behavioral simulation. The platoon can be controlled using Lua or Python API calls. You can find new Python examples demonstrating these functionalities. Please note, the files required for platooning are currently unavailable and are scheduled to be added in version 0.36.4.

As always, we’re committed to supporting a wide range of simulation use cases, from AV development to robotics research and digital twin simulations. BeamNG.tech continues to evolve as a flexible and powerful platform, and this release brings us one step closer to making high-fidelity, physics-based prototyping more accessible and reliable.

Dive into the changelog and see what’s new!


World Editor

BeamNGpy

  • Rename RADAR and ultrasonic parameter from ‘resolution’ to ‘size’
    Renamed these sensors parameter from ‘resolution’ to ‘size’ to have naming consistency with outside Python API changes; this had edits to sensors’ APIs, examples, sensors tests and configuration tools as they included the aforementioned sensors.
  • Sensors tests improvements
    • LiDAR test cleanup, on the multiple operation modes and shared/without shared memory function
    • Ultrasonic test extension, on sensor readings check and with static vehicle detection challenge
    • RADAR and advancedIMU tests expanded with readings consistency check
    • Camera test expansion to cover both ‘ad-hoc’ and ‘full-polling’ modes, verify that the idle camera produces zeros and confirm each frame is not blank and correctly sized (‘check_field’ function); also, improved camera annotations testing.
  • Removed Python code for user path determination
    BeamNG instances spawned from BeamNGpy now use the exact same logic for determining user path as instances spawned independently (unless the BeamNGpy(user=...)) argument is used. That means the default user path for BeamNG.tech on Windows is %localappdata%/BeamNG.drive, even when spawning from BeamNGpy.
    You can add the user argument to the BeamNGpy constructor to use another directory instead, for example: BeamNGpy(user=r'C:\Users\<USERNAME>\AppData\Local\BeamNG.tech')
  • The -tcom argument now starts the TCP connection also without a detected BeamNG.tech license.

Lua API

  • Fixed LiDAR and camera readings retrieval
    Functions extensions.tech_sensors.processCameraData(sensorId) and extensions.tech_sensors.getLidarDataPositions(sensorId) return Lua readable values.

Linux

  • Minimal runtime glibc version needed increased to 2.35
    BeamNG.tech 0.36 and higher will not run on Ubuntu 20.04 (which is end-of-life) and other historic distributions because of the glibc version upgrade. This was announced in a previous post.

Headless Mode

  • Fixed mods not being mounted to the VFS.
  • Fixed the UI navigation app throwing errors.
  • Fixed to allow combination with the -gfx null argument
    With the combination of -headless -gfx null, GPU is not used at all, skipping rendering and making all the camera-based sensors unavailable. This combination is experimental and will have bugs.

ROS

  • BeamNG integration for ROS1 is end-of-life as ROS1 itself is end-of-life
    There will be no future updates, it is advised to migrate to the BeamNG ROS2 integration.
  • ROS2: Fixed sensors occasionally not returning data after the first publish

Vehicles

  • Template Car
    Added a Template car that could be used as a simple starting point for a bespoke vehicle, or as a generic sensor platform. It has 3 front and 6 rear suspension layouts, and simplified electric and internal combustion powertrains.
    • Jbeam
      Simple to understand Jbeam that can easily be modified to suit specific requirements.
    • Double Wishbone Suspension
    • MacPherson Strut Suspension
    • Live Axle Suspension
    • Multi-Link (Rear Only)
    • Semi Trailing Arm Suspension (Rear Only)
    • Torsion Beam Suspension (Rear Only)
    • Powertrain
      The template car comes with the following powertrain options:
      • Front electric motor (FWD)
      • Rear electric motor (RWD)
      • Dual electric motors (4WD)
      • Simple internal combustion engine (FWD/RWD/4WD)
    • Multiple Hub Options
      The template car supports 4 lug hub and 5 lug hub options for all suspension types to allow for greater wheel selection.

Vehicle Platooning

Early support for vehicle platooning, a system where multiple vehicles can drive together in a coordinated formation. This model demonstrates autonomous and semi-autonomous driving behavior in BeamNG software. Users can form, manage, and control platoons using Lua or Python API calls. The model supports :

  • Platoon Formation: Start with a leader and a follower vehicle.
  • Dynamic Joining: New vehicles can join at the end or in the middle, as long as they are detected to be close enough.
  • Synchronized Driving: Vehicles accelerate and decelerate together in smooth movement.
  • Departure from the platoon: Any vehicle can leave the platoon and switches to manual driving mode.
  • Gap Closing: Remaining vehicles speed up slightly to fill any gaps left by departing members.
    Note that challenging manoeuvers at high speeds are not yet supported.