Skip to main content

Overview

VRSL’s DMX control system allows you to transmit professional DMX512 lighting data into VRChat through a video stream. This enables synchronized, real-time control of stage lighting across all players in an instance.
The Artnet Grid Node is a separate commercial product available on Gumroad. While VRSL’s shaders and scripts are open source, the Grid Node software is required for DMX functionality.

How It Works

The system encodes DMX data as pixels in a video grid, which is then streamed to VRChat. VRSL’s shaders read these pixels and convert them back to lighting data - all processed on the GPU for maximum performance.

Key Advantages

  • Universal Sync: All players see the same lighting in real-time
  • Hardware Accelerated: 95% shader-based computation
  • Industry Standard: Works with any Artnet-compatible software or hardware
  • Live Performance Ready: Enables real-time lighting control during events

Prerequisites

Required Software

  • Unity 2019.4 or newer
  • VRChat SDK3 for Worlds
  • UdonSharp
  • VRSL package (via VPM)
  • AudioLink v2.7+ (recommended)
  • Streaming software (OBS Studio recommended)

Required Hardware

  • At least one extra monitor (16:9 resolution recommended)
  • Sufficient GPU for encoding video stream
  • Stable internet connection for streaming

Optional

  • VRSL Artnet Grid Node software
  • DMX lighting console or software (QLC+, LightKey, etc.)

Installation Steps

Setting Up Artnet Grid Node

This section requires the commercial Artnet Grid Node software. Skip this if you’re testing with pre-recorded DMX video.

Configure Grid Node Output

  1. Launch Artnet Grid Node application
  2. Select your output resolution (1920x1080 recommended)
  3. Choose grid mode:
    • Horizontal: Matches VRSL Horizontal Mode
    • Vertical: Matches VRSL Vertical Mode
    • Legacy: Matches VRSL Legacy Mode
  4. Configure Artnet input:
    • Set IP address (usually 127.0.0.1 for local)
    • Enable universes you’re using (1-9)
    • Set frame rate (30fps recommended)

Route Grid Node to Streaming Software

  1. In OBS Studio, add a Window Capture or Display Capture source
  2. Select the Artnet Grid Node window
  3. Scale to fill your stream output (1920x1080)
  4. Add to your streaming scene
Use a dedicated monitor for the Grid Node output to avoid capture issues. Set it to 1920x1080 resolution for best results.

Connect Your Lighting Software

  1. In your DMX software (QLC+, LightKey, etc.):
  2. Enable Artnet output
  3. Set IP to 127.0.0.1 (or Grid Node PC IP if networked)
  4. Configure universes to match your fixtures
  5. Patch your fixtures to DMX channels matching Unity setup

Streaming Configuration

OBS Settings

Video Settings:
  • Base Resolution: 1920x1080
  • Output Resolution: 1920x1080
  • FPS: 30 (or 60 for smoother movement)
Encoder Settings:
  • Encoder: x264 or NVENC
  • Rate Control: CBR
  • Bitrate: 6000 kbps minimum (higher is better)
  • Keyframe Interval: 2
  • Preset: Quality or High Quality
Critical: Disable any compression or quality loss features:
  • No downscaling filters
  • No sharpening
  • No color correction on the DMX grid source
  • Use “Lanczos” scaling filter if resizing is necessary

Minimizing Latency

In OBS:
  • Use Studio Mode to avoid cut transitions
  • Reduce output delay settings
  • Use wired network connection
In Unity/VRChat:
  • Position video screen close to spawn point
  • Use higher bitrate streams
  • Enable interpolation in CRT materials for smoother movement

Testing Your Setup

Common Issues

Fixtures Not Responding

Check:
  • DMX mode matches between Control Panel, Video Reader, and Grid Node
  • Video stream is playing (not frozen or buffering)
  • DMX addressing is correct (universe and channel)
  • Fixtures are enabled in Control Panel
  • Custom Render Textures are set to Realtime update mode

Jittery or Erratic Movement

Solutions:
  • Increase stream bitrate (minimum 6000 kbps)
  • Enable interpolation in CRT movement material
  • Keep smoothing at maximum (0) for most situations
  • Check for compression artifacts in stream
  • Use wired network connection instead of WiFi

Delayed Response

Reduce latency by:
  • Using lower-latency streaming protocol
  • Reducing keyframe interval
  • Minimizing network hops
  • Using local streaming server
  • Enabling hardware encoding (NVENC/Quick Sync)

Color Incorrect or Washed Out

Verify:
  • Color space is set to Linear in Unity (Project Settings > Player)
  • No color correction filters on DMX grid in OBS
  • Stream using lossless or high quality preset
  • Video compression is not too aggressive

Advanced Configuration

Extended Universes (9 Universe Mode)

  1. In VRSL Control Panel, enable “Extended Universes”
  2. This enables DMX Universes 1-9 (4590 channels total)
  3. All fixtures will automatically update to support 9-universe mode
  4. Configure Grid Node to output multiple universes

Signal Detection System

For interpolated CRT shaders:
  1. Select the interpolation CRT material
  2. Enable “Signal Detection System”
  3. This automatically disables DMX when invalid video is detected
  4. Useful for preventing issues during stream disconnects

Custom Fixture Profiles

See Creating Custom Fixtures for detailed instructions on creating your own fixture definitions.

Best Practices

For Live Performances:
  • Test your full setup at least 24 hours before the event
  • Have backup pre-recorded DMX video ready
  • Use dedicated streaming hardware
  • Monitor stream health throughout the event
  • Have a “lights off” fallback state
Optimization:
  • Use GPU instancing (automatic with VRSL)
  • Keep fixture count under 50 per universe for best performance
  • Use appropriate volumetric quality settings
  • Disable depth light requirement on Quest builds
  • Use stencil masks to prevent light bleed into other rooms
Workflow:
  • Organize fixtures into clear hierarchy (Universe 1, Universe 2, etc.)
  • Name fixtures descriptively (“Spot-Truss-Front-L”)
  • Save DMX patch data using VRSL’s patch export feature
  • Document your DMX addressing scheme
  • Use fixture groups in lighting console for easier control

Next Steps

Resources