Smooth lighting emissive materials and light props

As of the BeamNG 0.34 update, the game now supports fading for vehicle lights. This is comprised of two parts, the fading of emissive materials and the fading of vehicle light emitter props (both controlled by the vehicle’s electrics system) which together help make convincing looking halogen light functionality.


The fading system works on a material by using the value of a vehicle’s light electric as the input for the intensity of a material’s emissive map or light emitter prop. To set this up for a vehicle, you will need to look at several different parts that tie together for the final result:

  • The vehicle’s electrics functions
  • The vehicle’s glowmap setup
  • The vehicle’s emissive materials
  • The vehicle’s light props setup

Vehicle electrics smoothers

Each vehicle with fading lights should have two sections regarding its light electrics, usually located in the main vehiclename.jbeam file. These two sections are the components and glowMap parts respectively.

Components may be used for a wide variety of different functions throughout BeamNG’s vehicles, however here we are only interested in the electrics sub-section, which itself will contain a customValues and a smoothers section.

The customValues section contains a list of every vehicle electrics value that will be needed for your glowmaps, and defines what electric values it uses. These will usually be named in the function_filament format to keep them separate and unique from the regular electrics values they are using. Some may use maths here for more complex functions, such as adding together the values for the brake lights and tail lights together.

The smoothers section uses the newly defined custom electrics values from above and applies a smoothing effect to their input values. This is what directly controls the fading effect on the vehicle, with the smootherType setting which function for fading is used and params defining the values used to control how it is applied.


Glowmap emissive scaling

To make light materials use these new smoothed electrics values, we need to make sure the appropriate glowmaps are set up to make use of them. This is done inside the glowMap section, usually found directly below the components section that was explained above.

Glowmaps are a system that enables one material to be switched to another corresponding to an electric value, and the fading system works as an addition to this.

To update a glowmap:

  • Switch the relevant material to use the new _filament version of the electric in its simpleFunction part, as this is the one that had the smoother applied to it.
  • Add a materialEmissiveScaling part to the end of the glowmap, which allows the material used to make use of the filament function’s smoothing. This has a property that controls how it is used, which will usually be "on_max":1"".

Prop emissive scaling

Along with glowmaps, your vehicle will likely include light emitting props which come together to create realistic lights on a car.

As of the 0.39 update this system has been improved upon further to take advantage of the new and improved lighting features that are now available. Each vehicle light contains a slots2 section which is filled with different “bulb” slots. Each one of these encompasses each individual light emitter props used on that light part, and contaims a number of variables that are set to make sure it is tuned for that specific vehicle.

The important part for making sure emissive scaling works is that the $electric variable for each bulb uses the very same filament electrics were used for the glowmaps. Always make sure the electric used matches what the light emitter prop should be doing in conjunction with the glowmap it could be associated with, and that the electric filament being used exists and is valid.

Common issues

Materials

  • As the fading system still uses the same old glowmap system at its core, it is still switching the material before anything happens. This means that you need to ensure that other than the emissive map/emissive value, your lights’ “on” material needs to be otherwise identical to the “off” version of it.

  • This prevents any sudden change in appearance once the fading in starts, as when the emissive is not visible it reveals the rest of the material that is underneath it.

Models

  • If you see some odd polygons on your light models when the glowmaps active there is a decent chance you are running into issues with materials shared between polygons. This is when you have two different glowmap on adjacent faces that are connected to the same vertices in the middle, which creates a situation where the game is unable to tell what material should be used for what vertex.

  • You can fix this by separating the faces of the different materials of the light mesh so that they are not physically connected to the same vertices, making sure they do not get reconnected at any point afterwards (such as by using the Merge by Distance function of Blender).


Last modified: July 30, 2026

Any further questions?

Join our discord
Our documentation is currently incomplete and undergoing active development. If you have any questions or feedback, please visit this forum thread.