Project Setup
Create a New Scene
Add a Directional Light for Depth
- Create: GameObject → Light → Directional Light
- Set Shadow Type to “Soft Shadows” or “Hard Shadows”
- Enable shadows (required for depth texture generation)
Add AudioLink (For Audio-Reactive Lights)
- Navigate to:
Packages/VR Stage Lighting/Runtime/Prefabs/AudioLink/ - Drag AudioLink-VRSLEdition.prefab into your scene
- Add an audio source with music (optional for testing)
Add the VRSL Control Panel (Recommended)
- Per-light-type intensity control
- Master brightness slider
- Bloom intensity control
- Global DMX strobe toggle (accessibility)
- Depth light and 3D noise toggles
Your First Lighting Fixture
AudioLink Fixtures (Audio-Reactive)
Let’s start with an audio-reactive spotlight - the easiest way to see VRSL in action.Choose a Fixture Type
Spotlight
Wash Light
Par Light
Laser
Place the Fixture
- Position: (0, 5, 0)
- Rotation: (45, 0, 0) - angled downward
Configure the Fixture
Audio Reaction Settings
Audio Reaction Settings
- Band: Which frequency band to react to (Bass, Low Mid, High Mid, Treble)
- Delay: Timing offset for the audio reaction
- Intensity Multiplier: Overall brightness scale
Color Settings
Color Settings
- Color Tint: Base color for the light
- Use Theme Colors: Use AudioLink’s color chord system
- Color Chord Slot: Which theme color to use (0-3)
Movement (Movers Only)
Movement (Movers Only)
- Pan Tilt Target: Optional transform to point at
- Movement Range: How much the light can move
- Movement Speed: Speed of pan/tilt motion
Component Intensity
Component Intensity
- Fixture Mesh: Brightness of the fixture housing
- Projection: Brightness of the projected light cone
- Volumetric: Brightness of the volumetric beam
Add a Pan/Tilt Target (Optional)
- Drag PanTiltTarget.prefab into the scene
- Position it where you want the light to point
- Assign it to the fixture’s Pan Tilt Target field
DMX Fixtures (Video-Based Control)
For advanced users who want real-time control via DMX512/Artnet.Choose a DMX Mode
- Horizontal Mode (recommended for most setups)
- Vertical Mode (legacy compatibility)
- Legacy Mode (deprecated)
Add a DMX Grid Reader
Place a DMX Fixture
- 13-Channel: Full control (color, intensity, movement, gobo, strobe)
- 5-Channel: Simplified (color, intensity, basic features)
- 1-Channel: Intensity only (flashers, disco balls)
Configure DMX Addressing
- Each fixture needs a unique DMX start address
- 13CH fixtures use 13 consecutive channels
- Maximum ~500 channels per universe (depends on grid resolution)
Understanding VRSL Components
Light Fixture Anatomy
Each VRSL fixture consists of up to three visual components:Fixture Mesh
- Emissive material
- Shows fixture is “on”
- Controlled by Component Intensity slider
Projection
- Screen-space or surface shader
- Shows where light hits geometry
- Supports gobos and patterns
Volumetric
- 3D mesh with volumetric shader
- GPU-instanced for performance
- Optional 3D noise texture
Shader Types
VRSL uses custom shaders for maximum performance:- No real-time Unity lights - all effects are shader-based
- GPU instancing - efficient rendering of multiple fixtures
- Batching compatible - reduces draw calls
- Hardware-accelerated - computation happens on the GPU
Common Workflow: Building a Light Show
Plan Your Layout
- Front lights (audience POV)
- Back lights (behind performers)
- Side lights (wings)
- Top lights (overhead wash)
Choose Fixture Types
- Movers for dynamic movement
- Pars for static washes
- Strobes for impact moments
- Lasers for energy and atmosphere
Position and Aim
- Use PanTiltTargets for movers
- Angle static fixtures manually
- Test coverage in Play mode
Configure Audio Reaction
- Bass → strobes, impacts
- Low Mid → rhythmic elements
- High Mid → melodies
- Treble → cymbals, hi-hats
Adjust Colors and Intensity
- Use AudioLink theme colors for cohesion
- Adjust component intensities
- Balance volumetric visibility
Tips for Success
Start Simple
Start Simple
- 2x spotlights
- 2x wash lights
- 1x strobe or laser
Use the Control Panel
Use the Control Panel
- Players can adjust brightness to their preference
- Accessibility features (strobe disable)
- Performance toggles
Test on Real Hardware
Test on Real Hardware
- Test in VRChat (local test builds)
- Check various PC specs
- Test with Quest if targeting cross-platform
Study the Example Scenes
Study the Example Scenes
Manage Materials
Manage Materials
Next Steps
Fixture Types
AudioLink Integration
DMX Control
Performance
Troubleshooting
I don't see any light output
I don't see any light output
- No depth light: Add the Directional Light prefab with shadows enabled
- AudioLink not working: Ensure AudioLink prefab is in scene and receiving audio
- Component intensity too low: Check the Fixture/Projection/Volumetric sliders
- Looking from the wrong angle: Volumetrics are directional - view from the side
Lights are flickering or glitching
Lights are flickering or glitching
- Check that only ONE directional light has shadows enabled
- Ensure depth texture is being generated (Camera depth mode)
- Verify all VRSL CRT (Custom Render Texture) assets are present
- Check for AudioLink errors in the console
Performance is poor
Performance is poor
- Reduce number of active fixtures
- Disable 3D noise via Control Panel
- Use lower-poly volumetric meshes (VRSL Manager Window)
- Disable depth light if not needed
- Reduce component intensities (less visible = less expensive)
Moving heads aren't moving
Moving heads aren't moving
- Ensure a PanTiltTarget is assigned
- Movement Range is not set to 0
- For DMX fixtures: verify grid reader is working
- For AudioLink: check that audio is playing and being detected