Unreal Engine Lighting Export / Import Tool (Python)

A Python-based Unreal Editor tool designed for non-destructive lighting iteration and documentation. The system extracts per-light data—including actor label, light type, world transform, color, and intensity—into a structured CSV format that can be re-imported to update or reconstruct lighting setups without duplicating actors.

The pipeline was built to support stable round-trip workflows, with investigation and fixes for Unreal’s internal color (BGRA) representation and rotation instability caused by Euler–quaternion conversions. Lights are matched by Outliner label on import, enabling rapid comparison, revision, and reuse of lighting configurations across scenes. The tool is exposed through an Editor Utility Widget and structured to support future extension with light-type–specific attributes.

Extending the Pipeline: Light-Type–Specific Attributes

Future development (currently in progress Feb 2026) — extend to include light-specific attributes / serialize attributes conditionally based on light class, for example:

  • Point Lights

    • Attenuation Radius

    • Source Radius

    • Source Length

    • Soft Source Radius

  • Spot Lights

    • Inner / Outer Cone Angle

    • Attenuation Radius

    • Source Radius

  • Rect Lights

    • Source Width / Height

    • Barn Door Angle

    • Barn Door Length

  • All Light Types

    • Volumetric Scattering Intensity

    • Indirect Lighting Intensity

    • Cast Shadows / Shadow Bias

    • Affect Translucency / GI flags

Goals:

  • During export, the script checks the light’s class (PointLightComponent, RectLightComponent, etc.) and conditionally writes only the relevant attributes to CSV columns.

  • During import, those attributes are reapplied only if the receiving light supports them, preventing errors or invalid data assignment.

  • Missing or unsupported fields can safely default, making the system backward-compatible as new attributes are added.

This approach keeps the pipeline robust, extensible, and production-safe, while allowing increasingly granular lighting control over time.