Skip to content

Configuration

The Volumetric Light Beam configuration file can be accessed through the menu Edit/Volumetric Light Beam Config. This asset named VLBConfigOverride.asset is generated under the "Assets/Resources/" folder the first time the plugin is installed.

Edit the configuration file

You can move this asset anywhere you want as long as:

  • This asset is directly located under a Resources folder.
  • This asset is named VLBConfigOverride.asset.

Edit this asset to customize the plugin behavior and make it fit properly in your project. You can configure the following properties in the inspector.

Inspector Config


Config asset per platform

If you need to have some specific config's properties for a plaform, you can create a dedicated config's asset for a specific platform. Click on the "Create another Config asset for a specific platform" button and select your platform then. This will create a new asset named VLBConfigOverride{PlaformName}.asset.

Create an asset for a specific platform

In this case, the asset named VLBConfigOverride.asset will be used as default, while the asset named VLBConfigOverride{PlaformName}.asset (e.g. VLBConfigOverrideAndroid.asset) will be used when exporting your game to this specific platform.


Beam Geometry

Override Layer

If enabled, the procedural beam geometry mesh will be created on the Layer specified here.
If disabled, the procedural beam geometry mesh will be created on the same Layer than the GameObject containing the VolumetricLightBeam component.
Default value is TransparentFX.

Tag

Define the Tag applied on the procedural geometry GameObjects.
Default value is Untagged.


Rendering

Render Queue

Determine in which order beams are rendered compared to other objects. This way for example transparent objects are rendered after opaque objects, and so on.
Using the combobox, you can set a preset value from the Unity's built-in enum. Or you can choose a custom value: for example set 3001 to render the beams just after the Transparent objects.
Default value is Transparent (3000).

Render Pipeline

This property is only available on Unity 2018.1.0 or higher.

This property is automatically set to the proper value depending on the render pipeline used in your project, but you can change it.

Rendering Mode

Default value is Single-Pass.

Tip

Check the Optimization page to learn more about the rendering mode to use depending on your platform, and the ways to optimize beams rendering.

Dithering

Depending on the quality of your screen, you might see some artifacts with high contrast visual (like a white beam over a black background). These is a very common problem known as color banding.
To help with this issue, the plugin offers a Dithering factor: it smooths the banding by introducing a subtle pattern of noise.

Here is how dithering can smooth banding artifacts (the contrast and brightness of these images have been highly increased to show the problem).

Additive Soft Additive
Dithering: off Dithering: on (0.1)

Default value is 0.0 (disabled).


Shared Mesh

Warning

The following properties will change the mesh tessellation of every beams with Shared Mesh Type. Adjust them carefully since they could impact performance.

Sides

Number of Sides of the cone (tessellation). Higher values make the beam looks more "round", but at performance cost.

Sides Sides
8 sides 32 sides

Segments

Number of Segments of the cone. Higher values give better looking results, but at performance cost.
We recommend at least 3 segments, specially regarding Attenuation and Gradient, otherwise the approximation could become inaccurate.
The longer the beam, the more segments we recommend to set in order to keep good quality along the distance.
A recommended value for a decent quality while keeping the poly count low is 4.

Segments Segments
3 segments 8 segments

Having a high segment count could help smoothing the attenuation gradient over the distance and prevent possible color banding.

Segments Segments
low segments count (some color banding) high segments count (smooth gradient)

Global 3D Noise

Scale

Global 3D Noise texture scaling. Higher scale make the noise more visible, but potentially less realistic.

Velocity

Vector3 property defining the global direction and speed of the noise scrolling, simulating the fog/smoke movement.


Camera to compute Fade Out

Fade Out Camera Tag

Tag used to retrieve the camera used to compute the fade out factor on beams.


Features Enabled

The following options give you the ability to completely disable specific features of the plugin. When keeping all the feature available, multiple shader's variants need to be compiled each time a standalone build of your project is exported, which could lead to increased export times.

If you are sure you don't require a specific feature, unchecking it from the Config will skip the generation of the variants associated with it, and the next standalone build export will be processed faster.

If you are not sure, leave the default options.

Color Gradient

  • Off: do not support having a gradient as color.
  • High Only: support gradient color only for devices with Shader Level = 35 or higher.
  • High and Low: support gradient color for all devices.

Soft Intersect w/ Opaque Geometry

Support having soft intersection when the beam intersects other opaque geometry or not.

Noise 3D

Support Noise 3D feature or not.

Dynamic Occlusion

Support Dynamic Occlusion features or not.

Mesh Skewing

Support Mesh Skewing feature or not.

High Shader Accuracy

Support Shader Accuracy property set to High or not.


Internal Data

Warning

We highly recommend to keep the default values of these properties.

Dust Particles Prefab

ParticleSystem prefab instantiated for the Volumetric Dust Particles feature.

3D Noise Data binary file

Binary file holding the 3D Noise texture data (a 3D array). Must be exactly Size x Size x Size bytes long.

3D Noise Data dimension

Size (of one dimension) of the 3D Noise data. Must be power of 2. So if the binary file holds a 32x32x32 texture, this value must be 32.