![]()
This lua script implements dynamic weather in BeamNG!
It's not the prettiest, but given what's possible on Game Engine side (rain, fog, clouds), I think it's still quite good. I will be working on this in the future by improving it's features and fixing possible bugs.
!!! UI is now bound to Ctrl + Alt + W !!!
Current Features:
- weather events: sunny, cloudy, light rain, rainy, stormy, foggy, foggy rain
- random start event upon activating
- dynamic wind affecting vehicles and groundcover/forest objects (if supported by the object)
- windbursts randomly happening from time to time, frequency and strength affected by weather event
- tornadoes that slowly chase the player or follow a random path (toggle with UI), only one can be active at a time
- wind fields of tornadoes are displayed on the map
- slippery roads during rain/snow (if roads are made out of terrain, does not work for meshes like bridges)
- dynamic rain, clouds, fog, temperature and brightness
- traffic vehicles turn on their lights during rain or fog
- UI for optional weather, wind, tornado and road condition control
- compatible with career mode and missions/scenarios
- > 2500 lines of code
How to use?
To activate dynamic weather on a map, press Alt + W. After activating, a message should display in the top right corner of the screen. To toggle the UI, press Ctrl + Alt + W. These keybinds can be changed in the settings.
Upon changing the map, the script will unload itself to prevent issues. You need to enable it again manually.
There is a chance for a tornado weather event to occur randomly. This can be toggled in the UI and is off per default during career. You can spawn a tornado close to the player vehicle independently from weather events using Alt + T. Only one tornado can be active at a time.
If you want a specific weather event to happen, you can use the UI, which can be toggled using Ctrl + Alt + W. You can also use it to control road condition, wind speed, tornadoes, time between random weather events and toggle between snow and rain.
Tornadoes can be customized within the UI, so you can fully control their strength and size if you want to. Some of these settings may cause instabilities if you choose extreme values or certain combinations.
Known Issues:
- Rain and snow cause glass glitches with Vulkan Renderer. Please use DirectX instead. I can't fix this, as it is a problem with the game engine.
- Instant event switching can cause game crashes when a windburst is happening at the same time, which is why I've implemented a prevention mechanism. Needs further investigation.
Credits:
- @Komodor for his code to make changing road conditions possible (during Beta versions)
- @vouthin for his rankine vortex tornado code
- @MegaKnight (me) for everything else
Please report bugs in the discussion thread.
Do not reupload anywhere!
Mods used in the screenshots:
Dismiss Notice
In the upcoming weeks mod approvals could be slower than normal.
Thank you for your patience.
In the upcoming weeks mod approvals could be slower than normal.
Thank you for your patience.

MK's Dynamic Weather 1.0.2
This lua script implements dynamic weather in BeamNG! (and tornadoes)
Tags:
Recent Updates
- Hotfix Mar 14, 2025
- Tiny Update Mar 13, 2025
- 1.0 Release - Tornado Rework, Bugfixes, UI Changes Mar 12, 2025