Skip to main content

Overview

Moving light shaders simulate professional moving head stage lights with pan/tilt control, GOBO projection, color mixing, and volumetric light cones. Available in Standard Mover, Wash Mover, and Laser variants.

Shader Paths

DMX Control

  • VRSL/Standard Mover/Projection
  • VRSL/Standard Mover/Volumetric
  • VRSL/Standard Mover/Fixture
  • VRSL/Wash Mover/Projection
  • VRSL/Wash Mover/Volumetric
  • VRSL/Basic Laser/DMX
  • VRSL/AudioLink/Standard Mover/Projection
  • VRSL/AudioLink/Standard Mover/Volumetric
  • VRSL/AudioLink/Wash Mover/Projection
  • VRSL/AudioLink/Wash Mover/Volumetric

Core Properties

DMX Configuration

_DMXChannel
int
default:"0"
Starting DMX channel for the fixture (0-512). Each fixture uses 13 channels in standard mode.
_NineUniverseMode
bool
default:"false"
Enable extended universe mode for addressing fixtures beyond 512 channels. Supports up to 9 DMX universes (4608 channels).
_EnableDMX
bool
default:"false"
Enable DMX control via render texture input. When disabled, uses manual property control.
_EnableCompatibilityMode
bool
default:"false"
Enable legacy DMX grid reading method for backward compatibility with older versions.
_EnableVerticalMode
bool
default:"false"
Switch DMX grid reading from horizontal to vertical layout.

Movement Controls

_FixtureBaseRotationY
float
default:"0"
Pan offset in degrees. Adjusts the base pan rotation of the fixture.
_FixtureRotationX
float
default:"0"
Tilt offset in degrees. Adjusts the base tilt rotation of the fixture.
_MaxMinPanAngle
float
default:"180"
Maximum pan angle range (-x to +x degrees). Typical values: 180°, 270°, 540°.
_MaxMinTiltAngle
float
default:"180"
Maximum tilt angle range (-y to +y degrees). Typical values: 90°, 180°, 270°.
_PanInvert
bool
default:"false"
Invert pan direction. Useful for fixtures mounted in different orientations.
_TiltInvert
bool
default:"false"
Invert tilt direction.
_FixtureRotationOrigin
vector
default:"(0, 0.014709, -1.02868, 0)"
Pivot point for pan/tilt rotation in object space. Should align with the fixture’s physical rotation point.

Intensity and Color

_FinalIntensity
float
default:"1"
Master intensity multiplier for the fixture. Affects all output.
_GlobalIntensity
float
default:"1"
Global intensity control shared across all fixtures.
_GlobalIntensityBlend
float
default:"1"
Blend factor between local and global intensity.
_UniversalIntensity
float
default:"1"
Universal intensity multiplier applied to entire scene.
_Emission
color
default:"(1,1,1,1)"
Light color tint (HDR). Multiplied with DMX color values.
_FixtureMaxIntensity
float
default:"1"
Maximum light intensity output. Higher values increase bloom and brightness.
_Saturation
float
default:"1"
Color saturation of the light output.
_SaturationLength
float
default:"0.1"
Falloff distance for saturation effects.
_RedMultiplier
float
default:"1"
Red channel intensity multiplier for color correction.
_GreenMultiplier
float
default:"1"
Green channel intensity multiplier.
_BlueMultiplier
float
default:"1"
Blue channel intensity multiplier.

Projection Properties

_ProjectionSelection
int
default:"0"
Selected GOBO pattern index. 0 = no gobo, 1-8 = GOBO patterns.
_ProjectionMainTex
texture
default:"white"
GOBO texture for projection pattern. Supports up to 8 different GOBO textures.
_ProjectionIntensity
float
default:"0"
Intensity multiplier for projected GOBO pattern.
_ProjectionRotation
float
default:"0"
Static rotation angle of the projection in degrees.
_EnableSpin
bool
default:"false"
Enable automatic GOBO rotation animation.
_SpinSpeed
float
default:"0"
Speed of automatic GOBO rotation.
_ProjectionUVMod
float
default:"0"
UV scale modifier for GOBO 1. Adjusts projection size.
_ProjectionUVMod2
float
default:"0"
UV scale modifier for GOBO 2.
_ProjectionFade
float
default:"0"
Edge fade for projection. Higher values create softer edges.
_ProjectionFadeCurve
float
default:"1"
Harshness/curve of the projection edge fade.
_ProjectionDistanceFallOff
float
default:"0.05"
Distance-based intensity falloff for projections.
_ProjectionRange
float
default:"0"
Drawing range for projection. Scales the projection mesh.
_ProjectionCutoff
float
default:"0.25"
Cutoff threshold for projection visibility.
_ProjectionShadowHarshness
float
default:"0"
Harshness of projected shadows in the GOBO pattern.
_MinimumBeamRadius
float
default:"1"
Minimum beam radius at the origin point.
_LegacyGoboRange
bool
default:"false"
Use legacy GOBO indexing range for backward compatibility.

