Skip to main content

lighting kit

13 tools. Generated from the plugin source; do not edit by hand.

Guide​

The lighting. kit changes persisted project defaults that affect baked-lighting availability, reflection-capture memory, and UE5 Lumen/VSM rendering. Use it after choosing the level's lighting design. It does not place lights or build a level: use level. for that, component. for Blueprint component templates, and render./console. for temporary renderer controls.

For an existing placed-light rig, use the rig audits to find budget, overlap, movable-shadow, and missing-IES risks. Normalization, interior/exterior recipes, and quality tiers default to dryRun=true and apply coordinated changes only after reviewing the returned per-light plan.

ToolUse
lighting.get_static_defaultsInspect static-lighting support, virtual-textured lightmaps, and reflection-capture resolution.
lighting.set_static_defaultsPersist static-lighting and reflection-capture defaults.
lighting.get_realtime_defaultsInspect UE5 GI, reflection, virtual shadow map, and Lumen defaults.
lighting.set_realtime_defaultsPersist UE5 Lumen/reflection/VSM defaults.

Start by inspecting both groups:

lighting.get_static_defaults {}
lighting.get_realtime_defaults {}

For a baked-lighting project, confirm that static lighting is enabled before adding static or stationary lights and running level.build_lighting. If reflection probes need more detail, set a power-of-two capture resolution, then restart the editor and rebuild captures:

lighting.set_static_defaults {
"allowStaticLighting": "true",
"virtualTexturedLightmaps": "true",
"reflectionCaptureResolution": 512
}
level.recapture_reflections {}

For a UE5 dynamic-lighting project, write the project defaults before creating the final content. VSM is selected by virtualShadowMaps; use false for conventional shadow maps. The following enables Lumen GI/reflections and asks for hardware tracing where the target hardware and RHI support it:

lighting.set_realtime_defaults {
"globalIllumination": "lumen",
"reflections": "lumen",
"virtualShadowMaps": "true",
"lumenHardwareRayTracing": "true",
"lumenRayLightingMode": "surface_cache"
}

Then restart the editor. These are project config changes, so shader recompilation can follow. Build lighting only when the level still uses precomputed lighting; Lumen itself does not need a Lightmass build. Per-level artistic quality remains with a post-process volume:

level.add_post_process_volume { "name": "PP_Lighting", "unbound": true }
level.set_global_illumination { "target": "PP_Lighting", "method": "lumen", "lumenSceneLightingQuality": "4" }
level.set_reflection_method { "target": "PP_Lighting", "method": "lumen" }

lighting.get_realtime_defaults is hidden on UE 4.27. On custom UE5 builds, a missing renderer property is reported in warnings; do not substitute a guessed CVar. hit_lighting_for_reflections is available from UE 5.5 onward; older UE5 versions accept surface_cache or hit_lighting. The setter tools are intentionally not smoke-tested because they write DefaultEngine.ini and can require restart, shader work, or a lighting rebuild.

To stage a rig to audit or tune, lighting.spawn_three_point_rig {namePrefix, target, distance} spawns <prefix>_Key (spot), <prefix>_Fill (point) and <prefix>_Rim (spot) aimed at the target; pass the prefix as nameContains to the rig audits, lighting.normalize_light_units, the recipes and lighting.batch_set_quality_tier (all accept dryRun).

Tools​

Legend. risk 0 = read-only, 1 = harmless editor op, 2 = modifies asset, 3 = deletes/replaces asset, 4 = project/config/build op, 5 = potentially destructive (calls above MaxAutoRisk need "_confirm": true). mutates = runs in a transaction (edit.undo reverts). requires PIE / requires world = refused without a PIE session / an open level. requires plugin = unavailable while the plugin is disabled. dryRun = honours the dryRun argument. smoke = covered by edit.self_test.

lighting.apply_exterior_rig_recipe (risk 2, mutates, requires world, dryRun, smoke)​

No description.

ArgumentTypeDescription
nameContainsstringPrefix used to select existing rig light actors.
keyIntensitynumberPrimary-light intensity. Default 10000.0.
fillIntensitynumberFill-light intensity. Default 2000.0.
dryRunbooleanPreview without edits. Default true.

Returns: count, changed, values, message.

lighting.apply_interior_rig_recipe (risk 2, mutates, requires world, dryRun, smoke)​

No description.

ArgumentTypeDescription
nameContainsstringPrefix used to select existing rig light actors.
keyIntensitynumberPrimary-light intensity. Default 10000.0.
fillIntensitynumberFill-light intensity. Default 2000.0.
dryRunbooleanPreview without edits. Default true.

