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
VolumetricQualityModes
default:"High"
Controls the rendering quality for volumetric lighting effects. Options:
High, Medium, Lowbool
default:"false"
When enabled, prevents users from changing the volumetric quality mode via UI.
DefaultQualityModes
default:"High"
Quality setting for blinder projection effects. Options:
High, Lowbool
default:"false"
When enabled, locks the blinder projection quality setting.
DefaultQualityModes
default:"High"
Quality setting for PAR projection effects. Options:
High, Lowbool
default:"false"
When enabled, locks the PAR projection quality setting.
DefaultQualityModes
default:"High"
Quality setting for other projection effects (non-PAR, non-Blinder). Options:
High, Lowbool
default:"false"
When enabled, locks the other projection quality setting.
DefaultQualityModes
default:"High"
Quality setting for disco ball effects. Options:
High, Lowbool
default:"false"
When enabled, locks the disco ball quality setting.
DefaultQualityModes
default:"High"
Quality setting for lens flare effects. Options:
High, Lowbool
default:"false"
When enabled, locks the lens flare quality setting.
Video Sampling
Texture
default:"null"
The target texture to sample for video-driven lighting effects.
Materials
Material[]
required
Array of all fixture materials in the scene.
Material[]
required
Array of all volumetric materials in the scene.
Material[]
required
Array of all projection materials in the scene.
Material[]
required
Array of all disco ball materials in the scene.
Material[]
required
Array of all laser materials in the scene.
Post Processing
Animator
default:"null"
Animator controlling bloom post-processing effects.
UI Sliders
UnityEngine.UI.Slider
Master intensity slider controlling all fixture types.
UnityEngine.UI.Slider
Intensity slider for fixture meshes.
UnityEngine.UI.Slider
Intensity slider for volumetric effects.
UnityEngine.UI.Slider
Intensity slider for projection effects.
UnityEngine.UI.Slider
Intensity slider for disco ball effects.
UnityEngine.UI.Slider
Intensity slider for laser effects.
UnityEngine.UI.Slider
Intensity slider for bloom post-processing.
Intensity Maximums
float
default:"1.0"
Maximum intensity value for fixtures.
float
default:"1.0"
Maximum intensity value for volumetric effects.
float
default:"1.0"
Maximum intensity value for projections.
float
default:"1.0"
Maximum intensity value for disco balls.
float
default:"1.0"
Maximum intensity value for lasers.
DMX Configuration
bool
default:"true"
Enable/disable DMX functionality in the scene.
bool
default:"true"
Enable/disable AudioLink functionality in the scene.
int
default:"0"
DMX grid mode: 0 = Horizontal, 1 = Vertical, 2 = Legacy
bool
default:"true"
Delay strobe effects for global illumination baking.
bool
default:"false"
Enable support for extended DMX universes (9-universe mode).
bool
default:"true"
Use separate interpolation speed for in-game DMX.
float
default:"1.55"
Modifier for in-game interpolation speed.
bool
default:"false"
Enable debug logging for troubleshooting.
Render Textures
CustomRenderTexture[]
required
Custom render textures for horizontal DMX grid mode.
CustomRenderTexture[]
required
Custom render textures for vertical DMX grid mode.
CustomRenderTexture[]
required
Custom render textures for legacy DMX grid mode.
CustomRenderTexture[]
required
Custom render textures for AudioLink.
Volumetric Noise Settings
bool
default:"true"
Enable/disable volumetric noise effects. Automatically disabled on Android/iOS.
bool
default:"true"
Require depth light for volumetric effects. Automatically disabled on Android/iOS.
Strobe Settings
bool
default:"false"
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
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