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.
| Tool | Use |
|---|---|
lighting.get_static_defaults | Inspect static-lighting support, virtual-textured lightmaps, and reflection-capture resolution. |
lighting.set_static_defaults | Persist static-lighting and reflection-capture defaults. |
lighting.get_realtime_defaults | Inspect UE5 GI, reflection, virtual shadow map, and Lumen defaults. |
lighting.set_realtime_defaults | Persist 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
MaxAutoRiskneed"_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 thedryRunargument. smoke = covered byedit.self_test.
lighting.apply_exterior_rig_recipe (risk 2, mutates, requires world, dryRun, smoke)
No description.
| Argument | Type | Description |
|---|---|---|
nameContains | string | Prefix used to select existing rig light actors. |
keyIntensity | number | Primary-light intensity. Default 10000.0. |
fillIntensity | number | Fill-light intensity. Default 2000.0. |
dryRun | boolean | Preview without edits. Default true. |
Returns: count, changed, values, message.
lighting.apply_interior_rig_recipe (risk 2, mutates, requires world, dryRun, smoke)
No description.
| Argument | Type | Description |
|---|---|---|
nameContains | string | Prefix used to select existing rig light actors. |
keyIntensity | number | Primary-light intensity. Default 10000.0. |
fillIntensity | number | Fill-light intensity. Default 2000.0. |
dryRun | boolean | Preview without edits. Default true. |
Returns: count, changed, values, message.
lighting.audit_light_budget (risk 0, requires world, smoke)
No description.
| Argument | Type | Description |
|---|---|---|
nameContains | string | Optional light actor-name substring. |
limit | integer | Maximum lights reported. Default 100. |
distance | number | Distance 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.
| Argument | Type | Description |
|---|---|---|
tier | string | required. low, medium, or high. |
nameContains | string | Optional light actor-name substring. |
dryRun | boolean | Preview without edits. Default true. |
Returns: count, changed, values, message.
lighting.find_missing_ies_assets (risk 0, requires world, smoke)
No description.
| Argument | Type | Description |
|---|---|---|
nameContains | string | Optional light actor-name substring. |
limit | integer | Maximum lights reported. Default 100. |
distance | number | Distance threshold in centimetres. Default 1000.0. |
Returns: count, changed, values, message.
lighting.find_overlapping_lights (risk 0, requires world, smoke)
No description.
| Argument | Type | Description |
|---|---|---|
nameContains | string | Optional light actor-name substring. |
limit | integer | Maximum lights reported. Default 100. |
distance | number | Distance threshold in centimetres. Default 1000.0. |
Returns: count, changed, values, message.
lighting.find_shadow_cost_risks (risk 0, requires world, smoke)
No description.
| Argument | Type | Description |
|---|---|---|
nameContains | string | Optional light actor-name substring. |
limit | integer | Maximum lights reported. Default 100. |
distance | number | Distance 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.
| Argument | Type | Description |
|---|---|---|
nameContains | string | Optional light actor-name substring. |
intensity | number | required. Target intensity in the light's current unit. |
dryRun | boolean | Preview 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.
| Argument | Type | Description |
|---|---|---|
globalIllumination | string | Dynamic GI: none, lumen or ssgi. |
reflections | string | Reflection method: none, lumen or ssr. |
virtualShadowMaps | string | true selects virtual shadow maps; false selects conventional shadow maps; empty keeps the setting. |
lumenHardwareRayTracing | string | Use hardware ray tracing for Lumen where the RHI and hardware support it. Empty keeps the setting. |
lumenRayLightingMode | string | Lumen 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.
| Argument | Type | Description |
|---|---|---|
allowStaticLighting | string | Whether projects may generate/use static lighting. Empty keeps the current value. |
virtualTexturedLightmaps | string | Whether baked lightmaps use virtual-texture streaming. Empty keeps the current value. |
reflectionCaptureResolution | integer | Reflection-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.
| Argument | Type | Description |
|---|---|---|
namePrefix | string | required. Label prefix; lights are labelled |
target | {x,y,z} | Subject location in centimetres the lights aim at. |
distance | number | Distance from the subject in centimetres. Default 400.0. |
keyIntensity | number | Key spot light intensity (engine default units). Default 5000.0. |
fillIntensity | number | Fill point light intensity. Default 1500.0. |
rimIntensity | number | Rim spot light intensity. Default 3000.0. |
mobility | string | Mobility of the spawned lights: movable, stationary or static. Default TEXT("movable"). |
Returns: count, changed, values, message.