Returns: count, changed, values, message.

lighting.audit_light_budget (risk 0, requires world, smoke)​

No description.

ArgumentTypeDescription
nameContainsstringOptional light actor-name substring.
limitintegerMaximum lights reported. Default 100.
distancenumberDistance threshold in centimetres. Default 1000.0.

Returns: count, changed, values, message.

lighting.batch_set_quality_tier (risk 2, mutates, requires world, dryRun, smoke)​

No description.

ArgumentTypeDescription
tierstringrequired. low, medium, or high.
nameContainsstringOptional light actor-name substring.
dryRunbooleanPreview without edits. Default true.

Returns: count, changed, values, message.

lighting.find_missing_ies_assets (risk 0, requires world, smoke)​

No description.

ArgumentTypeDescription
nameContainsstringOptional light actor-name substring.
limitintegerMaximum lights reported. Default 100.
distancenumberDistance threshold in centimetres. Default 1000.0.

Returns: count, changed, values, message.

lighting.find_overlapping_lights (risk 0, requires world, smoke)​

No description.

ArgumentTypeDescription
nameContainsstringOptional light actor-name substring.
limitintegerMaximum lights reported. Default 100.
distancenumberDistance threshold in centimetres. Default 1000.0.

Returns: count, changed, values, message.

lighting.find_shadow_cost_risks (risk 0, requires world, smoke)​

No description.

ArgumentTypeDescription
nameContainsstringOptional light actor-name substring.
limitintegerMaximum lights reported. Default 100.
distancenumberDistance threshold in centimetres. Default 1000.0.

Returns: count, changed, values, message.

lighting.get_realtime_defaults (risk 0, UE 5.0+, smoke)​

Gets the UE5 dynamic GI, reflection, virtual-shadow-map and Lumen defaults.

No arguments.

Returns: settings, warnings, restartRequired.

lighting.get_static_defaults (risk 0, smoke)​

Gets static-lighting, virtual-lightmap and reflection-capture project defaults.

No arguments.

Returns: settings, warnings, restartRequired.

lighting.normalize_light_units (risk 2, mutates, requires world, dryRun, smoke)​

No description.

ArgumentTypeDescription
nameContainsstringOptional light actor-name substring.
intensitynumberrequired. Target intensity in the light's current unit.
dryRunbooleanPreview without edits. Default true.

Returns: count, changed, values, message.

lighting.set_realtime_defaults (risk 4, mutates, UE 5.0+)​

Persists UE5 Lumen, reflection and virtual-shadow-map defaults. Restart and shader rebuilds can be required.

ArgumentTypeDescription
globalIlluminationstringDynamic GI: none, lumen or ssgi.
reflectionsstringReflection method: none, lumen or ssr.
virtualShadowMapsstringtrue selects virtual shadow maps; false selects conventional shadow maps; empty keeps the setting.
lumenHardwareRayTracingstringUse hardware ray tracing for Lumen where the RHI and hardware support it. Empty keeps the setting.
lumenRayLightingModestringLumen hardware ray lighting: surface_cache, hit_lighting or hit_lighting_for_reflections. Empty keeps it.

Returns: settings, warnings, restartRequired.

lighting.set_static_defaults (risk 4, mutates)​

Persists static-lighting, virtual-lightmap and reflection-capture project defaults. Restart and shader/light rebuilds can be required.

ArgumentTypeDescription
allowStaticLightingstringWhether projects may generate/use static lighting. Empty keeps the current value.
virtualTexturedLightmapsstringWhether baked lightmaps use virtual-texture streaming. Empty keeps the current value.
reflectionCaptureResolutionintegerReflection-capture cubemap edge resolution, a power of two from 16 through 4096; -1 keeps it. Default -1.

Returns: settings, warnings, restartRequired.

lighting.spawn_three_point_rig (risk 2, mutates, requires world, smoke)​

Spawns a key (spot), fill (point) and rim (spot) light around a subject location, all aimed at it; returns the spawned labels.

ArgumentTypeDescription
namePrefixstringrequired. Label prefix; lights are labelled _Key, _Fill and _Rim.
target{x,y,z}Subject location in centimetres the lights aim at.
distancenumberDistance from the subject in centimetres. Default 400.0.
keyIntensitynumberKey spot light intensity (engine default units). Default 5000.0.
fillIntensitynumberFill point light intensity. Default 1500.0.
rimIntensitynumberRim spot light intensity. Default 3000.0.
mobilitystringMobility of the spawned lights: movable, stationary or static. Default TEXT("movable").

Returns: count, changed, values, message.