Skip to content

Configuration

The Volumetric Light Beam configuration file can be accessed through the menu Edit/Volumetric Light Beam/Open 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, we force the procedural beam geometry GameObjects to be created on the Layer specified here.
  • If disabled, the procedural beam geometry GameObjects inherit the Layer of their beam (the GameObject containing the VolumetricLightBeam component).

Default value is enabled, with layer set at TransparentFX.

Tag

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


Rendering

Render Queue (SD Beams)

Determine in which order SD Beams are rendered compared to other objects. This way for example transparent objects are rendered after opaque objects, and so on.
Default value is Transparent (3000).

Render Queue (HD Beams)

Determine in which order HD Beams are rendered compared to other objects. This way for example transparent objects are rendered after opaque objects, and so on.
Default value is 3100.

Using these Render Queue 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.

Render Pipeline

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 Default.

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.

Screen Space 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).

Use Light Color Temperature

Contribution of the attached spotlight temperature to the final beam color.
Only useful when:


URP Specific Options

Custom renderer index for Depth Camera

When using URP, specify a custom Renderer index used by the depth cameras for the Dynamic Occlusion (Depth Buffer) (with SD beams) and Volumetric Shadow (for HD Beams) features.

The 'Renderer list' is editable in the URP asset. URP Renderer Index

Set -1 to disable this feature.

Error "RenderTexture.Create failed colorFormat & depthStencilFormat cannot both be none."

If you encounter this error:

RenderTexture.Create failed: colorFormat & depthStencilFormat cannot both be none.  
Invalid surface for grabbing pixels. Verify that the RenderTexture is a valid color surface. Only a single color target may be grabbed.

We recommend to specify a custom index referencing the URP default 'ForwardRenderer' (1 in the screenshot above) when you are using a custom renderer that doesn't support writing to depth render texture.
More info here.

Error "You can only call cameraColorTarget inside the scope of a ScriptableRenderPass."

If you encounter this error:

You can only call cameraColorTarget inside the scope of a ScriptableRenderPass. Otherwise the pipeline camera target texture might have not been created or might have already been disposed.

We recommend to specify a custom index referencing a custom and super simple URP Renderer (without any renderer features).
More info here.


HD Specific Options

Raymarching Qualities

Specify each different raymarching quality with:

  • an understandable name (to be chosen per HD beam)
  • a number specifying how many raymarching steps will be computed per pixel (the higher, the better quality, the slower the performance)

A new HD Beam shader variant will be generated per raymarching quality for the HD beam shader: the more different qualities you'll have, the slower it will get to compile all shader variants and to export standalone builds.

Default Raymarching Quality

Raymarching Quality applied by default to newly created HD Volumetric Light Beams.

Camera Blending Distance

Distance from the camera the beam will fade with (HD Beams only. For SD beams, this option can be configured per beam).

  • 0.0: hard intersection
  • Higher values produce soft intersection when the camera is near the cone triangles.

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.

Cone Mesh 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

Cone Mesh 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 SD Beams, and the culling of VolumetricDustParticles.


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.

Noise 3D

Support Noise 3D feature or not.

Soft Intersect w/ Opaque Geometry

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

Dynamic Occlusion

SD beams only.
Support Dynamic Occlusion features (Raycasting and Depth Buffer) or not.

Mesh Skewing

SD beams only.
Support Mesh Skewing feature or not.

High Shader Accuracy

SD beams only.
Support Shader Accuracy property set to High or not.

Shadow

HD beams only.
Support Volumetric Shadow feature or not.

HD beams only.
Support Volumetric Cookie feature or not.