VRStageLighting_AudioLink_Static component enables lighting fixtures to react dynamically to music through AudioLink integration. It provides frequency band reactivity, color sampling, theme colors, and automatic movement options.
Overview
This component allows fixtures to respond to audio in real-time, creating immersive music-reactive lighting experiences. It supports AudioLink’s four frequency bands, Color Chord integration, texture sampling, and theme color synchronization.Inspector Properties
Audio Link Settings
bool
default:"false"
Enable or disable Audio Link reaction for this fixture.
AudioLinkBandState
default:"Bass"
The frequency band of the spectrum to react to. Options:
Bass- Low frequencies (kick drums, bass)Low_Mids- Low-mid frequenciesHigh_Mids- High-mid frequenciesTreble- High frequencies (hi-hats, cymbals)
int
default:"0"
The level of delay to add to the reaction. Higher values create a trailing effect behind the audio.
float
default:"1.0"
Multiplier for the sensitivity of the reaction. Higher values make the fixture more reactive to quieter sounds.
bool
default:"false"
Enable Color Chord tinting of the light emission. Color Chord analyzes musical notes and assigns colors accordingly.
General Settings
float
default:"1"
Sets the overall intensity of the shader. Good for animating or scripting effects. Maximum value controlled by
finalIntensity.float
default:"1"
Sets the maximum brightness value of Global Intensity. Good for user-controlled brightness settings via UI.
bool
default:"false"
Choose between setting Final Intensity for all meshes, or individual mesh types separately.
float
default:"1"
Sets maximum brightness for volumetric meshes only (when Component Mode is enabled).
float
default:"1"
Sets maximum brightness for projection meshes only (when Component Mode is enabled).
float
default:"1"
Sets maximum brightness for fixture meshes only (when Component Mode is enabled).
Color
default:"Color.white * 2.0f"
The main color of the light. Will be modulated by AudioLink data and Color Chord when enabled.
bool
default:"false"
Enable sampling a separate texture for color. The color will be influenced by the intensity of the original emission color.
bool
default:"false"
Use traditional color sampling instead of white-to-black conversion.
Vector2
default:"(0.5, 0.5)"
The UV coordinates to sample color from on the texture.
bool
default:"false"
Enable AudioLink Theme colors for synchronized color schemes across all AudioLink-enabled elements.
int
default:"1"
Which AudioLink Theme Color to sample from (1-4).
Movement Settings
Transform
The target transform for this moving head fixture to follow. Useful for performer tracking or audio-reactive movement.
Fixture Settings
float
default:"4.0"
Projection spin speed. Negative values spin counter-clockwise. Only active when
enableAutoSpin is true.bool
default:"false"
Enable automatic projection spinning.
int
default:"1"
Use this to change which projection pattern is selected.
Mesh Settings
MeshRenderer[]
required
Array of mesh renderers that make up the light fixture. At least one mesh is required.
float
default:"2.5"
Controls the radius of a mover/spot light cone.
float
default:"1.0"
Controls the length of the cone of a mover/spot light.
float
default:"8.5"
Controls the mesh length of the cone of a mover/spot light.
Configuration Steps
Basic AudioLink Setup
- Add the
VRStageLighting_AudioLink_Staticcomponent to your fixture GameObject - Assign the fixture’s mesh renderers to the
objRenderersarray - Enable
enableAudioLink - Select a
band(Bass for bass-reactive, Treble for high-frequency reactive, etc.) - Adjust
bandMultiplierto control sensitivity
Color Chord Setup
For music note-based color reactions:- Enable
enableColorChord - Set a neutral
lightColorTint(white recommended) - AudioLink will automatically assign colors based on musical notes
Theme Color Synchronization
To match colors with other AudioLink elements:- Enable
enableThemeColorSampling - Set
themeColorTarget(1-4) to choose which theme color to use - All elements using the same theme color will stay synchronized
Texture Sampling
For video or gradient-based colors:- Enable
enableColorTextureSampling - Set
textureSamplingCoordinatesto sample from desired UV position - Configure the texture in the fixture’s shader material
- Enable
traditionalColorTextureSamplingfor full RGB sampling
Target Following
For automatic fixture tracking:- Assign a Transform to
targetToFollow - The fixture head will automatically aim at the target
- Useful for following performers or creating spotlight effects
Example Setups
Bass Reactive Wash Light
Color Chord Moving Head
Theme Color Synchronized Light
Texture Sampled Video Light
Integration with Other Components
AudioLink
Requires an AudioLink prefab in the scene:- Place the AudioLink prefab in your world
- No direct reference needed - uses global textures
- Fixtures automatically detect AudioLink presence
Local UI Control Panel
Integrates withVRSL_LocalUIControlPanel for:
- Global intensity control for all AudioLink fixtures
- Quality mode settings
- AudioLink enable/disable toggle
- Per-mesh-type intensity in Component Mode
DMX System
Can coexist with DMX fixtures:- Use Control Panel to enable both DMX and AudioLink modes
- Mix DMX and AudioLink fixtures in the same scene
- Some fixtures can switch between modes dynamically
Public Methods
_UpdateInstancedProperties()
Forces an update of all material properties. Call after changing properties via Udon._UpdateInstancedPropertiesSansAudioLink()
Updates properties with AudioLink disabled. Useful for temporarily disabling AudioLink reactivity._SetProps()
Initializes the MaterialPropertyBlock. Called automatically on Start.Udon Script Properties
Access these properties from Udon scripts:EnableAudioLink- Get/Set AudioLink enabled stateBand- Get/Set frequency band (AudioLinkBandState enum)Delay- Get/Set reaction delay (0-127)BandMultiplier- Get/Set sensitivity multiplier (1-15)LightColorTint- Get/Set light colorGlobalIntensity- Get/Set global intensity (0-1)FinalIntensity- Get/Set maximum intensity (0-1)ConeWidth- Get/Set cone radiusConeLength- Get/Set cone lengthSelectGOBO- Get/Set selected projection (1-8)SpinSpeed- Get/Set projection spin speedProjectionSpin- Get/Set auto spin enabledColorChord- Get/Set Color Chord enabledColorTextureSampling- Get/Set texture sampling enabledThemeColorSampling- Get/Set theme color enabledThemeColorTarget- Get/Set theme color slot (1-4)
Performance Notes
- Supports up to 5 mesh renderers per fixture
- Uses MaterialPropertyBlock for efficient rendering
- Component Mode allows granular intensity control
- AudioLink adds minimal overhead when properly configured
- Higher
delayvalues create smooth trailing effects but use more memory
Frequency Band Guide
- Bass: Best for low-energy, pulsing effects. Reacts to kick drums and bass instruments
- Low_Mids: Good for mid-range energy. Reacts to vocals and rhythm instruments
- High_Mids: Great for melodic content. Reacts to lead instruments
- Treble: Perfect for high-energy, fast reactions. Reacts to hi-hats and cymbals
See Also
- DMX Static Component - DMX-controlled fixtures
- Local UI Control Panel - User controls and settings
- AudioLink Documentation - Official AudioLink reference