Cone Properties

_ConeWidth
float
default:"0"
Width/spread of the light cone.
_ConeLength
float
default:"1"
Length of the visible light cone.
_MaxConeLength
float
default:"1"
Maximum cone length when using DMX control.
_ConeSync
float
default:"0.2"
Synchronization factor between cone width and length.
_EnableExtraChannels
bool
default:"false"
Enable DMX control of cone length via additional channel.

Strobe Settings

_EnableStrobe
bool
default:"false"
Enable strobe effect support.
_StrobeFreq
float
default:"1"
Strobe frequency in Hz when manually controlled.

Rendering Options

_RenderMode
enum
default:"1"
Transparency rendering mode:
  • 0: HQTransparent (volumetric only)
  • 1: Transparent
  • 2: AlphaToCoverage
_BlendSrc
enum
default:"2"
Source blend mode (Unity BlendMode enum).
_BlendDst
enum
default:"1"
Destination blend mode.
_BlendOp
enum
default:"0"
Blend operation (Unity BlendOp enum).
_ZWrite
bool
default:"false"
Enable depth buffer writing.
_AlphaToCoverage
bool
default:"false"
Enable alpha to coverage for MSAA transparency.
_ClippingThreshold
float
default:"0.5"
Alpha clipping threshold for alpha to coverage mode.
_MultiSampleDepth
bool
default:"true"
Enable multi-sample depth texture reading for better quality.

Advanced Grid Options

_UseRawGrid
bool
default:"false"
Use raw unsmoothed DMX grid for intensity and color. Bypasses interpolation for instant response.
Enable AudioLink audio reactivity.
_Band
enum
default:"0"
AudioLink frequency band:
  • 0: Bass
  • 1: Low Mids
  • 2: High Mids
  • 3: Treble
_BandMultiplier
float
default:"1"
Intensity multiplier for the selected frequency band.
_Delay
float
default:"0"
Time delay for AudioLink response.
_NumBands
float
default:"4"
Number of frequency bands to sample.
_EnableColorChord
bool
default:"false"
Enable ColorChord color tinting from AudioLink.
_EnableColorTextureSample
bool
default:"false"
Enable sampling color from a texture instead of AudioLink.
_SamplingTexture
texture
default:"white"
Texture to sample color from when color texture sampling is enabled.
_TextureColorSampleX
float
default:"0.5"
X coordinate for color texture sampling.
_TextureColorSampleY
float
default:"0.5"
Y coordinate for color texture sampling.
_EnableThemeColorSampling
bool
default:"false"
Enable AudioLink theme color sampling.
_ThemeColorTarget
int
default:"0"
Target theme color slot to sample from AudioLink.

Usage Examples

Basic Setup

  1. Assign the Projection shader to the projection mesh
  2. Assign the Volumetric shader to the volumetric cone mesh
  3. Set _DMXChannel to the starting channel (e.g., 0 for channel 1)
  4. Enable _EnableDMX if using DMX control
  5. Adjust _FixtureMaxIntensity to control brightness

GOBO Configuration

  1. Assign GOBO texture to _ProjectionMainTex
  2. Set _ProjectionIntensity to control brightness
  3. Adjust _ProjectionUVMod to scale the pattern
  4. Use _ProjectionRotation for static rotation
  5. Enable _EnableSpin for animated rotation

Performance Optimization

For better performance on lower-end systems:
  • Set _RenderMode to 1 (Transparent)
  • Keep _ProjectionIntensity moderate
  • Reduce _ConeLength to minimize overdraw
  • Disable unnecessary features like _EnableSpin

See Also

Build docs developers (and LLMs) love