This mess of lines and connections is the logic I built for a weather system in Unreal Engine. When the player enters a trigger volume, rainfall starts, puddles form, fog increases, and lightning and thunder fire off randomly. The variables can be ramped up or down independently or together, over any specified amount of time. Still a work in progress, but progress is the keyword for me.