Add Light Defaults editor tool - #9856
Merged
Merged
Conversation
…osphere lighting New editor tool (Window > Light Defaults) to edit color/intensity/emissive for street/building/vehicle lights, traffic lights, and procedural building windows from a single panel, backed by a reusable JSON catalog (Config/Lights/Defaults.json) keyed by asset class with LightGroup fallback. - CarlaLight: apply intensity/color/emissive natively in C++ instead of relying on BP_Lights' UpdateLights BlueprintImplementableEvent, confirmed dead (never reached the native light component). - CarlaWheeledVehicle: apply saved per-group light intensities on BeginPlay and after every SetVehicleLightState, gated by which group is actually on, so the Blueprint's own weak RefreshLightState values don't win the race. - Sky/Weather: stop the Moon directional light from contending with the Sun for the single forward-shading/SkyAtmosphere sun slot (ForwardShadingPriority, AtmosphereSunLight) -- was causing a black sky once the sun rose in some configurations. Also reset Moon intensity when it's day (was getting stuck at its night floor) and neutralize a stray third DirectionalLight introduced by SetSunActorReference. - Carla.Build.cs/Carla.cpp: wire up new module dependencies (InputCore, AppFramework for SColorPicker) and register/unregister the Light Defaults editor tab + map-opened hook. - CustomV2XSensor.cpp: add missing CarlaStatics.h include (unrelated, needed to compile).
Blyron
approved these changes
Sep 2, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a "Light Defaults" editor tool (Window > Light Defaults) to tune
color/intensity/emissive for street lights, building lights, traffic
lights, procedural building windows, and vehicle lights from one panel,
backed by a reusable per-class JSON catalog instead of editing each
Blueprint/material by hand. Also includes two lighting bugs found and
fixed while building the tool.
Companion content PR (required for the tool to have anything to read/write
and for the fixes below to take effect):
Blueprint event that never reached the native component.
traffic light's own construction script already owns (no new MID, keeps
its red/amber/green cycle array intact).
PerInstanceRandom-gated parameter added to M_FakeInterior in the content
PR, instead of only being able to toggle an entire HISM block at once.
placed in the level), per-group intensity, live preview with camera
framing, and runtime integration with manual_control.py/generate_traffic.py
light toggling.
illumination, LFM_Indicator in the content PR) was reading the engine's
raw, unsynchronized Time instead of the same VisualTime used by the
body's emissive material -- fixed the permanent phase offset between the
two.
sun-light slot over the real Sun, and could get stuck at its night-floor
intensity during the day -- both caused broken/black sky rendering in
some configurations.
This change is