Overview
TheVRSL_LocalUIControlPanel class provides a comprehensive local UI control system for managing all aspects of VRSL lighting. It handles quality mode switching, intensity controls, DMX grid management, AudioLink settings, and material property updates across all fixture types.
This is the central control hub for VRSL in your scene, allowing users to adjust performance and appearance settings to match their system capabilities.
Namespace: VRSLInherits from:
UdonSharpBehaviour (in VRChat) or MonoBehaviour (in Unity)
Quality Modes
Controls the rendering quality for volumetric lighting effects. Options:
High, Medium, LowWhen enabled, prevents users from changing the volumetric quality mode via UI.
Quality setting for blinder projection effects. Options:
High, LowWhen enabled, locks the blinder projection quality setting.
Quality setting for PAR projection effects. Options:
High, LowWhen enabled, locks the PAR projection quality setting.
Quality setting for other projection effects (non-PAR, non-Blinder). Options:
High, LowWhen enabled, locks the other projection quality setting.
Quality setting for disco ball effects. Options:
High, LowWhen enabled, locks the disco ball quality setting.
Quality setting for lens flare effects. Options:
High, LowWhen enabled, locks the lens flare quality setting.
Video Sampling
The target texture to sample for video-driven lighting effects.
Materials
Array of all fixture materials in the scene.
Array of all volumetric materials in the scene.
Array of all projection materials in the scene.
Array of all disco ball materials in the scene.
Array of all laser materials in the scene.
Post Processing
Animator controlling bloom post-processing effects.
UI Sliders
Master intensity slider controlling all fixture types.
Intensity slider for fixture meshes.
Intensity slider for volumetric effects.
Intensity slider for projection effects.
Intensity slider for disco ball effects.
Intensity slider for laser effects.
Intensity slider for bloom post-processing.
Intensity Maximums
Maximum intensity value for fixtures.
Maximum intensity value for volumetric effects.
Maximum intensity value for projections.
Maximum intensity value for disco balls.
Maximum intensity value for lasers.
DMX Configuration
Enable/disable DMX functionality in the scene.
Enable/disable AudioLink functionality in the scene.
DMX grid mode: 0 = Horizontal, 1 = Vertical, 2 = Legacy
Delay strobe effects for global illumination baking.
Enable support for extended DMX universes (9-universe mode).
Use separate interpolation speed for in-game DMX.
Modifier for in-game interpolation speed.
Enable debug logging for troubleshooting.
Render Textures
Custom render textures for horizontal DMX grid mode.
Custom render textures for vertical DMX grid mode.
Custom render textures for legacy DMX grid mode.
Custom render textures for AudioLink.
Volumetric Noise Settings
Enable/disable volumetric noise effects. Automatically disabled on Android/iOS.
Require depth light for volumetric effects. Automatically disabled on Android/iOS.
Strobe Settings
Globally disable all strobe effects across all fixtures.
Public Methods
Quality Control Methods
_SetVolumetricHigh()
Sets volumetric quality to High mode._SetVolumetricMed()
Sets volumetric quality to Medium mode._SetVolumetricLow()
Sets volumetric quality to Low mode._UpdateAllQualityModes()
Updates all quality modes and applies settings.Intensity Control Methods
_SetFinalIntensity()
Sets master intensity for all fixture types._SetFixtureIntensity()
Sets intensity specifically for fixture meshes._SetVolumetricIntensity()
Sets intensity specifically for volumetric effects._SetProjectionIntensity()
Sets intensity specifically for projection effects._SetDiscoBallIntensity()
Sets intensity specifically for disco ball effects._SetLaserIntensity()
Sets intensity specifically for laser effects._SetBloomIntensity()
Sets bloom post-processing intensity.DMX Control Methods
_CheckDMX()
Checks and updates DMX configuration based on current settings._SetDMXHorizontal()
Switches to horizontal DMX grid mode._SetDMXVertical()
Switches to vertical DMX grid mode._SetDMXLegacy()
Switches to legacy DMX grid mode.AudioLink Methods
_CheckAudioLink()
Checks and updates AudioLink configuration.Video Sampling Methods
_ForceUpdateVideoSampleTexture()
Forces an update of the video sample texture across all materials.Strobe Control
_ToggleGlobalStrobe()
Toggles the global strobe disable state.Usage Example
Quality Mode Comparison
| Quality Level | Render Mode | Alpha Test | Performance | Visual Quality |
|---|---|---|---|---|
| High | Transparent | Disabled | Heavy | Best |
| Medium | Transparent | Disabled | Moderate | Good |
| Low | Opaque | Enabled | Light | Basic |
Performance Tips
- Lock quality modes in production to prevent users from selecting performance-heavy settings
- Use separate intensity controls to allow users to disable expensive effects (volumetrics, projections)
- Enable interpolation reduction for in-game use to improve DMX responsiveness
- Disable debug logs in production builds
Related Components
- VRStageLighting_DMX_Static - DMX-controlled fixtures
- VRStageLighting_AudioLink_Static - AudioLink-controlled fixtures
- GridReader - OSC/DMX grid reader component