The leaves are turning, and with them comes a new BeamNG.tech update packed with improvements for simulation, automation, and research workflows. BeamNG.tech v0.37 includes all updates and hotfixes from the BeamNG.drive 0.37 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.
This autumn release makes sensor management easier to work with, expands what you can do with BeamNGpy, and adds new advanced driver-assistance features to the virtual testbed. On top of that, there’s a handy new server management tool, better Linux support, and a more streamlined launcher for Windows users.
⚠️ Please note that the default user path has changed in this release. If you rely on scripts, automation, or existing workflows, you may need to update your configurations to match the new path. Skipping this step could cause confusion or break your setups.
❗ Also be aware that the minimum system requirements have changed with this version. We recommend all users review the updated requirements on our documentation page to ensure compatibility and optimal performance. You can find the latest information here.
Some of the standout changes include major upgrades to the World Editor’s sensor tools, with real-time editing for camera sensors and cleaner JSON export formats. We’ve also added a brand new BeamNGpy Server Manager, so setting up and running the server is quicker and more convenient. On the API side, you can now dive into features like lane-keeping assist, blind spot detection, and ultrasonic parking assist, complete with ready-to-use Python examples to get you started. Other improvements include advanced signal smoothing for IMU, expanded Lua sensor APIs, and enhancements for Linux users. Whether you’re prototyping ADAS systems, training AI, or digging into advanced vehicle dynamics, this release gives you the flexibility and reliability to take your work further. Here’s a quick look at what’s new:
World Editor
- Updated Tools: Sensor Configuration Editor and Map Sensor Editor
- Sensors created from BeamNGpy and by other means are shown in the list of sensors.
- Live previews + live editing for camera sensors.
- Exported sensor configuration files are plain JSON.
Which should make editing the configurations by hand easier. Older sensor configuration files can still be imported in new versions of BeamNG.tech, but it is recommended to re-export in the new format. - Clicking a static sensor in the Map Sensor Editor moves the camera towards the sensor position.
- Advanced IMU smoothing settings match the new smoothing logic
- Sensors created from BeamNGpy and by other means are shown in the list of sensors.
- New Tool: BeamNGpy Server Manager
Located inWindow > Tech > BeamNGpy Server
, this little tool allows you to start/stop the BeamNGpy server on demand, so you don’t have to use the command-line arguments to set up the connection.
BeamNGpy
- Advanced IMU API matches the new smoothing
smoother_strength
is used instead of the old smoothing parameters. - Added method save_plot to Radar
Added the method save_plot to the Radar sensor. It saves the readings data plots to a file. - API for parking assist and blind spot detection
The user can interact with the new parking assist and blind spot detection functionality through the newAdasUltrasonicApi(BeamNGpy, Vehicle)
. An exampleadas_ultrasonic.py
is also available. - Lane-keeping assist
Added a camera sensor-based feature, which works in real-time to prevent:- Overspeeding into corners.
- Unintentional lane exiting via force feedback. The road markings are used to detect the current lane and the curvature of the road ahead. The example
lka_example.py
is available to get started.
- Added API to import script AI paths into BeamNGpy.
Addedimport_script_ai_file()
to load and convert AI path files into BeamNGpy script format for use with scripted vehicle AI.
- Deprecated the
get_full_poll_request
method of the Camera sensor.
The call might also introduce crashes, instabilities or BeamNG hanging on some platforms (Linux + Vulkan + Nvidia GPUs). - Added the
vehicle.ai.drive_using_waypoints
API to set a list of the waypoints the AI should drive to.
ADAS Features
- Parking assist and blind spot detection
By callingextensions.adasUltrasonic.load(vehId, args)
the user can add an ultrasonic sensor setup to their vehicle offering:- Automatic hit prevention during parking.
- Blind spot HUD notifications. Either 4 or 10 sensors are used depending on the selected feature/s.
Sensors
- Added more Lua APIs to help with sensor management.
tech_sensors.stype
contains a list of all Lua sensor typestech_sensors.getSensorName(sensorType, sensorId)
returns the name of a sensortech_sensors.getSensorConfiguration(sensorType, sensorId)
returns a Lua table from which you can get the full configuration of a sensortech_sensors.getActiveSensors()
returns a list of all active sensors with their types
You can also use theonSensorCreated(sensorType, sensorId)
andonSensorRemoved(sensorType, sensorId)
in your code to listen to sensor change events. You should always use thetech_sensors
extension to create and manage sensors to properly set the sensor change events.
- Renamed the
updateTime
Lua property of sensors torequestedUpdateTime
for consistency. - Improved advanced IMU smoothing
Smoothing of oscillations and noise has been greatly improved. The old smoothing parameters have been replaced withsmootherStrength
. - Fixed advanced IMU update frequencies above simulation frequency
The sensor’s timing and smoothing are now indifferent of update frequencies above the simulation’s frequency.
Headless Mode
- Fixed license plates sometimes spamming errors in headless or no-UI mode.
Launcher
- BeamNG.tech builds now include the launcher executable for Windows.
It is preferable to start BeamNG by running the launcher executableBeamNG.tech.exe
, as the launcher adds user path migration logic and tweaks. - You can now keep separate or shared user folders for your BeamNG.drive and BeamNG.tech data
By default, each product will use a different user folder.
If you want BeamNG.tech to reuse the same folder as BeamNG.drive:- Windows users: use: Launcher > Manage User Folder > Move to custom location. There you can pick the BeamNG.drive folder.
- Linux users: edit
~/.local/share/BeamNG/BeamNG.tech.ini
, and modify (or add) the valueuserFolder = BeamNG.drive
(as relative path, if you’re using the default BeamNG.drive path; or an absolute path, if you use a custom BeamNG.drive path).
Linux
- Various bugfixes and improvements for the Linux build.
To see the full list, check the release notes of BeamNG.drive 0.37: https://beamng.com/game/news/patch/beamng-drive-v0-37/#linux
NCAP test
- Successfully completed the Euro NCAP test repository fixes, resolving all critical issues and achieving PASS status across multiple test scenarios, including CCRs, CCRm, CCRb, and CCFTAP.
Matlab/Simulink
- Fix bug when displaying S-function block with position/rotation saved