To check out the highlights of this release, please head over to this devblog.
Vehicles
- REMASTERED VEHICLE: Hirochi Sunburst
- Added New Drivetrain - Flat 4
- The drivetrain of the Sunburst has changed from a transverse inline 4 to a longitudinal flat 4
- Features 1.6, 2.0 and 2.5 liter displacements, with options for factory and aftermarket turbocharging
- Available in FWD, AWD, and RWD options
- Added Wagon bodystyle
- A widely requested wagon body with plenty of room for activities
- Remastered model and textures
- Increased detail and accuracy with all-new textures for body, interior and mechanicals
- Added new configurations
- A wide variety of new configurations, including a generous selection of factory models, and heavily modified versions for racing, drifting and rallying
- Updated JBeam
- Fully refreshed JBeam and physics model, with improved deformation and handling/suspension
- Added new customization parts
- Vastly expanded aftermarket customization options, including body kits, interior, liveries, and more
- Added new and updated existing liveries
- Updated
Custom
,Police Interceptor
,Firwood Police
,Gendarmerie
, andHirochi Rally
liveries - Added
Polizia
,Belasco Police
,Itasha
,Two-Tone
, andBeater
liveries
- Updated
- Added New Drivetrain - Flat 4
- Rally Additions
- Autobello Piccolina
- Fixed instability on front mount oilcooler and tube bumper
- Autobello Stambecco
- Retuned deformation
- Added collision to cargo area
- Bruckell LeGran
- Fixed an issue where the trunk would occasionally fail to open when a spoiler is installed
- Fixed emitter positions for tail light
- Bruckell Moonhawk
- Burnside Special
- Cherrier FCV
- Reduced rear wheel shake when sliding using handbrake
- Prolonged handbrake slides on rally variants of the Vivace could occasionally induce a rear-wheel vibration build up. Damping has now been added to the control arm to mitigate this effect
- Retuned handling of rally configurations
- The asphalt variant received several minor tweaks
- The gravel variant was re-tuned with stiffer springs and a lower ride height for more responsive handling
- Increased rally suspension anti-squat property
- Added
Apex Rally
livery
- Fixed race pedal box clipping with floor
- Fixed headlight flare positions
- Fixed names of engine long block options
- Tweaked behavior of the 1.6 race turbocharger
- Reduced rear wheel shake when sliding using handbrake
- Civetta Scintilla
- Fixed an issue where doors wouldn’t open properly if the windows were rolled down
- ETK 800-Series
- Gavril Barstow
- Gavril Bluebuck
- Gavril D-Series
- Gavril Grand Marshal
- Added new PBR textures for the interior panels and carpet material
- Updated JBeam to improve rear wheel stability
- Gavril H-Series
- Gavril MD-Series
- Fixed front bumper getting stuck in front tires
- Fixed an issue that caused the stock exhaust to become unbreakable
- Updated models and materials for lights on pickup bed
- Improved interior camera to use the cab’s structure for position reference
- This allows the camera to follow the cab’s rotation when cab falls off
- Updated suspension to make break-offs possible
- Added the ability to make frame black rather than colorable
- Added animated steering shaft
- Gavril Roamer
- Reduced bump steer of off-road suspension
- Gavril T-Series
- Moved clutch pedal prop to manual shifter part, in order to remove it from trucks with automatic transmission
- Added the ability to make frame black rather than colorable
- Added animated steering shaft for conventional cab
- Hirochi SBR4
- Added
Folk
livery
- Updated the grille material to make it transparent
- Updated JBeam to better align with the standards set by other vehicles
- Improved engine pipes to make them more realistic
- Fixed numerous 3D model issues
- Added new PBR interior panels and seat textures
- Added
- Ibishu BX-Series
- Fixed issues with the rear bumper that could cause the car to get stuck on it after a crash
- Ibishu Covet
- Retuned handling of
Track
configuration
- Retuned handling of
- Ibishu Hopper
- Ibishu Miramar
- Ibishu Pigeon
- Retuned roof strength
- This was done with the help of the new Roof Crusher Tester prop
- More cars will follow with similar changes in future updates
- Retuned roof strength
- Soliad Lansdale
- Fixed inconsistent mirror prices
- SP Dunekicker
- Added
BlastR
livery
- Added
- Wentward DT40L
- Updated display materials to PBR. This also fixes the wrong display color
- Common
- Improved vehicle police parts
- The halogen light bar has been updated with smooth fading lights which go along with the reworked flash patterns
- It also now has a selectable color slot instead of duplicates with different colors
- The LED flashers and beacon lights on some vehicles now also have selectable colors
- All halogen spotlights and flashers have been updated with the smooth fading pattern (previously only present on the Bruckell Nine police car)
- Visual improvements of vehicle suspensions
- Previously, the majority of our vehicles used to suffer from weird suspension behavior, consisting of parts stretching and clipping with each other upon steering and articulation. This was caused by the suspension JBeam structures having received many changes and improvements through the years, while the visual geometry remained the same, and the two have become desynchronized
- We have fixed this issue on the majority of vehicles in this update, by updating the suspension 3D models to match the JBeam structures
- This change also affects some of the common wheels. This does not affect vehicle handling, but might cause small visual issues with mods
- Added
TorqueJointNodes
to cars with front wheel drive transaxlesTorqueJointNodes
increase the fidelity of torque reactions by simulating the effect of half-shaft joint angles- The feature has existed on the Ibishu Pessima for some time but has now been rolled out to other front wheel drive cars:
- Cherrier Vivace
- Ibishu Covet
- Bruckell LeGran
- Soliad Wendover
- Soliad Lansdale
- Hirochi Sunburst
- The addition causes some subtle changes to torque steer which may be felt with a force feedback wheel
- Cleaned up mixed use of
Tarmac
andAsphalt
terms- Vehicle configuration and parts names now use
Asphalt
exclusively rather than mixing the two terms
- Vehicle configuration and parts names now use
- Added backside to license plates with European format (52-11)
- License plates used to have a mirror version of the front, now it looks more appropriate as the backside is gray
- This was implemented in US format (30-15) in v0.34
- Fixed errors with police lightbar interior triggers
- Fixed several typos in configuration descriptions
- Fixed several JBeam issues with the common ambulance upfit
- Fixed literally unplayable™️ value field in several JBeam files
- Unified part naming
Body Colored
andBodycolored
→Body-Colored
Colourable
→Colorable
- Updated naming of all horns and sirens with more descriptive names (QoL improvement)
- All vehicles now have fully collidable interiors and improved steering column deformation behavior
- Added new generic customizable tow hitch
- Introduced first on the Hopper and Sunburst, will be added to other cars in the future
- Improved vehicle police parts
- Trailers
- Container Trailer
- Improved frame and suspension rigidity
- Tiltdeck Trailer
- Fixed trigger positions on 30ft Gooseneck
- Small Box Utility Trailer
- Improved wall edge collisions
- Tanker Trailer
- Fixed incorrect Kingpin node spacing. Nodes were spaced too far away from the plate surface, causing difficulty coupling to the trailer and excessive trailer roll
- Container Trailer
- Simplified Traffic Cars
- Updated Hirochi Sunburst to the remastered version, with new wagon configs
- Reworked and improved roof deformation on all traffic vehicles
- Updated traffic Gavril D-Series to use new remastered lights
- Fixed deformation on the rear of vehicles with the Cargo Box upfit
- Updated JBeam on Gavril H-Series roof rack for better deformation
- Fixed ETK 800-Series XC drivetrain to match its proper counterpart
- Made the strength of the Gavril Roamer’s body better match its proper counterpart
- Improved deformation on the rear of the Cherrier Vivace to reduce spiking
- Fixed an issue with some traffic vehicles using incorrect horns
Levels
- West Coast, USA
- Implemented numerous updates to roads. These roads and surrounding areas have been improved, rebuilt, or added
- Improved areas
- Added new drift track
- Updated Drag strip area
- Updated Dirt track area
- Improved overall drivability around race tracks
- Improved collisions
- Major updates on collisions in the city area
- Improved collisions on different other structures
- Updated shrubs, pines and oak foliage libraries
- Implemented numerous updates to roads. These roads and surrounding areas have been improved, rebuilt, or added
- Hirochi Raceway
- Added new drag strip area
- Added new drag strip area
- Italy
- Improved foliage libraries
- Added new optimized foliage material
- Improved collision meshes
- Improved LoDs
- Improved imposter settings
- Improved foliage libraries
- Common
- Added new rally-themed static props
- New tents
- Modular fences
- Sensors
- Furniture
- Added new rally-themed static props
Gameplay
- Rally Mode
Rally Mode is currently work in progress and not yet feature-complete.
Your feedback is welcome. Help us improve and shape the future of Rally Mode, by reporting issues and leaving your feedback in the official Rally Mode thread of our forums.- Audio Pacenotes
- Added co-driver voice with initial choice of 2 different voices, both available in English
- Improved on-screen visual pacenotes
- Added 5 new rally stages
- SS Cliffside - A long twisty asphalt route around the mountains of Italy
- SS Orchard Hill - A short asphalt hill climb stage in the hills of Italy
- SS Facility Road - A complex road through the majority of the Automation Test facility, with a few short gravel roads
- SS Backroads - A reimagined classic time trial from the origin of East Coast USA, mixed surface and a real test of skill
- SS Rockwood - A technical and twisty route across Small Island USA
- Added customizable options under Options → Gameplay → Rally Mode
- Voice selection
- Co-driver timing (with keybindings available)
- Three or Five second countdown options
- Enable or disable visual and audio pacenotes
- Improved the stage selector
- Fixed broken ordering
By difficulty
- The stage selector menu now sorts stages by difficulty by default
- Fixed broken ordering
- Audio Pacenotes
- Drag Race System
- Added randomness to the AI reaction time
- Bracket racing lights now are delayed based on the selected dial time
- Staging detection now uses all wheels of the vehicle
- Added new winning lights at the end of the drag race
- Updated the lane naming system. Now it’s numerical instead of left/right based. This allows creating drag races of more than 2 lanes
- Added new Drag Tree Lights App
- General Fixes
- AI will now use 100% throttle. This was preventing AI from activating the NO2
- Fixed disqualification lights not showing when jumping the start
- Added 12 new drag missions to career mode
- Added new Drag Race on Hirochi Raceway
- Freeroam Mode
- 3 New missions
- Sportsman Tree Drag Race
- Pro Tree Drag Race
- Heads Up Drag Race
- Added 7 freeroam drift zones
- Added 4 new zones in Italy
- Added 2 new zones in Utah
- Added 1 new zone in Automation
- Drift System
- Added 2 New Drift UI Apps
- One to show the total score
- One to show information about the current drift
- Added new drift sounds: they directly reflect the scoring system
- Updated the scoring system
- There is now a Tier system. The more points accumulated - the higher the tier
- Combo has been changed. There is now a soft cap at 10x, and a hard cap at 25x
- There are a few more drift events to achieve “precision drifting” and “reverse drift” in
- Tweaked the back-end multipliers such as how much drifting close to a wall accounts for the score earned. Same for drift angle and drift speed
- Implemented new drift statistics in the drift challenges end screen
- Improved the crash detection logic. Now it accounts for G forces on top of vehicle damages
- Added 2 New Drift UI Apps
- Reworked orbit camera dynamic pitching
- Added new dynamic camera pitch for orbit cam based on speed
- If you prefer the old behavior, go to Options →
Camera
→Orbit
and setCamera pitch at speed
to0
- AI Race Challenges
- Improved start position logic for AI race challenges
- Enabled unlimited opponent vehicle amount when editing AI race challenges. This removes the old limit of 9 AI racers
- Added 2 new missions
- Strut Brace Loop
- Garage Gauntlet
- Fixed bus display sign for bus mode
User Interface
- Added new radial menu (replaces the old one)
- New visual appearance and full gamepad support
- Now opens by default with E key or Xbox-Dpad-Up, instead of Esc
- Actions are split between vehicle-related actions and gamemode-related actions
- Actions are further grouped into categories, which can be navigated using the shoulder triggers on gamepad
- Remembers recently used actions for quicker access
- Improved Vehicle Configuration Menu (replaces the old one)
- Part selector tab updates
- New search remade from scratch
- State saving for the game session. Now previously expanded slots will expand automatically when you open part selector or switch between cars
- Further performance improvements
- Updated Tuning tab usability
- Added Debug tab
- Shared visual styling across all tabs
- Various small improvements
- Part selector tab updates
- Improved UI Navigation System
UINav
is a system to control how UI reacts to bindings such as gamepad or wheel buttons- This system now tracks what bindings are in use in the current screen to display them on the bottom bar with an appropriate contextual label
- Various improvements to existing system, such as better scope tracking in some cases
- Added shortcuts to level selector
- Updated the Replay App
- Improved Challenge Start/End Screens
- Start/End screens got another visual upgrade
- Now using a page-system that shows relevant information one after another (can be skipped)
- Improved animations and sounds
- Show missiontype-relevant information (for example timeslip for drag missions)
- Fixes and optimizations
- Improved
BngInput
- Improved
BngSlider
- now it features proper scoping (for gamepad) and has built-in input field and revert button - Improved
BngDropdown
- Remade Tabs from scratch to be more performant and usable
- Added new
BngButton
styles - Fixed multiple translation service bugs and optimized its performance
- Fixed issues with popovers when popup is shown
- Fixed
BngList
issues with scroll-to-index and initial state - Fixed crash in
BngMultilineInput
- Fixed
BngScopedNav
to update function names and removed unused functions - Fixed
BngTooltip
positioning - Fixed
BngSelect
usage in some cases - Implemented deprecated
DOMSubtreeModified
event emulation for AngularJS compatibility - Other various fixes and improvements
- Fixed the mod repository menu claiming that repository issues exist when they don’t
- Improved
- Credits menu
- Added External Contributors section
- Improved visuals and text alignment
- Updated the list with the new names and titles
- Improved official translations
- Updated all translations
- Fixed an issue with incorrect labeling of official translations. Locale identifiers are now mapped to correct language display names
Early Preview: Career Mode
- Career Progression Overhaul
- Overhauled the Progress Screen in the Career Pause Menu. Introduced a new Career Path structure that replaces the old “Branches” system with a more intuitive Career Paths format
- Accessible through the new progress screen, which is now called
Career Paths
, to view your advancement across all Career Mode gameplay - Four Core Career Paths Introduced
- Apex Performance Metrics (APM): The premier test-driving career path — structured, professional vehicle evaluations
- Belasco Motorsports Racing Association (BMRA): All things racing: Time Trials, AI Races, Drag Racing, and the new Drift Series
- Logistics: Formerly delivery gameplay — now a dedicated path for commercial driving and cargo hauling
- Freestyle: The sandbox of skills — includes stunts, Barrel Knocker, police chases, evasions, and more
- Progression & UI Improvements
- Updated Scoring and Rewards screens for better clarity and feedback
- Progress is easier to track, even if gameplay content is still in early development stages
- Career gameplay systems are still under active development. Balancing, progression speed, and challenge content are subject to frequent updates
- Added new
Part Customization
menu - Added new system for evaluating and classifying vehicle performance
- Introducing our new Performance Index (PI) system that automatically rates your vehicle based on acceleration, speed, power, and basic handling factors
- Enables class-based AI opponents and race entry requirements
- Greatly improves race balancing compared to the previous “fixed car vs fixed opponents” system
- The test will be enhanced in the future to include a handling test
- Currently career-mode exclusive (not available in freeroam)
- Enjoy upgrading!
- Implemented procedural vehicle groups
- Added procedural vehicle groups by performance class for AI races (work in progress)
- Opponent vehicles will be matched to the player vehicle according to performance class
- Updated Dollies to not use up inventory space anymore
- Fixed an issue where parts could be broken after restarting a mission
- Fixed an issue where the vehicle could still show as “damaged” after a repair
Input and Force Feedback
- Tweaked force feedback strength and smoothing for many steering wheels
- This affects mostly Logitech and Moza configuration presets, making them more consistent with each other across the board
- If you have already customized FFB to your liking in the past, then these changes don’t affect you and you don’t need to do anything. However, if you want to discard your changes and give these new settings a try, you can reset your controls back to our defaults at any time, and redo any possible customizations you had (such as max lock angles and others)
- Added input mapping for Madcatz M.2.X pro
- The force feedback
Strengh
slider range has been halved (from 1000 to 500)- All official vehicles are consistently tuned to avoid ‘clipping’ under normal driving conditions with values of around 300-500. Using higher strength values means you’ll suffer clipping, losing detail, and being more prone to suffer unwanted oscillations and vibrations
- If any mod vehicle you use has too low force feedback with the new values, please use vehicle-specific force feedback coefficients to compensate and bringing it back to reasonable levels: you can either use the vehicle-specific modifier in Tuning menu, or you can contact the mod author for a global fix that will benefit all users
- Extremely minor improvement in input latency. Will be unnoticeable in most cases, but every bit counts
- Fixed directional-pad buttons not registering their first button press after the gamepad/wheel/joystick was connected (this bug affected all devices except Xbox-compatible controllers)
- Better handling of excessive input events coming from a connected controller. Should not affect normal operation, only loading screens and alike
- Fix for input devices with a trailing number
Vehicle Systems
- Implemented new Anti-Lag system
- Bypass type Anti-Lag inspired by rally vehicles
- Novel approach for sounds, anti-lag pops and bangs are part of the FMOD event for better integration
- Automatic arm/disarm based on userinputs
- Added completely new CVT logic
- Now based on a throttle to target RPM mapping
- Torque converter locking is now automatic based on user inputs
- Implemented CVT S mode with fixed gear ratio emulation
- Usually outperforms other multi-gear transmission types at the cost of driving joy
- Driving Dynamics
- Added support for actively locking center differential with driving dynamics setup
- Fixed some driving dynamics data points not resetting correctly after a vehicle instability
- Increased allowed roll/pitch values in driving dynamics before trust falloff starts
- Fixed incorrect roll/pitch values in driving dynamics math
- Custom Electrics
- Implemented custom electrics default values and reset ability
- Enabled the use of custom electrics across multiple parts
- Implemented support for custom electrics values that do not update on their own, but have a default value and reset
- Powertrain
- Improved support for roughly idling vehicles
- Added
viscousExponent
to viscous differential simulation, it allows a non linear increase in torque in relation to rotational speed difference - Implemented rally inspired active center differential controls
- Added API to retrieve powered wheels from powertrain
- Improved manual and sequential transmission clutch behavior in neutral gear
- Controller
- Added ability to use a custom input electric for the lightbar controller
- Fixed post-crash-brake not resetting correctly when continuing to drive after an event
- Implemented functionality to disable cruise control after a post-crash-brake event
- Fixed dual axis lever shifter animation not working correctly with no transmission installed
- Fixed handling of explicitly defined colors when applying aged colors
- Fixed gradient lights color override not working from JBeam
- Made radial menu entries content support dependent
- Implemented support for torsionbars to break breakgroups
- Recalibrated caster measurement to be relative to the ground plane rather than the chassis plane
Launcher
- Revamped the
Manage User Folder
menus- Making them more intuitive to navigate even if the functionality is the same
- Added an option to free up storage space from old backups
- Available under
Manage User Folder
→Manage old versions and backups
- Here you can easily locate, check the size, and delete folders from old versions you no longer need
- It also shows basic categories of their files (caches/replays/mods/others) and how much space they are using up
- This menu is work in progress, and will continue being improved in future updates
- Available under
- Making them more intuitive to navigate even if the functionality is the same
- Updated Clear Cache menus
- Updated file locations
- Performing a Cache Clean will now leave the old files in a different place
- Now they will be placed in
userfolder/0.35_backup_datetime/*
instead ofuserfolder/0.35/backups/version/datetime/*
- Cache cleaning will no longer leave empty folders behind, it will remove them instead
- Updated file locations
- Added or replaced icons in several menus, to improve their looks as much as is technically possible given the constraints they suffer
- Added detection of unsupported Windows versions
- We do not prevent you from attempting to run in old unsupported versions of Windows
- But if you do, and then the application crashes, some basic heuristics will try to determine if the crash happened due to the Windows version. It’ll then display a dedicated informational dialog
- The goal is merely to inform unsuspecting users that might not yet be aware that support for old Windows is discontinued
- Fixed several submenus triggering a sound that feels like an error
- Improved logging
- Log files are no longer deleted by cache cleanups
- Cache cleaning (either deep or normal clean) will leave the log files untouched, since they don’t affect the stability of the application
- Keeping the log files means they can be included as part of support reports. This way, our Support Team has more information at their disposal if you reach out for help
- Implemented more frequent writing of the log file and improved logs, to help solve issues if the launcher itself were to crash
- Fixed the launcher log file being left behind when you move the userfolder location (due to being in active use by the Launcher)
- Log files are no longer deleted by cache cleanups
- Implemented slightly better detection of failures to launch the simulator
- Fixed several cases where the launcher would show an interactive dialog, even if the non-interactive command line argument is provided. This helps with automated testing and other use cases
- Various Launcher operations were ignoring files if their name started with a dot; this has been fixed, so they will now be treated the same as any other file
- Removed support for
-clearSetting
and-clear
command line arguments. They were dangerous features and not too useful in practice - Fixed crashes that happened in some cases if the Launcher was unable to write to its log file
- User folder migrations (which happen after a major update) will no longer create a shortcut file in the old folder, as part of cleanup efforts
- Fixed launcher crashing
- Launcher would refuse to start if it could not open its log file. Would result in
beamng://
links to not work the first try
- Launcher would refuse to start if it could not open its log file. Would result in
Audio
We are in the process of rebalancing powertrain volumes at the moment and some vehicles may sound unbalanced.
- Added new UI sounds
- Added new engine starter/shutoff sounds
- Improved ambient sounds
- Improved RAM footprint
- Fixed traffic surface sounds cutting in and out
- Added new powertrain audio for modified/race flat 4 engines
- Added new powertrain audio for modified i4 BX
- Added anti-lag audio for rally Vivace and Sunburst
- Fixed the vehicle cockpit filtering not always working as expected, missing completely in some cases
Game Engine
- Implemented customization for framerate limiter
- Fixed a crash when opening some corrupted or empty replays
- Fixed a rare corner-case scenario where crash reports were not correctly generated nor uploaded
- Added informational logs when the crash detection and reporting system is unable to initialize correctly
- Updated LuaJIT, assimp, and CEF libraries
- Fixed a category of language-specific crashes
- When using an incorrectly crafted translation of user interface messages, the application might crash to desktop. The translation system is now robust to these mistakes
- For example, if a label referenced 3 numbers in English language, but some translation is referencing 4 numbers due to a human mistake, then in some rare cases, the application could crash for users of that particular language
- Added a
-nosfx
command-line option to force a dummy audio output (no sound) - Improved profiler
- Cleanup: deprecated
core/performance
, replaced by proper profiling macros - Fixed wrong push/pops
- Added name to
profilerPopEvent
function calls - Added
-profileVehicleLoading
to generate simple profiling report for vehicle spawning. Seevehicle_spawn.html
- Added
-startupProfiling
, seelevel_loading.html
- Improved performance in shipping builds to not jump to C all the time
- Added
lustach
- lua template library - to easily work with HTML templates
- Cleanup: deprecated
- Added command line argument
-noui
- skipping the loading screen and creating any HTML UI - Fixed a crash in websocket when only using websocket. Added guard against invalid protocol access:
BNGWebWSServer.getOrCreate
- Fixed memory leak when switching vehicles
- Improved cache for collada files (
.dae
): more resilient against errors, better caching, prevents duplicate entries - Significantly improved vehicle loading time
- The system now uses the new and optimized file format for the
.cdae
files. See documentation for further details. - This file format caches some of the data that was previously calculated upon loading, resulting in reduced loading times (i.e. tangents)
- It also utilizes compression for large files, which further improves the loading speed
- Optimized vehicle loading by properly caching the meshes. This decreases lag during parts changing
- Optimized importing of raw collada files. It should be faster now, and large files should finish quicker
- Implemented better catching of errors during vehicle loading
- Improved and optimized resource management of meshes throughout the game engine
- The system now uses the new and optimized file format for the
- Improved log messages
- No more strange names in them
- Shorter and more precise
- Fixed some log spam
- Improved mesh loading
- Replaced
mesh.cs
file with the newmesh.dae.asset.json
file to describe the Mesh’s meta data mesh.cs
files are still supported for backward compatibility but should not be used anymore
- Replaced
Rendering
- Vulkan stability improvements
Vehicle AI & Traffic
- Improved Lane Change behavior
- Enhanced calculation of exit point distance for lane change maneuvers during highway exits
- Improved other vehicles awareness performances
- Reduced false positive for other vehicles awareness
- Awareness of other vehicles has been refined, prioritizing those that pose a higher risk from a traffic and safety perspective
- Added vertical curvature consideration for velocity profile calculation
- The road’s vertical curvature has been considered when planning the speed profile
- This should help to minimize aggressive driving behavior that could cause the wheels to lose contact with the road
- Improved the performances of velocity profile calculation
- Improved brake and throttle control logic
- Improved road geometry awareness
- Improved side to side collision avoidance for competitive driving
- Improved trajectory planning for competitive driving
- Implemented Lane Change aborting
- Lane change maneuvers have been improved by enabling their cancellation during highway exits and at non-T intersections if side vehicles are detected that could obstruct the intended path
- Tweaked traffic vehicle respawning logic
- The system now uses player vehicle position and rotation more often than the camera position and rotation
- Tweaked police pursuit values
- The pursuit offense
Reckless Driving
should be easier to trigger - Made slight changes for police visibility value
- The pursuit offense
- Fixed issues with the police siren at the start of pursuits
- Changed default parking spot probability for parked cars
- This means that parked cars get more scattered by default, opening up spaces in smaller parking lots
- Added custom police vehicle group for Italy map
Physics
- Fixed physics core’s rotation API orthonormalization to be the same as game engine’s one
- Changed collision recording to only record
lastCollisionIds
for the main vehicle node clusters - Fixed nodegrabber applying excessive forces when in extreme slow motion
- Reduced deformation trigger Lua call overhead
- Added guards in
obj:getAirflowSpeed
andobj:getGroundSpeed
APIs to avoid numerical NaN proliferation - Fixed intervehicle couplers blowing up when passing through soft materials (e.g. shrubs, mud)
- Improved vehicle spawning: ability to spawn the vehicle without physics
World Editor
- Flowgraph Editor
- Moved the Clear button from the menu bar to the state properties window. This can prevent accidentally clearing the active graph in the editor
- Improved Examples
- Fixed typos and logic issues in the existing examples
- Added new example scenario: Simple Race
- Fixed issues from
Set Variable
andGet Variable
nodes- In some cases, these nodes would get stuck with errors while using the editor
- Cleaned up names, descriptions, and data for various nodes
- Removed the requirement to have vehicle spawned to play a path cam
- Fixed trajectory id clash in the Script AI Editor
- This issue was occasionally causing Script AI trajectories to get overwritten by newly recorded ones
- Fixed a rare bug where the initial vehicle rotation was wrong in the Script AI Editor
- This would occasionally cause the vehicle to start out backwards or under the terrain
- Traffic Manager
- Reordered the vehicles options as ‘standard’, ‘simple’, then ‘parked’
- Updated the wording on the (non-drivable) props to:
The object is currently undrivable
- Fixed an issue with loading script AI .json file: On Vehicle Manager - Script AI mode - Parameters
- Race Editor
- Added Simple Drag mode for easy moving of Pathnodes with terrain snap
- Added tools for recalculating Segments, cleanly renaming Pathnodes and Segments, and calculating distance
- Rally Editor
- Improved pacenote editing and stability
- Supports the following types of Audio Mode:
- Voicepack - Audio files of possible pacenotes, shared across missions
- Mission-specific (audio files must be provided by user)
- Structured - Pacenote text generated automatically
- Freeform - Write any text for pacenotes
- Custom - Associate any audio file with the pacenote
- Allows per-pacenote overriding of Audio Mode
- Added AI-route based Driveline Mode
- Improved co-driver management
- Added Slow Corner designation that causes pacenote playback to delay until the slow corner is passed
- Fixed the ‘ALL’ button of Asset Browser searching in the current level’s folder, rather than searching all folders
Modding
- Building Architect tool
- A new procedural tool to generate and modify buildings working directly in World Editor
The Building Architect tool is now available to the community for initial testing and feedback. Please be aware of the following limitations in this release:
- Save the work: Buildings created using BAT are not saved using the World Editor save action. Users need to use the Save button in the tool window to retain their work and Load button to call back the project. Alternatively user can use the export button to save the mesh as a Collada (.dae) file. (More info can be found in the public documentation)
- External Optimization Required: For modders that wants to use the buildings created with Building Architect exported buildings need to be optimized outside the game using 3D modeling software (e.g., Blender).
Your feedback is invaluable in helping us enhance the tool for future releases!
- A new procedural tool to generate and modify buildings working directly in World Editor
- Biome tool has been updated with new features
- Introducing the live lasso update that give user the chance to move the lasso area points and see the placed forest object updated live
- Place Field: user can create a very specific forest objects arrangement mimicking a field with proper setup values
- Place Edges: a mask/lasso area driven by procedural method for automatic edges placement
- Added New Roof Crusher Tester prop - for modders
- This prop is used to replicate the IIHS vehicle roof strength test in order to achieve realistic roof deformation on vehicles
- Usage
tutorial is available in the documentation
- Added a new collision density visualizer
- The ground model debug tools now include a way to easily view the geometry density of static collision triangles. This is related to physics collisions, and not to the graphics detail of visuals
- Using excessive triangle detail in the physics engine, together with vehicles that are moving in the general surrounding areas, can lead to a massive loss of framerate
- This tool helps modders who want to work on optimizing their maps: you can more easily locate areas where you might be exceeding reasonable amounts of coltris, and then act accordingly (switch from visual mesh to dedicated physics mesh, disable collision entirely if unneeded, etc)
- JBeam workflow change: Support beam breakGroups
- We have implemented a change to support beams on official vehicles and we encourage modders to do the same on their mods. The change is not visible to casual players, but it’s important for correct cluster behavior, which will be vital for future gameplay
- Support beams on vehicle body panels now use their own
breakGroups
, in order to break at the same time. This only affects parts that can commonly fall off without immobilizing the vehicle - wheels, engines and other driveline parts are not affected - This change requires retuning the
longBound
parameter of the support beams. The value needs to be big enough for the beams to not break while the part is still attached, but small enough for the beams to be broken as soon as it has fallen off to the ground. To help with the tuning, we have added a new beam debug mode: “Support Only”, which will only show support beams, and only if they are not broken. This way you can precisely see the point when they break - The image below demonstrates the degree of extension the support beams should survive before breaking. This also applies to connections between multiple parts, you might have to set different
breakGroups
for their support beams. Beams of hinged parts should survive for as long as the part can physically rotate
- Improved vehicle detail viewer usability.
F11 > Experimental > Vehicle Detail Viewer
Linux
- Added the
beamng://
URL scheme support- To use, you will need to install the desktop entry by running the
BinLinux/BeamNG_install_desktop_file.sh
script
- To use, you will need to install the desktop entry by running the
Run Physics Benchmark
is now functional on Linux- Added BeamNG application icon
- Should work out of the box on Ubuntu, for other distributions you may install the desktop entry first
- Added a workaround to deal with AppArmor limitations and CEF on Ubuntu 23.10 and higher
- If BeamNG crashes for you at startup, you may run
BinLinux/BeamNG_add_apparmor_profile.sh
to install the profile
- If BeamNG crashes for you at startup, you may run
- Updated SDL2
- Improved presentation of SDL2 initialization errors (more information is shown)
- Fixed free-standing imgui windows input when the main simulator windows was out of focus
- Fixed a crash while running as root (strongly recommended not to do that). The CEF sandbox has to be disabled in this case
- Fixed
Engine.Platform.exploreFolder
in Lua - Fixed a security issue in LuaJIT
- Fixed CEF crash on Johnson Valley (and possibly other large maps)
JBeam
- Added more JBeam node transformation features
- Added
nodeRotate##
, allowing you to rotate a node position around a defined point, and even flexmeshes and props- Parameters:
##
- Number (0-99) that specifies the order of application (optional)x
- Rotation around X axis in degreesy
- Rotation around Y axis in degreesz
- Rotation around Z axis in degreespx
- X-coordinate of pivot point (optional)py
- Y-coordinate of pivot point (optional)pz
- Z-coordinate of pivot point (optional)
- If no pivot point is defined, the rotation is done around the origin
- e.g.
"nodeRotate1":{"x":-45, "y":0, "z":0},
- e.g.
"nodeRotate2":{"x":-45, "y":0, "z":0, "px":0, "py":0, "pz":0.7},
- e.g.
- Parameters:
- Added the ability to specify the order of node transformations of
nodeRotate##
,nodeOffset##
, andnodeMove##
by specifying a numeric suffix- Number from 0-99
- Order of node transformations with the same suffix is:
nodeRotate##
,nodeOffset##
,nodeMove##
- No number specified has the same order as 0
- e.g.
"nodeRotate1": {"x": 0, "y": 0, "z": 45}
- e.g.
"nodeMove2": {"x": 0, "y": 0, "z": 0.2},
- e.g.
"nodeOffset3": {"x": 0.1, "y": 0, "z":0},
- e.g.
"nodeRotate4": {"x": 5, "y": 0, "z": 0}
- e.g.
- Node transformations are intrinsic, meaning that translations and rotations apply around the axes of the previously transformed frame. For example:
- a
"nodeRotate1": {"x": 0, "y": 0, "z": 45}
would rotate the frame around it’s Z axis by 45 degrees - a subsequent
"nodeRotate2": {"x": 15, "y": 0, "z": 0}
would rotate the newly oriented frame around it’s X axis by 15 degrees
- a
- Added
- Wheel Debug Info improvements
- Camber and caster measurements are now done relative to the surface the vehicle is on, instead of in the past being relative to the vehicle’s ref nodes
- JBeam debug visualization fixes
- Fixed an error when visualizing vehicles w/o rails/slidenodes
- Prevent calling nil function
bdebug.recieveViewportSize()
whenbdebugImpl.lua
module is not loaded in that was producing errors - Fixed most visualizations being 1 frame behind
- Major rework of the ability to spawn, save and load the same part into different slots
- This will allow us to clean the wheels chaos in the future
- The parts are now saved with the path in the tree structure for the
.pc
files if we detect an overlap - Vehicle construction now happens in two steps: this allows us to not spawn the physics for a while when the user is doing quick changes on the parts. See
core_vehicle_manager.autoSpawnPhysics
- Fixed vehicle flying to infinity when a spawning error occurred
Lua API
- Added cached
getObjectByID
- Added a cached version of
getObjectByID
, similar togetPlayerVehicle
- Prefer to use this over
be:getObjectByID
- this will reduce the workload that your mod creates for the LUA garbage collector, which means your mods will generate less stutter in framerate
- Added a cached version of
- Added
crashDetection
Lua API, and related Flowgraph nodescrashDetection.lua
enables user to track multiple vehicle for crash detection- Using this new extension, 5 new Flowgraph nodes have been added, search for
crash
when looking for a new node in Flowgraph
- Fixed an issue with “Relative” camera where it could ignore the first
setOffset
andsetRotation
calls - Renamed
vehiclePoolingManager
module tovehicleActivePooling
- Breaking changes related to JBeam
- JBeam field
partOrigin
is now deprecated and will be removed in a future update, please usepartPath
insteadpartPath
format:"/slot/slot/.../part"
- e.g.
node.partOrigin
→node.partPath
core_vehicle_manager.getVehicleData(vid).vdata.activeParts
has been renamed tocore_vehicle_manager.getVehicleData(vid).vdata.activePartsData
- Key:
partOrigin
(format:"part"
) - Value: Part data structure
- Key:
core_vehicle_manager.getVehicleData(vid).vdata.activeParts
now is a table of:- Key:
partPath
(format:"/slot/slot/.../part"
) - Value:
partOrigin
(format:"part"
)
- Key:
core_vehicle_manager.getVehicleData(vid).chosenParts
andcore_vehicle_manager.getVehicleData(vid).config.parts
has been replaced withcore_vehicle_manager.getVehicleData(vid).config.partsTree
- Each node in the tree contains:
id
(slot id)path
(format:"/slot/slot/slot/"
)suitablePartNames
(array of part names allowed to be inserted)unsuitablePartNames
(array of part names that are in the slot’sallowTypes
but also in thedenyTypes
chosenPartName
(if part equipped)children
(table of the equipped part’s slots, nil if it has no slots)partPath
(format:"/slot/slot/.../part"
)
- Each node in the tree contains:
- JBeam field
- Added
obj:getAbsNodePosition(nodeId)
to vehicle lua. It returns the absolute position of a node - Added
onSetClusterPosRelRot
vehicle main.lua hook. It can be used to take actions whenever a vehicle is moved or rotated - Added Lua functions
median3
,median4
,median5
which calculate medians of 3,4,5 in a branchless way - Added Lua functions
pointBB2d
andlineBB2d
. They return an axis aligned bounding box of a point and line - Fixed Lua encoding of negative infinity of function
jsonEncode
- Added Lua function
triangleClosestPointUV
which returns the barycentric coordinates of the closest point on a triangle of a given point