02 - Fixture Library
Module: SuperFixtureLibrary (USuperFixtureLibrary)
Target Users: Lighting designers, fixture blueprint creators
Prerequisites: 00 - DMX System Overview
Last Updated: 2026-04-14
1. What is a Fixture Library
The Fixture Library is the configuration file in SuperStage that defines a fixture’s DMX channel table. It tells the system:
- What controllable functions this fixture has (Dimmer, Pan, Tilt, Color, Gobo, etc.)
- Which channel each function occupies (relative offset)
- The precision of each function (8-bit/16-bit/24-bit)
- The meaning of different value ranges within each function (e.g., channel value 0-127 = White on, 128-255 = Strobe)
In simple terms, the fixture library is the fixture’s “manual” — it tells SuperStage how to interpret the DMX data sent by the console.
Analogy: The fixture library is like the Fixture Profile in an MA console, or the channel definitions in a GDTF file.
2. Creating a Fixture Library Asset
Steps
- In Content Browser, right-click → Miscellaneous → Data Asset
- In the class selection window that appears, select SuperFixtureLibrary
- Name the asset (recommend using the fixture model name, e.g.,
FL_ClayPaky_Sharpy) - Double-click to open the asset for editing
Naming Conventions
| Prefix | Example | Description |
|---|---|---|
FL_ |
FL_Robe_MegaPointe |
Abbreviation of Fixture Library |
FL_Manufacturer_Model |
FL_Chauvet_MaverickMK3 |
Easy identification |
3. Fixture Library Properties Detail
After opening the fixture library asset, you can see the following properties in the Details panel:
3.1 Basic Information
| Property | Description | Example |
|---|---|---|
| Fixture Name | Fixture model name | MegaPointe |
| Manufacturer | Manufacturer | Robe |
| Source | Data source | Custom, GDTF, MA2, MA3 |
| Power | Rated power (watts) | 1700 |
| Weight | Weight (kilograms) | 36.8 |
This information is mainly used for CAD construction drawings and report statistics, and does not affect DMX control logic.
3.2 Module Instance List (Modules)
The core part of the fixture library is the Modules (module instance list).
Each module instance represents a functional module of the fixture. For most fixtures, only one module instance is needed. For matrix lights (e.g., LED panel lights), each bead/pixel is an independent module instance.
Click the + button next to Modules to add a module instance.
Module Instance Properties
| Property | Description | Example |
|---|---|---|
| Module Name | Module name (optional, for identification) | Main or Pixel_1 |
| Patch | Channel offset relative to StartAddress (0-based). Absolute base = StartAddress + Patch. For single-module fixtures, typically set to 0 or 1. Matrix lights have different Patch values for each pixel module | 1 |
| Attribute Defs | Attribute definition list for this module (see details below) | — |
4. Attribute Definitions (Attribute Defs)
Each module instance can contain multiple attribute definitions (Attribute Def), each corresponding to a controllable function of the fixture.
Click the + button next to Attribute Defs to add an attribute.
4.1 Basic Attribute Parameters
| Parameter | Description | Detailed Explanation |
|---|---|---|
| Attrib Name | Attribute name (FName) | Must be unique. This is the identifier used to reference this attribute in blueprints. Recommended standard names: Dimmer, Pan, Tilt, Red, Green, Blue, White, Gobo, Prism, Focus, Zoom, Shutter, ColorWheel, etc. |
| Coarse | Coarse channel offset (1-based) | Required. The main channel offset of this attribute within the module. For example, Coarse=5 means this attribute starts from the 5th channel of the module |
| Fine | Fine channel offset (1-based) | Optional. Set to 0 for no fine channel. Used for 16-bit precision control (e.g., Pan/Tilt) |
| Ultra | Ultra channel offset (1-based) | Optional. Set to 0 for no ultra channel. Used for 24-bit precision control (rarely used) |
| Category | Attribute category (EDMXAttributeCategory) | Used for console UI grouping, does not affect functional logic |
| DefaultValue | Default DMX value (0-100) | Used for console Default preset |
| HighlightValue | Highlight DMX value (0-100) | Used for console Highlight function |
4.2 Channel Offset Details
Channel offset is the offset relative to the module Patch, counting from 1.
Address Calculation Formula:
Absolute Channel Address = Fixture StartAddress + Module Offset (Patch - 1) + Attribute Offset (Coarse - 1)
Example: A fixture with StartAddress = 101, Module Patch = 1
| Attribute | Coarse | Fine | Actually Occupied Channels |
|---|---|---|---|
| Dimmer | 1 | 0 | 101 |
| Pan | 2 | 3 | 102-103 |
| Tilt | 4 | 5 | 104-105 |
| Color Wheel | 6 | 0 | 106 |
| Gobo 1 | 7 | 8 | 107-108 |
| Prism | 9 | 0 | 109 |
4.3 Channel Precision Types
| Type | Bit Depth | Channels Used | Value Range | Applicable Scenarios |
|---|---|---|---|---|
| Coarse | 8-bit | Coarse channel only | 0 - 255 | On/off functions (Gobo, Prism, Color Wheel, etc.) |
| Fine | 16-bit | Coarse + Fine channels | 0 - 65,535 | Functions requiring smooth movement (Pan, Tilt, Zoom, etc.) |
| Ultra | 24-bit | Coarse + Fine + Ultra channels | 0 - 16,777,215 | Extremely high precision needs (rarely used) |
Important: Channel Type determines the normalization method when reading this attribute in blueprints:
- Coarse → Raw value ÷ 255 = 0.0 ~ 1.0
- Fine → Raw value ÷ 65,535 = 0.0 ~ 1.0
- Ultra → Raw value ÷ 16,777,215 = 0.0 ~ 1.0
Quick Channel Precision Selection Guide
| Attribute Type | Recommended Precision | Reason |
|---|---|---|
| Dimmer | Fine (16-bit) | Visible stepping occurs with 8-bit precision at low brightness |
| Pan / Tilt | Fine (16-bit) | Rotational movement needs smooth transition; 8-bit only gives 256 steps — far from sufficient |
| Zoom / Focus / Iris | Fine (16-bit) | Optical parameter adjustment needs fine control |
| ColorWheel | Coarse (8-bit) | Discrete selection (6-12 colors), no continuous transition needed |
| Gobo Selection | Coarse (8-bit) | Discrete selection (6-12 gobos) |
| Gobo Rotation | Fine (16-bit) | Continuous rotation speed needs smoothness |
| Prism | Coarse (8-bit) | Discrete selection (on/off/rotation direction) |
| Strobe | Coarse (8-bit) | Strobe speed usually sufficient at 8-bit |
| RGB / RGBW | Coarse (8-bit) | Color mixing usually sufficient at 8-bit (256 levels) |
| CMY | Coarse (8-bit) | Same as RGB |
| CTO / CTB | Coarse (8-bit) | Color temperature adjustment usually sufficient at 8-bit |
| Control Channels (Reset/Lamp) | Coarse (8-bit) | Command-type channels, no fine adjustment needed |
Rule of Thumb: If the fixture manual allocates 2 channels (Coarse + Fine) for an attribute, use Fine. If only 1 channel is allocated, use Coarse. Configure strictly according to the fixture manual.
4.4 Attribute Categories
| Category | Description | Typical Attributes |
|---|---|---|
| Dimmer | Brightness | Dimmer |
| Position | Position | Pan, Tilt, PanRot, TiltRot |
| Gobo | Gobo | Gobo1, Gobo2, GoboRot |
| Color | Color | Red, Green, Blue, White, Amber, ColorWheel, CTO |
| Beam | Beam | Zoom, Iris |
| Focus | Focus | Focus |
| Control | Control | Reset, LampOn, LampOff |
| Shapers | Cutting | Blade A1-B4, ShaperRot |
| Strobe | Strobe | Shutter, Strobe |
| Prism | Prism | Prism1, Prism2, PrismRot |
| Frost | Frost | Frost |
| Effects | Effects | EffectDimmer, EffectValue |
| Other | Other | Any uncategorized functions |
5. Sub-Attributes
Each attribute definition can contain sub-attributes (Sub-Attributes) for defining functional subdivisions within channel value ranges. This is similar to “Channel Sets” in MA consoles.
5.1 Sub-Attribute Parameters
| Parameter | Description | Example |
|---|---|---|
| WheelName | Sub-attribute name (Wheel identifier) | Open White, Gobo 1, Strobe Slow-Fast |
| StrobeMode | Strobe mode (Dimmer/Strobe type attributes only) | Closed / Open / Linear / Pulse / RampUp / RampDown / Sine / Random |
| RotationMode | Rotation mode (Position type attributes only) | Off / Stop / Position / Infinite |
| DMX Range Min | Minimum DMX value range (0-255) | 0 |
| DMX Range Max | Maximum DMX value range (0-255) | 255 |
| Physical Range | Physical value range (real units, FVector2D) | (0.0, 540.0) (degrees/meters/percent etc.) |
| Channel Sets | Embedded slot list (see Section 6) | Array of FChannelSet |
5.2 Sub-Attribute Examples
Gobo Channel Sub-Attribute Definitions:
| Sub-Attribute Name | DMX Min | DMX Max | Description |
|---|---|---|---|
| Open | 0 | 7 | No Gobo (White) |
| Gobo 1 | 8 | 15 | First gobo pattern |
| Gobo 2 | 16 | 23 | Second gobo pattern |
| Gobo 3 | 24 | 31 | Third gobo pattern |
| Gobo 1 Spin CW | 32 | 95 | Gobo 1 clockwise rotation (slow→fast) |
| Gobo 1 Spin CCW | 96 | 159 | Gobo 1 counter-clockwise rotation (slow→fast) |
Pan Channel Sub-Attribute Definitions:
| Sub-Attribute Name | DMX Min | DMX Max | Physical Min | Physical Max | Description |
|---|---|---|---|---|---|
| Pan Range | 0 | 255 | -270.0 | 270.0 | Pan angle range ±270° |
6. Channel Sets
Channel Sets are a shortcut, similar to MA2’s Channel Set function. They provide preset named values for attribute definitions.
6.1 Channel Set Parameters (FChannelSet)
| Parameter | Description | Example |
|---|---|---|
| Name | Slot name | Open, Gobo 1, Red |
| GoboMode | Gobo mode | Static / Scrolling / Shake |
| DmxMin | DMX value range minimum | 0 |
| DmxMax | DMX value range maximum | 15 |
| PhysicalRange | Physical value range (FVector2D) | (0.0, 360.0) |
| Texture | Gobo texture (UTexture2D, Gobo-specific) | Pattern texture asset |
| Color | Color value (FLinearColor, ColorWheel-specific) | (1,0,0,1) |
| ColorIndex | Color index value (for ColorWheel positioning) | 0.5 |
| PrismSelection | Prism selection (EPrismLayerSelect) | None / Prism1 / Prism2 / Prism3 |
6.2 Use Cases
Channel Sets are typically used for quick access to specific function values, for example:
- Gobo channel: Open=0, Gobo1=10, Gobo2=20 …
- Shutter channel: Open=255, Closed=0, Strobe=128
7. Matrix Light Configuration
For LED matrix lights (e.g., Robe Spiider, Ayrton MagicPanel, etc.), each bead/pixel needs to be defined as an independent module instance.
7.1 Matrix Configuration Steps
- Determine the fixture’s pixel count (e.g., 7 beads)
- Determine each pixel’s channel layout (e.g., each pixel 4 channels: RGBW)
- Determine the master control channel count (e.g., Dimmer, Pan, Tilt, etc. occupy first 16 channels)
Example: A 7-bead LED matrix light, 16 master channels, each bead RGBW 4 channels
| Module Instance | Module Name | Patch | Attributes |
|---|---|---|---|
| 0 | Main | 1 | Dimmer(1), Pan(2/3), Tilt(4/5), … |
| 1 | Pixel 1 | 17 | Red(1), Green(2), Blue(3), White(4) |
| 2 | Pixel 2 | 21 | Red(1), Green(2), Blue(3), White(4) |
| 3 | Pixel 3 | 25 | Red(1), Green(2), Blue(3), White(4) |
| 4 | Pixel 4 | 29 | Red(1), Green(2), Blue(3), White(4) |
| 5 | Pixel 5 | 33 | Red(1), Green(2), Blue(3), White(4) |
| 6 | Pixel 6 | 37 | Red(1), Green(2), Blue(3), White(4) |
| 7 | Pixel 7 | 41 | Red(1), Green(2), Blue(3), White(4) |
Note: Each pixel module’s Patch value = Master channel count + (Pixel index × Pixel channel count) + 1
7.2 Matrix Attribute Reading
After configuring the matrix, blueprints can use matrix reading functions to retrieve same-named attribute values for all pixels at once (e.g., get Red values for all pixels), returning an array. See the matrix control section in 04 - Moving Light for details.
8. Associating Fixture Library with Fixture Actors
After creating a fixture library, you need to associate it with the fixture Actor in the scene:
- Select the fixture Actor in the scene
- In the Details panel, find the Fixture Library property
- Select the corresponding fixture library asset from the dropdown
Tip: For custom fixture blueprints, it’s recommended to pre-set the Fixture Library in the blueprint defaults, so it’s automatically associated when placed in the scene.
9. Built-in Fixture Libraries
SuperStage provides pre-made fixture libraries for multiple brands in the Content/LightingLibrary/ directory:
| Brand | Directory | Description |
|---|---|---|
| Acme | LightingLibrary/Acme/ |
Acme fixture series |
| Chauvet | LightingLibrary/Chauvet/ |
Chauvet fixture series |
| ClayPaky | LightingLibrary/ClayPaky/ |
Clay Paky fixture series |
| Others | LightingLibrary/... |
More brands |
You can use these pre-made fixture libraries directly, or duplicate one as a starting point for a custom fixture library.
10. Best Practices
Fixture Library Naming
- Use
FL_Brand_Model_Modeformat, e.g.,FL_Robe_MegaPointe_Standard - Different DMX modes of the same fixture should have different fixture libraries
Channel Offsets
- Fill in strictly according to the fixture manual’s channel table
- Note that offsets start from 1 (not 0)
- Fine channels usually follow immediately after Coarse channels
Attribute Naming
- Use standardized names (Dimmer, Pan, Tilt, Red, Green, Blue…)
- Keep naming consistent within the same project for blueprint reusability
- Attribute names are case-sensitive
Verification
- After configuration, place a fixture in the scene and connect the console
- Push each channel value one by one to confirm each attribute responds correctly
- Use the DMX Activity Monitor to assist debugging
11. FAQ
Q: Fixture doesn’t respond to a certain channel?
Check if the Coarse offset value for that channel is correct. Note that offsets start from 1.
Q: Pan/Tilt movement not smooth enough?
Ensure Fine channels are correctly set and Channel Type is set to Fine (16-bit).
Q: Only the first pixel of the matrix light responds?
Check if each pixel module instance’s Patch value is correctly calculated.
Q: How do I know how many channels a fixture occupies?
The fixture’s channel span is automatically calculated and displayed in the Patch tool and CAD view. It equals the maximum channel address across all modules - minimum channel address + 1.
Next Steps: Read 03 - DMX Fixture Base to learn how to configure fixture DMX addresses in the scene.