BeamNG.tech updates for terrain and roads generation tools, improvements on existing features and APIs, better Linux support.

We are excited to introduce BeamNG.tech Discourse, a community hub for all BeamNG.tech things! Whether you’re here to discuss the latest in realistic vehicle simulation, seek support, or share your latest mods, this forum is the perfect place to connect with fellow vehicle enthusiasts. BeamNG.tech Discourse is freely accessible to all, with or without a BeamNG.tech license. For details on obtaining a non-commercial license, please visit our dedicated licensing page. If you are interested in commercial use, feel free to reach out to us directly at licensing@beamng.gmbh for further inquiries.

The BeamNG.tech v0.33 release presents a new GUI-based tool for terrain and roads import. Example of real world terrain, imported in BeamNG.tech . Example of real world terrain, imported in BeamNG.tech .

The Road architect is updated, with more advanced possibilities on roads editing, bridges, junctions, highways, terraforming; literally, on procedural generation of roads. Example of roads network, built with the Road architect tool. Example of roads network, built with the Road architect tool.

The Tech Capture Recorder/Player renders it possible to record default capture or capture with custom name and also to play a capture, without Python installed.

The ROS1 bridge is enriched to support more sensors and the ROS2 bridge features new packages.

Important to note that, BeamNG.tech v0.33 includes all updates from the BeamNG.drive 0.33 release and hotfixes; the interested user can access the detailed reports on BeamNG.drive v0.33 here.

Please, also remember to place the “tech.key” file in the simulator’s installation directory (i.e. overwrite the empty placeholder “tech.key”) for it to be detected. Contrary to previous software releases, this time the “tech.key” should not be placed in the user folder as it would not be detected.


Here is the changelog for BeamNG.tech v0.33:

New features

  • New Terrain And Road Importer tool to :

    • import terrains
    • import roads
    • terraform the terrain to fit the imported roads. It is a user-friendly tool, accessible via World Editor and allows to import real-world terrains.
  • On the Road architect tool :

    • possible to make a roads network group, reusable at will
    • easier roads generation with available group templates
    • added road profiles options
    • introduced road guidelines, very useful for aligning roads and junctions
    • introduced edge blending layers, to seamlessly blend the road with the underlying terrain material
    • more advanced roads joining, with list of compatible joining options
    • improved terraforming, also on imported OpenDRIVE (.xodr) files.

Changes / improvements

  • on ROS1 :
    • added support for new sensors : GPS, Roads sensor, Radar, Ideal radar, Mesh, Powertrain sensor;
    • added new scenarios.
  • new packages available for ROS2 bridge :
    • beamng_bringup
      • calling multiple scripts, it has an example of starting multiple scripts that could be from any package in ROS2 workspace, it has the feature of load/update/overwrite variable from the code without editing the original script.
    • beamng_agent
      • allowing to move vehicle/s from ROS side as a ROS2 service.
        • ex. ros2 service call /vehicle_command beamng_msgs/srv/VehicleCommand “{vehicle_id: ’ego’, linear_velocity: 0.1, angular_velocity: -0.1}”
      • convert the ROS2 twist message to BeamNGpy message to move the vehicle.
        • ex. ros2 topic pub –once /cmd_vel geometry_msgs/msg/Twist “{linear: {x: 0.5, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: 0.0}}”
      • new service for switching AI/keyboard control
    • beamng_teleop_keyboard
      • allowing to control vehicle in BeamNG.tech using keyboard keys.
  • A fix on vehicle stats logger: a UI bug that would let log data only every 5 sec
  • Adaptive Cruise Control (ACC) changes in architecture, now it works as an extension per vehicle
  • Sensor suite now available on Vulkan and Linux
    • with shared memory support on Linux
    • Known issues:
      • Radar sensor not returning any data on Vulkan
      • Camera sensor annotations not working correctly
  • Fixed the Camera sensor not responding to adhoc requests in some circumstances.

BeamNGpy-related changes

  • Tech Capture Recorder/Player : New tool for recording/replaying BeamNGpy protocol runs
  • Added new API for attaching and detaching couplers
  • added a flag to disable RoadsSensor debug visualization
  • fixed BeamNGpy.scenario.restart breaking some keyboard shortcuts after calling it
  • the BeamNGpy and Vehicle objects are threadsafe now
  • fixed the set_part_config function losing the connection to the Vehicle object
  • fixed Lidar with is_streaming=True
  • new debugging tool for BeamNGpy communication : a Wireshark plugin which
    • decodes all messages exchanged between BeamNGpy and BeamNG
    • included with instruction in the debug folder of the BeamNGpy repository.
  • the determine_userpath function is skipped on Linux
  • renamed the crash_lua_on_error argument of BeamNGpy to debug, as the argument also changes other behavior (it starts recording the Tech Captures)
  • BeamNGpy changelog.