Overview
The DMX Patch Exporter provides tools for persisting and exporting DMX fixture patch data from your Unity scene. This system allows you to:- Save patch data to survive scene corruption or Unity crashes
- Load previously saved patch configurations
- Export patch data for use in external lighting software
- Generate documentation for your lighting setup
The DMX Patch Exporter requires a VRSL_LocalUIControlPanel component in your scene. All operations work with the currently active scene.
Accessing Patch Exporter Functions
All patch exporter functions are accessible from the Unity menu bar:Save Patch Data
Purpose
Saves the current DMX fixture configuration to a ScriptableObject asset for later restoration.Workflow
Configure Your Fixtures
Set up all DMX fixtures in your scene with proper channel assignments, IDs, and properties using the VRSL Manager Window.
Asset Created
A
VRSL_DMXPatchSettings asset is created in Assets/VRSL DMX Patch Folder/.The asset is automatically named: VRSL DMX Patch Data_[SceneName].assetSaved Data Includes
- DMX universe assignments
- DMX channel numbers
- Fixture IDs
- Fixture types (if defined)
- Fixture names/GameObjects
- All fixture-specific settings:
- Intensity values
- Color tints
- Movement ranges (pan/tilt)
- Inversions and offsets
- Cone dimensions
- Special feature toggles
First Save vs. Subsequent Saves
First Save:- Creates new
VRSL_DMXPatchSettingsasset - Creates
VRSL DMX Patch Folderif it doesn’t exist - Links asset GUID to control panel
- Overwrites existing linked asset
- Preserves asset location and name
- Updates all fixture data
Load Patch Data
Purpose
Restores previously saved DMX fixture configuration to all fixtures in the current scene.Workflow
Ensure Scene Match
Open the scene that corresponds to the saved patch data. Fixture GameObjects must exist in the scene with VRSL scripts attached.
Data Restored
All fixture properties are restored from the saved asset to matching fixtures in the scene.
Verify in Manager Window
Open the VRSL Manager Window to verify all settings were restored correctly.
How Fixtures Are Matched
The load operation matches saved data to scene fixtures using:- GameObject name (primary identifier)
- GameObject hierarchy path (secondary verification)
- Component type (DMX vs. AudioLink)
Renamed or moved fixtures may not load correctly. Try to maintain consistent GameObject names and hierarchy structure.
Use Cases
- Recovery: Restore patch after scene corruption
- Iteration: Revert to known good configuration while experimenting
- Collaboration: Share patch data between team members
- Version Control: Maintain patch history alongside scene versions
Export Formats
Export to JSON
JSON Structure
Use Cases
- Version Control: Commit JSON to Git for tracking changes
- Documentation: Human-readable patch reference
- Integration: Import to web tools or custom scripts
- Archival: Long-term storage format
Export to MVR (My Virtual Rig)
What is MVR?
My Virtual Rig (MVR) is an open standard file format for describing entertainment technology setups. It’s supported by:- MA Lighting grandMA2/grandMA3 - Import VRSL fixtures as console patch
- Vectorworks Spotlight - Visualize VRSL rig in CAD environment
- Vision/Capture/WYSIWYG - Previz software integration
- GDTF Share - Fixture library compatibility
MVR Export Contents
- Fixture positions (Unity world coordinates converted to MVR coordinate system)
- DMX universe/address assignments
- Fixture types (from Fixture Definitions)
- Rotation/orientation data
- Color and beam properties
Workflow Example: Unity to grandMA3
Import to grandMA3
In grandMA3 software:
- Go to Patch menu
- Import MVR file
- Fixtures appear with matching addresses
MVR export requires proper Fixture Definitions to be assigned to your fixtures for best results. Without definitions, fixtures export with generic types.
Export to PDF (Windows Only)
PDF Patch Sheet Contents
- Scene Name and export date
- Fixture Table with columns:
- Fixture ID
- Fixture Name
- Type (from Fixture Definition)
- Universe
- DMX Channel
- Channel Count
- Position (Unity coordinates)
- Notes/Properties
Use Cases
- Production Documentation: Print for venue reference
- Load-In Sheets: Distribute to lighting crew
- Client Deliverables: Professional documentation
- Archival: Physical backup of patch
Workaround for macOS/Linux
- Export to JSON format
- Use online JSON-to-PDF converters
- Or write a custom Python/Node.js script to generate PDFs from JSON
Patch Data Asset Reference
VRSL_DMXPatchSettings
The ScriptableObject asset that stores patch data. Location:Assets/VRSL DMX Patch Folder/VRSL DMX Patch Data_[SceneName].asset
Properties:
targetScene- Scene reference (for verification)fixtureData- Serialized fixture arrayexportDate- Last save/export timestamp
SetDMXFixtureData()- Populates data from scene fixturesLoadDMXFixtureData()- Applies data to scene fixturesToJsonFile(bool prettyPrint)- Exports to JSONToMVRFile()- Exports to MVR formatToPDF()- Exports to PDF (Windows only)
Inspector View
Screenshot would show: The VRSL_DMXPatchSettings inspector with fixture data array, scene reference, and export timestamp.
- View (but don’t edit) saved fixture data
- See last save timestamp
- Verify scene association
Best Practices
Regular Saves
- Save after initial fixture setup
- Save before major restructuring
- Save before Unity version upgrades
- Save before VRChat world uploads
Version Control Integration
Collaboration Workflow
-
Lead Lighting Designer:
- Configures patch in Unity
- Saves patch data asset
- Commits scene + patch asset to Git
-
Team Members:
- Pull latest scene + patch asset
- Load patch data to restore exact configuration
- Make local changes, save, commit
-
External Lighting Programmers:
- Receive MVR export
- Import to console/previz software
- Program show independent of Unity
Backup Strategy
- Keep patch data assets in version control
- Export JSON periodically to cloud storage
- Export MVR before production/events
- Generate PDF for physical archival
Troubleshooting
Save Patch Data Grayed Out
Save Patch Data Grayed Out
- Verify VRSL_LocalUIControlPanel exists in scene
- Check that scene is saved (not “Untitled”)
- Ensure scene is not in play mode
Load Patch Data Fails Silently
Load Patch Data Fails Silently
- Check Console for errors
- Verify patch data asset still exists
- Ensure fixture GameObjects have not been renamed
- Confirm fixtures have VRSL component scripts attached
MVR Export Has Wrong Coordinates
MVR Export Has Wrong Coordinates
- MVR uses different coordinate system than Unity
- Verify fixture positions in external software
- May need to adjust coordinate conversion in VRSL code
PDF Export Shows Error on Mac
PDF Export Shows Error on Mac
- PDF export is Windows-only feature
- Use JSON export as alternative
- Consider cross-platform PDF library for future updates
Fixture Definitions Missing in Export
Fixture Definitions Missing in Export
- Verify fixtures have Fixture Type assigned
- Check that Fixture Definition file exists
- See Fixture Definitions documentation
Related Documentation
- VRSL Manager Window - Configure fixtures before exporting
- Fixture Definitions - Define fixture types for export
- DMX Fixture Component - Fixture component reference