To check out the highlights of this release, please head over to this devblog.
Vehicles
- VEHICLE REMAKE - Gavril T-Series
- 48 possible frame configurations
- Several different cabs including new cab-over variants and larger sleepers for conventional cab
- New walking beam tandem rear suspension
- Air brakes simulation
- Added an early model to the lineup with round headlights and no front brakes (on some configurations)
- Extended lengths of rollback, cargo box, and flat bed upfits to be more realistic for a class 8 truck
- Improved fifth wheel with a realistic coupling system and new sliding and tilt lock functions
- Reworked all upfits besides the cement mixer (which is still available under parts and will be returning as a remastered upfit in future updates, see a WIP screenshot here)
- As part of this remaster, we’re also adding a preview of the physical mirrors, currently available only on T-Series
- Remastered Ram Plow mesh and textures
- NEW TRAILER: Container Trailer
- Extendable chassis with a scissor wire system and a pneumatic locker, customizable in real time or in Tuning menu
- Ability to attach and detach containers in real time, the same way you attach trailers to cars
- Diverse load configurations
- Short 20ft variant, fitted with a fifth wheel to pull another trailer behind
- Long 40ft variant, which allows the transport of containers in 3 different configurations, adaptable in real time or in parts selector
- NEW TRAILER: Frameless Dump Trailer
- A 45ft square box end dump semi trailer, with a unique frameless design popular in North America due to its low weight
- Available with multiple axle configurations, from standard and wide spread 2 axles to a 3 axle variant
- Autobello Piccolina
- Fixed wrong location of horn slot on Autobuggy
- Fixed the vehicle not working with the GLTF Exporter
- Bruckell Bastion
- Fixed trunk third brake light still emitting light after being broken
- Cherrier FCV
- Fixed steering wheel hub misalignment on panoramic roof custom race interior on Vivace
- Civetta Bolide
- Fixed rearmost race differential and adjustable rearmost race final drive on the 6 wheel frame not working correctly
- Fixed some of the rearmost tires on 6 wheel frame not working correctly
- ETK 800-Series
- Fixed capitalization in some configuration descriptions
- Changed rear suspension geometry and retuned handling
- ETK I-Series
- Fixed misaligned triggers on front door handles
- ETK K-Series
- Changed rear suspension geometry and retuned handling
- Gavril Bluebuck
- Fixed the car imploding with certain parts combinations
- Gavril H-Series
- Fixed late left headlight flare being offset too much
- Fixed dually wheels still powered after breaking off
- Gavril Roamer
- Fixed police radar clipping through windshield on Sheriff config
- SP Rockbasher
- Fixed duplicate rear driveshaft slot
- Fixed the vehicle not working with the GLTF Exporter
- Trailers
- New Trailer Dolly
- Converter dolly equipped with a fifth wheel, attachable to pintle hitches on the Gavril T-Series and trailers
- Every semi trailer can be equipped with a pintle hitch, which provides the ability of creating long road trains
- Available in a single axle variant with a fixed tongue and a tandem axle variant with a drop-down tongue
- Dry Van Trailer
- Reduced trailer and load weights to realistic values
- Loads now use a generic box texture unless TastiCola livery is applied
- Added new length variants: extended 52ft and compact single axle 28ft
- Changed position of kingpin plate to prevent the front wall from clipping with cabs of short trucks, and improved its collision
- Bogie position can now be adjusted in real time
- Added new spread axle bogie with the axle spacing adjustable in Tuning menu
- Updated lights
- Updated trailer legs
- Renamed “Beam Industries” skin to “Fink Industries” for consistency with the Soliad Wendover configuration
- Reworked configurations
- Added pintle hitch option
- Tanker Trailer
- Reworked suspension
- Updated lights
- Improved kingpin plate collision
- Added pintle hitch option
- Shipping Container
- Rotated by 180 degrees for easier loading on the container trailer
- Reworked door locks
- Added a gooseneck hump at the front half, allowing the container to be loaded on the container trailer without clipping
- Added 20ft variant
- Added 20ft tank container variant, features openable lids and multiple liquid load options
- Added container couplers, allowing horizontal and vertical stacking of containers the same way you attach them to the trailer
- New Trailer Dolly
- Common
- Added various Cargo Load Box options to all the street cars, roof bars, D-series and H-series, trailers, and shipping container
- Simplified traffic cars
- Reworked file and slot system to make it easier to add more simplified cars in the future
- Improved deformation on head-on collisions
- Fixed several issues with invisible parts on some cars
- Improved optimization
Levels
- West Coast, USA
- Added new fuel station location
- Added dynamic fuel price displays
- Added 20ft shipping container variants
- Improved minimap to display out of bounds areas
- Improved minimap to show where the playable area ends
- Updated cement batch factory area
- Updated trailer storage parking
- Added tank container static mesh
- Updated dock area around the train station
- Updated industrial port cranes
- Updated Trilobite fuel station
- Improved sidewalks in port area
- Added commercial garage
- Updated police station building
BEFORE
AFTER
BEFORE
AFTER
BEFORE
AFTER
BEFORE
AFTER
BEFORE
AFTER
- Common
- Fixed different bugs in West Coast, East Coast, Hirochi, and GridmapV2
- Updated different materials
Gameplay
- You can now use vehicle triggers (such as door handles, etc.) of any vehicle without having to leave the current vehicle. For example, you can operate triggers on trailers without leaving the truck they are attached to
- Fixed potentially broken vehicle triggers when reloading LUA with Ctrl+L
Missions
- New Missions:
- Portside Slide, Spearleaf Loop, Stolen Steel, Gas Runner, Gear Split Climb and Manji Mountain on West Coast USA
- Cafe Supplies on Automation Test Track
- Shipment Shunter on Industrial
- Abseiling Fuel on Italy
- Desert Driver on Utah
- Mission system changes:
- Changed format of the vehicle setup module; now, multiple preset vehicles can be assigned and used as the vehicle selection for challenges
- Mission start screen changes:
- Players can’t start a challenge on foot anymore
- To use your own vehicle in a challenge, it must now be repaired if it is damaged. Options are given to the player during the mission introduction screen. Repairing then will count as a “repair claim” to the corresponding insurance policy
- Updated the barrels’ faces textures
Scenarios
- Added timers and fixed minor issues in many older scenarios
- Overhauled scenario: Speedy Scramble; now it uses the Collection mission type
Early Preview: Career Mode
- Added Insurance system to career mode:
- Added multiple insurance policies to cover different types of vehicles (Daily driver, Prestige, Commercial)
- Just like real life, you can customize the coverage of each policy, changing their respective “premium” (an amount of money the player has to pay every X kms to renew their insurance policy)
- Repair time: changing this perk will change how long the player has to wait for their vehicle to be repaired
- Apply paint when repairing: Choosing “no” will mean repaired-parts won’t be painted to their original color during repairs
- Deductible: The amount of money the player has to pay when repairing their vehicle
- Roadside assistance: Having it set to “yes” will make any roadside assistance free such as towing your vehicle to a garage or the road, or flipping it
- Renewal distance: How often the player will have to renew their policy
- The player has to own the corresponding insurance of a vehicle in order to drive it
- The player is made aware of what insurance policy is necessary to own when buying a new vehicle in order to drive it. However they can still buy the vehicle if they decide not to buy the insurance policy
- The player has a “Policy score” attached to each insurance policy. This number is supposed to be a representation of how good of a driver they are. This number directly influence the premium such as:
actualPremium = premium * policyScore
. So the lower the policy score the better- The policy score is negatively affected by the repair claims, and if the player doesn’t submit any repair claim to the insurance for a while, the insurance will lower this number by a certain amount
- Because of a lack of “driving technique course” challenge (to prove to your insurance that you’re a good driver), a button will appear within an insurance policy card if the player’s policy score exceeds 1.15 prompting the player to reset the score for some bonus stars
- Just like real life, if the player is a good driver (i.e. hasn’t submitted repair claim for a while), the insurance policy will reward them with two things:
- Repair forgiveness (not stackable): allows the player to repair their vehicle using one of the insurance-involving repair options, without increasing their policy score
- Reduce their policy score by some amount. Their policy score can never be below 1
- Just like real life, you can customize the coverage of each policy, changing their respective “premium” (an amount of money the player has to pay every X kms to renew their insurance policy)
- Repairing your vehicles now happens through the insurance system. Multiple repair options are available:
- Quick repair (Instant), Standard repair (10 minutes): They count as a “Repair claim”, involves your insurance
- Private repair (Repair time will increase with the extent of the damages): Supposed to be like repairing your car on your own, won’t involve your insurance
- Added an “Insurance history” in the computer, which lists all of the insurance-related events, along with their effect (money loss, policy score decreased etc.)
- Added multiple insurance policies to cover different types of vehicles (Daily driver, Prestige, Commercial)
- Added Delivery Mode to career:
- Pick up and deliver cargo from one place to another to earn money
- Lots of cargo from small mechanical parts to complete engines and industrial wares
- Install cargo containers of various sizes in your vehicles to transport the cargo
- Cargo in your car will have realistic weight
- Unlock new Facilities to deliver from and to
- Some cargo has a time limit or needs to be handled carefully
- Fueling UI will now show local units for the map, for example gallons
- Added Painting menu in the garage computer
- Vehicle paints will now look faded based on mileage
- More finetuned dealerships inventories
- Added options for the recovery prompt when taxiing or towing
- Repaired parts and new parts will have primered colors now
- Added repair button for the current vehicle to the computer menu
- Added ability to select one of the vehicles in the garage to work on
- Various changes and fixes to many UI screens
UI
-
Optimized the Vehicle Selector UI, it can now open up to 3 times as fast as in previous versions (your mileage will vary)
-
Fixed crash to desktop in some rare cases when CEF UI system was initialized earlier than LUA system
-
Fixed vehicle selector menu profiling data not showing the entire UI load time in logs
-
Fixed the Vehicle Config > Parts menu incorrectly showing empty fields when simplified vehicles (or other auxiliary content) were spawned
-
Fixed the Vehicle Config > Parts menu never displaying auxiliary content (regardless of the checkbox) if it was located at the top level of the parts tree
-
Updated game credits
-
Updated official translations
-
Overview Map
- Route previews will now be rendered on top of set routes
-
Vehicle Config Tools (Vehicle Config UI + bdebug.lua)
- Parts
- Fixed “Reset” button and now resets parts to config loaded in
- Tuning
- Save and Load Config
- Fixed spawning saved configs
- Fixed UI spamming errors when player vehicle doesn’t have any configs
- Debug
- Added Node Text: “Groups” debug mode and “Debug Spawn” toggle button (reload vehicle after toggling it and currently only used to make Node Text: “Groups” visualization work)
- Added “Show Only Selected Part Mesh” checkbox to allow toggling between showing only selected mesh and full vehicle
- Added 3 torsion bar visualization modes: “without broken”, “with broken”, “broken only”
- Added rails + slidenodes visualization debug modes
- Added “forces” node text mode
- Added “relative node position” and “world node position” node text debug mode
- Node text visualization modes now handle overlapping text by merging them together
- Now reporting all beams deformed, plus turning on “broken” or “deformed” beams debug mode will report beams broken or deformed before
- Vehicle debugging file
bdebug.lua
loaded only on enabling debugging visualizations for vehicle loading and memory optimization
- Parts
-
NEW EXPERIMENTAL FEATURE: Dynamic Decals
We’ve added an early preview of the Dynamic Decals system, with the following features:
- Create layers (fill/decal/group)
- Edit layers
- Hide/Show layer
- Highlight layer
- Move layer
- Delete Layer
- Initial controller support
- Hotkeys for configuring decal settings
- Change camera views
- History (Undo/Redo)
- Save decal layers to file
- Load save file
Please note that this is only an experimental, early preview. Should you encounter any issues or if you have suggestions or feedback, please share them in this forum thread.
Powertrain
- Implemented simulation of linear actuators
- Electric motors can now deal with negative throttle values for easier control if needed
- Fixed electric battery not correctly restoring its charge from saves
- Implemented hydraulics syncing across multiple vehicles
- Implemented compressor device for compressing gases like air
- Exposed manual gearbox synchronizer settings to JBeam
- Implemented more flexible handling of connections to other devices from the combustion engine
- Fixed energy storages not supporting multiple break beams
- Added support for having a single beam break multiple powertrain devices
Vehicle Systems
- Implemented compression brake support
- Implemented realistic fifth wheel coupling
- Implemented pneumatic simulation including:
- Air compressor
- Air tanks on trucks and trailers
- Air operated brakes
- Actuators connected to the air system
- Implemented support for paints and paint aging in career
- Fixed props not correctly initializing if no control value for them is available
- Automatic hydraulics idle raise will now wait for the idle to actually raise before actuating the controls
- Added support for hidden JBeam variables that are not displayed in the UI
AI & Traffic
- Improved lane awareness
- Improved traffic path planning. It will take into consideration the previous path traversed to avoid taking a path which would have been the natural continuation of the previous one. Example: getting off and on again on a main road
- Navigation Graph
- Added an auto-junction option for AI roads. Enabled by default. When disabled a road will only connect to other roads at its end points
- AI vehicles will do U-turns a bit faster if they have higher aggression
Input and Force Feedback
- We have finally decided to deprecate the I key, in favor of leaving only the R key, to free up as many keys as possible
NOTE:
For the estimated 7% of you who used the I key, you can reassign the old key, or adapt to the R key, or use the more advanced Ins key functionality. We understand that relearning this key may be a bit of a pain, or in some cases lrterally unplayable™; but we hope you understand the need to free up duplicated keys.
- Also deprecated the Alt+R and Alt+Shift+R replay keys, in favor of leaving only the F2 and Shift+F2 keys, to free up as many keys as possible. You can re-assign the old combination if wanted, although in many cases it does not work due to third party software hijacking that same key combo
- Improved how we handle input devices that are connected/disconnected while the simulator is running, avoiding unnecessary hiccups at times, and adding more useful information in logs, to identify misbehaving USB devices and buggy USB drivers
- Fixed typo in the title of a menu-related binding
Audio
- Added a new warning log when attempting to use an audio device that is currently controlled with exclusivity by a different program in your computer (for example, if you were running VoiceMeeter, but you attempted to use the audio device directly instead of using VoiceMeeter)
- Added new 14.9 liter i6 diesel I.C.E. sound - muffling is only EQ and volume changes
- Added new compression brake for T-Series. This is part of the 14.9L exhaust and not a separate sound event
- Added new UI sounds for career and missions
- Added new sounds for the remastered T-Series
- Added dedicated cylinder movement sound event to hydraulic cylinder
- Implemented support for tuning tire sound volumes per tire
- Implemented air compressor sounds
- Improved voice management and memory footprint
- Improved sounds for bus thrusters
- Improved sounds for T-Series Dump Bed Upfit
- Fixed a potential crash to desktop when the current audio device cannot be used, and improved the relevant error logs for easier troubleshooting
- Fixed JATO sound clicks
Game Engine
- Reduced VRAM usage when using Vulkan by 1GB
- The Performance Graph will now refresh some CPU/GPU info every second, rather than every 1000 frames
- Fixed missing GPU info in Performance Graph when using Vulkan renderer
- Improved the diagnostic message shown sometimes when the UI/CEF crashes, and added extra context to more easily identify what the cause of the issue. This will also be recorded in the log file
- Fixed the diagnostic message not showing up with certain kinds of UI crashes
- Improved log messages when the simulator crashes to desktop
- Fixed “importing texture” being stuck when conversion is done
- Fixed crash in editor when an invalid TSStatic is selected and ShapePreview is open
- Changed the title of the window to remove architecture and add graphic API in use
Virtual Reality
NOTE:
While we continue to ship a number of fixes and optimizations for VR, please keep in mind that it’s still an experimental feature.
You can check our VR documentation page for tips to improve stability and performance, and you can provide feedback and report issues in our dedicated VR forum thread.
- Added new option to control the headset resolution. A very rough estimate of the rendering cost is also shown below this option. The estimate is only orientative, and is based on the workload measured in pixels-per-second:
- Fixed incorrect headset position after you switch to another level (the camera used to appear underground)
- Fixed incorrect headset position after you go back to the main menu from a level (the main menu might appear several meters above/below eye-level)
- Added new automatic headset recentering when you activate VR (in addition to the existing recentering 2 seconds after you first wear the headset)
- Fixed the recentering deadzone (this bug happened when your headset was close to your default room orientation and you recentered)
- Fixed false positives that would trigger a 180 degree turn when walking around (specially frequent for mouse users, but also affecting gamepad users)
- Improved compatibility with a few headsets and runtimes such as VirtualDesktopXR, WMR-XRVKD3D and Varjo
- Fixed a VRAM memory leak when modifying graphic options. This needless 0.5GB increase in video memory use could impact VR framerate until the program was restarted
- Revamped the Options > VR menu to display the state of VR/headset/controllers, to show help about possible errors when attempting to enable VR, as well as the VR system name:
- Added a guard against the extremely low framerates when activating OpenXR dump mode checkbox in Options menu. This option was meant to be only a temporary troubleshooting mode, so it’s now hidden and cannot be triggered under normal circumstances
- Improved physical comfort when using the External camera, by removing the realistic hand-held camera wobbling effect
- Improved safety checks during VR initialization to more comprehensively detect and log possible issues with some headsets
- Fixed incorrect headset movement in the 2d monitor render when you rotate your head if Between eyes Window view option had been chosen
- Fixed Ctrl+Num0 sometimes not working initially if you had closed your VR runtime before deactivating it in the simulator
- Fixed a potential crash when plugging and switching to a different VR headset model during the same simulator session
- Fixed a harmless error log related to the render of virtual UI during VR initialization
- Removed incorrect error log that appeared with some OpenXR runtimes when receiving some VR-related events
- Fixed a possible crash to desktop if a LUA mod attempted to tweak the 3d UI settings while VR was inactive
- Fixed a potential wrong initial headset position for room-scale in some circumstances
- Updated the underlying OpenXR loader library from v1.0.27 to v1.0.30 in both Windows and Linux platforms
NOTE:
The VR controllers’ visualization may not work for everyone, it’s still an experimental feature and work on it is still ongoing. You can find more information here.
- Vehicle triggers (like door handles and buttons) can now be used with your VR controller from a small distance, rather than requiring your hand to be physically in contact with the trigger. This is visually represented with a black line per VR controller, instead of the blue dots from previous versions
- Added option to customize the vertical tilt of the VR controller pointer, in case the default angle does not feel natural:
- Fixed VR controller interactions being tied to the center of your hand, rather than to the point of your index finger
- Fixed a possible crash or undefined behavior when using VR controllers
Cameras
- Fixed potentially invalid field of view values in camera system
- Fixed broken orbit camera when uncoupling a trailer while in free cam
Replay
- Fixed a crash to desktop when attempting to record a replay if some vehicle had failed to spawn correctly (for example due to a broken vehicle mod, or due to not installing all the mods required by a level mod, etc.)
- Fixed replays automatically stopping recording when modifying the vehicle color through Vehicle Config > Color menu. It will now continue recording, as used to be the case
World Editor
- Added
uiInputFile
to World Editor GUI API - Improved usability of window: AI Path/Plan Tests
Flowgraph Editor
- Added new nodes: Random Vector, Line Point From Xnorm, Camera Auto Circle, Zone By Name, Prepare Vehicle (Mission)
- Updated nodes: Random Color, Random Number, Random Quaternion
Lua
- Reworked how core/shared extensions are loaded and unloaded. Certain functions will now automatically log a warning which explains how to migrate to the relevant updated extensions API
- To unload extensions via
extensions.unload()
, you can now choose to provide the extension object itself rather than the extension string name - Extremely minor optimization of extensions loader code
- Fixed duplicated calls to the
onInit()
function of extensions when switching level or game mode; it will now be called only once per extension, rather than twice - Several extensions (such as the
Ctrl+F metrics panel) have been optimized: they will now load/unload on demand, only having a performance impact while they are used
NOTE:
If you are a LUA modder and work with extensions, we recommend you apply the same optimization when applicable:
- To load an extension on demand:
extensions.load("my_extension")
- To keep an extension loaded across levels:
M.onInit = function() setExtensionUnloadMode(M, "manual") end
- To unload an extension when no longer needed:
M.myFunction = function() extensions.unload(M) end
- To load an extension on demand:
- Optimized JBeam processing code to be faster, especially noticeable when spawning traffic vehicles
- LRDB/Game Engine Lua Debugger
- All Lua table key types now displayed
- Fixed bug with displaying Lua table incorrectly in some cases
- Game is backwards compatible with VSCode debugger
- VSCode debugger backwards compatible with game
- Bug fix for function
closestLinePoints
: In the case of the second line being of zero length the function would return a zero coordinate (start point of the first line) as the closest line coordinate of the first line - Added function
closestLineSegmentPoints
. It returns the normalized (to each segment length) local coordinates (one for each line segment) for which the distance between the two line segments is minimum - Major optimization done for Sites Manager, to save memory by not preloading all sites data
- Added features and updated functionality of utility module: Terrain Generator
- Added experimental utility module: Forest Generator
- Added
obj:setGhostEnabled(true/false)
function. The vehicle won’t be colliding with other vehicles, but it’ll collide with itself - More reliable triggering of
onCouplerDetached
event - Added parameter containing the distance to found node, to the
onCouplerFound
event - Added pressured beam support to
obj:getBeamStress
andobj:getBeamStressDamp
functions - Optimized
json.lua
, JSON parser by ~10% - Added
vec3:inPolygon
function. It returns if a 2d point is in a 2d polygon - Added
ironbowColor
andjetColor
functions toutils.lua
. They map a value to a color scheme beamstate.lua
can now be queried for the existence of a specific coupler- Coupler electrics sync can now be influenced from runtime code
- Coupler events are now exposed to powertrain and
energyStorage
as well