level kit
193 tools. Generated from the plugin source; do not edit by hand.
Guide
Everything about the world the agent is building: maps and sublevels, editor layers, World Settings, environment actors (sun, sky light, sky atmosphere, fog, clouds, reflection captures), post-process volumes and settings, splines and spline meshes, gameplay/utility volumes, lighting builds and Lightmass, navigation, and (UE 5) World Partition, data layers and level instances.
Works on UE 4.27 through 5.8 (175 tools on 4.27, 192 on 5.8). Tools marked with a minimum engine
version are hidden on older engines. The kit is split over eight classes
(UUeaKit_Level, UUeaKit_LevelEnvironment, UUeaKit_LevelPostProcess, UUeaKit_LevelSplines,
UUeaKit_LevelVolumes, UUeaKit_LevelLighting, UUeaKit_LevelNav, UUeaKit_LevelPartition)
that all expose the level. namespace.
Generic actor work (spawn, transform, properties, selection, folders, groups) lives in the actor
kit; asset CRUD in asset; PIE and undo in edit.
Start here
level.get_current— name, package, dirty/untitled state, actor and sublevel counts, whether the level is partitioned, unbuilt lighting and world bounds.level.list_environment— which of sun / sky light / sky atmosphere / fog / clouds / reflection captures already exist.level.setup_default_environment— creates the missing ones in one call.level.get_stats— actors by class, lights, meshes, brushes, volumes, estimated triangles.
Tools
Maps and sublevels
| Tool | Purpose |
|---|---|
level.list_maps / level.list_templates | Level assets in a folder; engine template maps. |
level.create | New level asset (optionally from a template), optionally opened and saved. |
level.open / level.save | Open a level; save the open level (saveAs for save-as). |
level.duplicate_map / level.rename_map / level.delete_map | Level asset lifecycle. |
level.get_current / level.get_stats / level.get_package_info | State, content statistics, file path and size. |
level.list_sublevels / level.get_sublevel | Sublevels with class, loaded/visible/locked state, transform and actor count. |
level.add_sublevel / level.create_sublevel / level.remove_sublevel | Add an existing level, create + add a new one, remove one. |
level.set_sublevel_visible / _loaded / _locked / _transform / _streaming_class | Per-sublevel editing state. |
level.set_current_sublevel / level.get_current_sublevel | Which level new actors spawn into. |
level.move_actors_to_sublevel / level.list_actors_in_sublevel | Move actors between levels; list a level's actors. |
level.list_streaming_volumes / level.add_streaming_volume | Level streaming volumes and the sublevels they drive. |
level.find_actors_by_class_in_world | Quick class query over the whole world. |
level.get_level_blueprint / level.open_level_blueprint | The persistent level's Level Blueprint. |
World Settings
level.set_game_mode_override, level.set_kill_z, level.set_world_gravity,
level.set_world_to_meters, level.set_time_dilation_limits, and
level.get_world_settings_full (every editable AWorldSettings property with its value).
Layers
level.list_layers, level.create_layer, level.rename_layer, level.delete_layer,
level.set_layer_visible, level.add_actors_to_layer, level.remove_actors_from_layer,
level.get_layer_actors, level.get_actor_layers.
Environment
| Tool | Purpose |
|---|---|
level.setup_default_environment | Sun + sky light + sky atmosphere + fog (+ clouds) in one call; skips what exists. |
level.add_directional_light / add_point_light / add_spot_light / add_rect_light / add_sky_light | Light actors with intensity, colour, mobility, shadows and extra properties. |
level.add_sky_atmosphere / add_volumetric_cloud / add_exponential_fog / add_atmospheric_fog | Sky and fog actors (add_atmospheric_fog is the legacy deprecated actor). |
level.add_reflection_capture / add_planar_reflection / list_reflection_captures / recapture_reflections | Reflections. |
level.list_lights / level.get_light | Lights with intensity, colour, mobility, shadows; full component property dump. |
level.set_light / set_lights_many | Any subset of a light's settings, one light or many. |
level.set_light_mobility / set_light_channels / set_light_ies / set_light_function | Mobility, lighting channels, IES profile, light function material. |
level.set_sun_rotation / level.set_sun_from_time | Point the sun by pitch/yaw, or by hour of day + latitude. |
level.get_sky_light / set_sky_light / recapture_sky_light | Sky light settings and recapture. |
level.get_sky_atmosphere / set_sky_atmosphere | Rayleigh/Mie scattering, ground albedo, atmosphere height, multi-scattering. |
level.get_volumetric_cloud / set_volumetric_cloud | Layer altitude/height, tracing distances, cloud material. |
level.get_fog / set_fog | Density, falloff, colour, start distance, volumetric fog, second fog layer. |
level.list_environment / level.apply_environment_preset | Overview; day / noon / sunset / night / overcast / foggy moods. |
level.delete_environment_actors | Delete environment actors by kind. |
Post process
Every setter writes FPostProcessSettings and turns on the matching bOverride_* flag. The
target is a post-process volume, a camera actor, a cine camera, or any actor whose components
carry post-process settings.
| Tool | Purpose |
|---|---|
level.add_post_process_volume | Unbound by default, so it affects the whole level. |
level.list_post_process_volumes | Priority, bounds mode, enabled, overridden field count. |
level.get_post_process / level.set_post_process | Every field with value + overridden flag; generic setter by field name. |
level.clear_post_process_overrides / level.reset_post_process | Stop overriding some/all fields; default-construct the settings. |
level.set_post_process_volume | The volume's own settings (unbound, priority, blend radius/weight, enabled, extent). |
level.set_bloom / set_exposure / set_color_grading / set_ambient_occlusion / set_motion_blur / set_depth_of_field / set_vignette / set_film_grain (5.0+) / set_chromatic_aberration / set_lens_flares / set_white_balance | Typed setters for the common looks. |
level.set_global_illumination (5.0+) / level.set_reflection_method | Lumen / SSGI / SSR. |
level.add_post_process_material / remove_post_process_material / list_post_process_materials | Weighted blendables. |
level.copy_post_process | Copy the whole struct (including override flags) between targets. |
Splines
level.add_spline (points, closed, local/world), list_splines, get_spline,
get_spline_points, add_spline_point, remove_spline_point, set_spline_point,
set_spline_points, clear_spline, set_spline_closed, set_spline_point_type,
reverse_spline, get_spline_length, sample_spline (distance or 0..1 alpha),
sample_spline_evenly, spline_from_actors, place_along_spline (actor class or static mesh,
count or spacing, align to tangent), add_spline_mesh_segments, list_spline_meshes,
clear_spline_meshes, export_spline / import_spline (JSON round trip).
Volumes
level.list_volume_kinds lists every kind level.add_volume accepts: trigger_box,
trigger_sphere, trigger_capsule, blocking, kill_z, pain_causing, nav_modifier,
nav_mesh_bounds, audio, physics, cull_distance, lightmass_importance,
precomputed_visibility, camera_blocking, level_streaming, post_process.
Then: add_volume, list_volumes, get_volume, set_volume_extent,
resize_volume_to_actors, set_trigger_collision, set_pain_volume, set_physics_volume,
set_audio_volume, set_cull_distances, set_nav_modifier_area, set_volume_priority,
set_blocking_volume_collision, add_nav_mesh_bounds, get_nav_bounds, delete_volumes.
Lighting
level.build_lighting (quality preview/medium/high/production, wait), build_geometry,
build_all, get_build_status, get_lightmass_settings / set_lightmass_settings,
set_lighting_scenario / list_lighting_scenarios, set_lightmap_resolution /
set_lightmap_resolution_many / get_lightmap_stats, set_lights_mobility_many,
set_directional_shadows, set_light_indirect, invalidate_lighting, list_unbuilt_lights,
build_reflection_captures, set_force_no_precomputed_lighting, repair_build_data_ids.
Navigation
level.build_navigation (wait), get_navigation_status, list_nav_data, get_nav_settings,
set_nav_agent, set_nav_runtime_generation, set_recast_settings, add_nav_link,
list_nav_links, find_path, project_point_to_nav, get_random_reachable_point,
is_point_on_nav, rebuild_dirty_nav.
World Partition (UE 5)
level.is_partitioned (works on 4.27 too and returns false), list_data_layers (5.1+),
create_data_layer (5.1+), set_data_layer_state, add_actors_to_data_layer,
remove_actors_from_data_layer, get_actor_data_layers, set_actor_spatial,
list_runtime_grids (5.4+), list_external_actors, load_region / unload_region (5.3+),
list_level_instances, create_level_instance, break_level_instance, list_hlod_layers.
Recipe: a lit, playable level in three calls
level.setup_default_environment{sun:true, skyLight:true, skyAtmosphere:true, fog:true, sunPitch:-45}level.add_post_process_volume{name:"PP_Global", unbound:true}level.set_exposure{target:"PP_Global", method:"manual", bias:1}— without this the auto exposure of a new level makes everything look flat.
Then level.save {saveAs:"/Game/Maps/MyLevel"} (a brand new level is untitled until saved).
Recipe: sunset mood
level.apply_environment_preset{preset:"sunset", keepExisting:true}level.set_fog{density:"0.08", volumetric:"true"}level.set_sun_from_time{hour:18.5, latitude:40}for a precise time of day.level.set_color_grading{target:"PP_Global", temperature:"7500", saturation:"(X=1.1,Y=1.05,Z=1,W=1)"}
Recipe: a post-process look
level.set_bloom{target:"PP_Global", intensity:"0.8", threshold:"-1"}level.set_ambient_occlusion{target:"PP_Global", intensity:"0.6", radius:"80"}level.set_vignette{target:"PP_Global", intensity:"0.4"}level.get_post_process{target:"PP_Global", onlyOverridden:true}to review what you changed.level.copy_post_process{from:"PP_Global", to:"PP_Interior"}to reuse it.
Recipe: a spline road with meshes
level.add_spline{name:"Road", points:[{x:0,y:0,z:0},{x:2000,y:0,z:0},{x:4000,y:1500,z:0}]}level.set_spline_point_type{actor:"Road", type:"curve", index:-1}level.add_spline_mesh_segments{actor:"Road", staticMesh:"/Game/Meshes/SM_RoadSegment", forwardAxis:"x"}level.place_along_spline{actor:"Road", staticMesh:"/Game/Meshes/SM_Lamp", spacing:800, alignToTangent:true, offset:{x:0,y:250,z:0}}level.sample_spline_evenly{actor:"Road", count:20}if you need the waypoints for something else.
Recipe: trigger, nav bounds and a build
level.add_volume{kind:"trigger_box", name:"TB_Door", location:{x:0,y:0,z:100}, extent:{x:200,y:200,z:150}}level.set_trigger_collision{actor:"TB_Door", profile:"Trigger", generateOverlapEvents:"true"}level.add_nav_mesh_bounds{extent:{x:5000,y:5000,z:1000}}level.build_navigation{wait:true}thenlevel.get_navigation_status.level.find_path{start:{x:0,y:0,z:0}, end:{x:3000,y:0,z:0}}to verify the navmesh connects.
Recipe: sublevel workflow
level.savefirst — a persistent level must exist on disk before it can own sublevels.level.create_sublevel{folder:"/Game/Maps", name:"L_Props", streamingClass:"blueprint"}level.set_current_sublevel{sublevel:"L_Props"}so new actors land there.level.move_actors_to_sublevel{actors:["SM_Crate1","SM_Crate2"], sublevel:"L_Props"}level.add_streaming_volume{sublevels:["L_Props"], extent:{x:3000,y:3000,z:1000}}level.set_sublevel_visible/level.set_sublevel_loadedwhile editing;level.list_sublevelsto check the state.
Recipe: data layers (UE 5.1+, partitioned levels)
level.is_partitioned— everything else in this section returnsE_NOT_SUPPORTEDwhen false.level.create_data_layer{name:"DL_Vegetation", folder:"/Game/DataLayers", runtime:true}level.add_actors_to_data_layer{actors:["SM_Tree1","SM_Tree2"], dataLayer:"DL_Vegetation"}level.set_data_layer_state{dataLayer:"DL_Vegetation", state:"activated", visible:"true"}level.set_actor_spatial{actor:"BP_QuestGiver", spatiallyLoaded:false}for actors that must always be loaded.
Gotchas
- Untitled levels. A newly created level lives in
/Temp/until saved.level.add_sublevel,level.create_sublevelandlevel.save(withoutsaveAs) all need a real package on disk — save the persistent level first. - Use the
level.*map tools for maps, not theassetkit.level.duplicate_map,level.rename_mapandlevel.delete_mapgo through world-aware engine APIs. The generic asset tools are built onUEditorAssetLibrary, which refuses anything "of type Map/Level" outright on 4.27. When one of these does fail, the reply now carries the engine's own error text. - Volumes are brushes. Most volume kinds are BSP brush actors: changing
extentrebuilds the brush (level.set_volume_extent), it is not a scale.trigger_sphereandtrigger_capsuleare shape components instead and useradius.level.list_volume_kindstells you which is which. - Unbound post-process volumes.
level.add_post_process_volumedefaults tounbound:true, which ignores the volume's bounds and affects the whole level — that is almost always what you want for a global look. Setunbound:falsefor a local zone. - Override flags. Reading a post-process field always returns a value; only
overridden:truemeans the target actually applies it.level.get_post_processwithonlyOverridden:trueshows what you changed. - Optional setter fields are text.
level.set_light,level.set_fog,level.set_bloomand friends take strings so an empty value means "leave unchanged" ("0"and"false"are real values). Colours are separate: passcolorplususeColor:true. - Unknown fields are reported, not fatal. Fields that do not exist on the running engine
(
filmGrain*on 4.27,depthOfField.methodon 5.x,bloomConvolutionScatterDispersionon 4.27) come back infailedwith a reason instead of failing the whole call. - Invalid build-data GUIDs crash the engine, not just the tool.
UMapBuildDataRegistrydoescheck(Guid.IsValid()), so a sky atmosphere, reflection capture or light component carrying a zero GUID asserts the editor the moment a build touches it — and a component spawned by script can end up that way. Every build tool in this kit (build_lighting,build_geometry,build_all,build_reflection_captures,recapture_reflections) repairs them first and reports what it fixed inrepaired[].level.repair_build_data_idsruns the same pass on its own if you want to check or fix a level before handing it to another tool. - Lighting builds are slow.
level.build_lightingreturns immediately unless you passwait:true; polllevel.get_build_statusotherwise. It is not undoable. - Unbuilt lighting. Adding or moving a static/stationary light marks the level's lighting out
of date (
level.get_currentreportslightingUnbuilt). Use movable lights, orlevel.set_force_no_precomputed_lighting {enabled:true}, to skip baking entirely. - Navigation needs bounds. There is no navmesh until a
nav_mesh_boundsvolume exists;level.find_pathandlevel.project_point_to_navreturn "not found" until then.maxSlopeis a Recast generation setting, not an agent property — set it withlevel.set_recast_settings {properties:[{key:"AgentMaxSlope", value:"44"}]}. - Partition tools are 5.x only and return a clean
E_NOT_SUPPORTEDon a non-partitioned world rather than failing hard.level.is_partitionedworks on every version. level.load_regionholds the region for the session. The loader adapter must stay alive or the cells unload again immediately, so the kit keeps it untillevel.unload_regionreleases it.level.unload_regiontherefore only releases regions this session loaded; it reports that clearly when a box matches nothing.- Transactions. Every
Mutatestool is wrapped in an editor transaction, soedit.undoworks. Builds,level.save,level.delete_mapandlevel.set_nav_agent(which writesDefaultEngine.ini) are not undoable. - Actor references accept an actor label, an object name or a unique class name (
"Sun","DirectionalLight_1","PointLight"), matched in that order, then by unique prefix. - New and edited level actors are dirty in memory until
level.save/asset.save_all.
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.
level.add_actors_to_data_layer (risk 2, mutates, UE 5.1+, requires world)
Assigns actors to a data layer. Not smoke-tested: needs a partitioned world.
| Argument | Type | Description |
|---|---|---|
actors | array of string | required. |
dataLayer | string | required. Data layer short name or asset path. |
Returns: changed, changedCount, failed, failedCount, message.
level.add_actors_to_layer (risk 2, mutates, requires world)
Adds actors to an editor layer (the layer is created when missing). Not smoke-tested: needs level actors that the self-test does not own.
| Argument | Type | Description |
|---|---|---|
actors | array of string | required. |
layer | string | required. |
Returns: changed, changedCount, failed, failedCount, message.
level.add_atmospheric_fog (risk 1, mutates, requires world, smoke)
Adds the legacy AtmosphericFog actor (deprecated by Epic; prefer level.add_sky_atmosphere).
| Argument | Type | Description |
|---|---|---|
name | string | |
location | {x,y,z} | |
properties | array of UeaKeyValue |
Returns: name, label, class, path, location, rotation, applied, failed, message.
level.add_directional_light (risk 2, mutates, requires world, smoke)
Adds a directional light (the sun).
| Argument | Type | Description |
|---|---|---|
name | string | Default TEXT("DirectionalLight"). |
rotation | {x,y,z} | Pitch/yaw/roll in degrees; a negative pitch points down. Default FUeaVec3(-45.0, 45.0, 0.0). |
intensity | number | Light intensity in lux (engine default is 10). Default 10.0. |
color | UeaColor | |
castShadows | boolean | Default true. |
atmosphereSunLight | boolean | Drive the SkyAtmosphere sun disk with this light. Default true. |
mobility | string | "static", "stationary" or "movable" (default). Default TEXT("movable"). |
properties | array of UeaKeyValue | Extra property assignments applied to the light component. |
Returns: name, label, class, path, location, rotation, applied, failed, message.
level.add_exponential_fog (risk 2, mutates, requires world, smoke)
Adds an exponential height fog actor.
| Argument | Type | Description |
|---|---|---|
name | string | Default TEXT("ExponentialHeightFog"). |
location | {x,y,z} | |
density | number | Default 0.02. |
heightFalloff | number | Default 0.2. |
fogColor | UeaColor | |
startDistance | number | Distance in cm at which the fog starts. Default 0.0. |
volumetric | boolean | Turn on volumetric fog. Default false. |
extinctionScale | number | Volumetric fog extinction scale. Default 1.0. |
properties | array of UeaKeyValue |
Returns: name, label, class, path, location, rotation, applied, failed, message.
level.add_nav_link (risk 2, mutates, requires world, smoke)
Adds a nav link proxy connecting two world points (jumps, ledges, doors).
| Argument | Type | Description |
|---|---|---|
start | {x,y,z} | required. World location of the link's left point. |
end | {x,y,z} | required. World location of the link's right point. |
bidirectional | boolean | Traversable in both directions (default) or only from start to end. Default true. |
name | string | Default TEXT("NavLinkProxy"). |
Returns: name, label, class, path, location, rotation, applied, failed, message.
level.add_nav_mesh_bounds (risk 2, mutates, requires world, smoke)
Adds a nav mesh bounds volume (navigation is only generated inside these).
| Argument | Type | Description |
|---|---|---|
name | string | Default TEXT("NavMeshBoundsVolume"). |
location | {x,y,z} | |
extent | {x,y,z} | Half-size in cm. Default FUeaVec3(2000.0, 2000.0, 500.0). |
Returns: name, label, class, path, location, rotation, applied, failed, message.
level.add_planar_reflection (risk 2, mutates, requires world, smoke)
Adds a planar reflection actor (mirrors, water).
| Argument | Type | Description |
|---|---|---|
name | string | Default TEXT("PlanarReflection"). |
location | {x,y,z} | |
rotation | {x,y,z} | |
properties | array of UeaKeyValue |
Returns: name, label, class, path, location, rotation, applied, failed, message.
level.add_point_light (risk 2, mutates, requires world, smoke)
Adds a point light.
| Argument | Type | Description |
|---|---|---|
name | string | Default TEXT("PointLight"). |
location | {x,y,z} | |
intensity | number | Intensity in candelas/lumens depending on the unit (engine default is 5000). Default 5000.0. |
color | UeaColor | |
attenuationRadius | number | Attenuation radius in cm. Default 1000.0. |
sourceRadius | number | Source radius in cm (soft shadows). Default 0.0. |
castShadows | boolean | Default true. |
mobility | string | "static", "stationary" or "movable" (default). Default TEXT("movable"). |
properties | array of UeaKeyValue |
Returns: name, label, class, path, location, rotation, applied, failed, message.
level.add_post_process_material (risk 2, mutates, requires world)
Adds a post-process material to the target's weighted blendables. Not smoke-tested: needs a project-authored post-process material.
| Argument | Type | Description |
|---|---|---|
material | string | required. Post-process material or material instance. |
weight | number | 0..1 blend weight. Default 1.0. |
Returns: target, materials, count, message.
level.add_post_process_volume (risk 2, mutates, requires world, smoke)
Adds a post-process volume (unbound by default, so it affects the whole level).
| Argument | Type | Description |
|---|---|---|
name | string | Default TEXT("PostProcessVolume"). |
unbound | boolean | Affect the whole level regardless of where the camera is (default true). Default true. |
location | {x,y,z} | |
extent | {x,y,z} | Half-size in cm when the volume is bounded. Default FUeaVec3(1000.0, 1000.0, 1000.0). |
priority | number | Higher priority wins where volumes overlap. Default 0.0. |
blendRadius | number | Blend distance in cm outside the volume. Default 100.0. |
blendWeight | number | 0..1 weight of this volume's settings. Default 1.0. |
enabled | boolean | Default true. |
Returns: name, label, class, path, location, rotation, applied, failed, message.
level.add_rect_light (risk 2, mutates, requires world, smoke)
Adds a rect (area) light.
| Argument | Type | Description |
|---|---|---|
name | string | Default TEXT("RectLight"). |
location | {x,y,z} | |
rotation | {x,y,z} | |
intensity | number | Default 5000.0. |
color | UeaColor | |
attenuationRadius | number | Default 1000.0. |
sourceWidth | number | Emitter width in cm. Default 64.0. |
sourceHeight | number | Emitter height in cm. Default 64.0. |
barnDoorAngle | number | Barn door angle in degrees (0 = no barn doors). Default 0.0. |
castShadows | boolean | Default true. |
mobility | string | Default TEXT("movable"). |
properties | array of UeaKeyValue |
Returns: name, label, class, path, location, rotation, applied, failed, message.
level.add_reflection_capture (risk 2, mutates, requires world, smoke)
Adds a sphere or box reflection capture.
| Argument | Type | Description |
|---|---|---|
shape | string | "sphere" (default) or "box". Default TEXT("sphere"). |
name | string | |
location | {x,y,z} | |
radius | number | Influence radius in cm (sphere captures). Default 3000.0. |
extent | {x,y,z} | Half-size in cm (box captures). Default FUeaVec3(1000.0, 1000.0, 1000.0). |
brightness | number | Default 1.0. |
properties | array of UeaKeyValue |
Returns: name, label, class, path, location, rotation, applied, failed, message.
level.add_sky_atmosphere (risk 2, mutates, requires world, smoke)
Adds a SkyAtmosphere actor (physically based sky).
| Argument | Type | Description |
|---|---|---|
name | string | |
location | {x,y,z} | |
properties | array of UeaKeyValue |
Returns: name, label, class, path, location, rotation, applied, failed, message.
level.add_sky_light (risk 2, mutates, requires world, smoke)
Adds a sky light.
| Argument | Type | Description |
|---|---|---|
name | string | Default TEXT("SkyLight"). |
realTimeCapture | boolean | Capture the sky every frame (5.x real-time capture; ignored on 4.27 where it is off by default). Default true. |
cubemap | string | Cubemap texture to use instead of capturing the scene. |
intensity | number | Default 1.0. |
lowerHemisphereColor | UeaColor | |
mobility | string | Default TEXT("movable"). |
properties | array of UeaKeyValue |
Returns: name, label, class, path, location, rotation, applied, failed, message.
level.add_spline (risk 2, mutates, requires world, smoke)
Creates an actor whose root is a spline component, optionally with the given points.
| Argument | Type | Description |
|---|---|---|
name | string | Default TEXT("Spline"). |
location | {x,y,z} | Actor location. |
points | array of {x,y,z} | Initial points; empty gives the engine's default two-point spline. |
closed | boolean | Default false. |
space | string | "local" (default) or "world" - how points are interpreted. Default TEXT("local"). |
Returns: name, label, class, path, location, rotation, applied, failed, message.
level.add_spline_mesh_segments (risk 2, mutates, requires world)
Builds a spline-mesh component per segment of a spline (roads, cables, pipes). Not smoke-tested: needs a static mesh asset, which an empty project may not have.
| Argument | Type | Description |
|---|---|---|
staticMesh | string | required. Static mesh deformed along each segment. |
segments | integer | How many segments to build; 0 (default) = one per point pair. Default 0. |
forwardAxis | string | "x" (default), "y" or "z". Default TEXT("x"). |
material | string | Optional material override. |
Returns: actor, meshes, count, message.
level.add_spline_point (risk 2, mutates, requires world, smoke)
Adds a point to a spline (index -1 appends).
| Argument | Type | Description |
|---|---|---|
position | {x,y,z} | required. |
space | string | "local" (default) or "world". Default TEXT("local"). |
index | integer | Insert index; -1 appends. Default -1. |
Returns: actor, component, points, pointCount, length, closed, message.
level.add_spot_light (risk 2, mutates, requires world, smoke)
Adds a spot light.
| Argument | Type | Description |
|---|---|---|
name | string | Default TEXT("SpotLight"). |
location | {x,y,z} | |
rotation | {x,y,z} | Pitch/yaw/roll in degrees. Default FUeaVec3(-90.0, 0.0, 0.0). |
intensity | number | Default 5000.0. |
color | UeaColor | |
attenuationRadius | number | Default 1000.0. |
sourceRadius | number | Default 0.0. |
innerCone | number | Inner cone half-angle in degrees. Default 0.0. |
outerCone | number | Outer cone half-angle in degrees. Default 44.0. |
castShadows | boolean | Default true. |
mobility | string | Default TEXT("movable"). |
properties | array of UeaKeyValue |
Returns: name, label, class, path, location, rotation, applied, failed, message.
level.add_streaming_volume (risk 2, mutates, requires world)
Adds a level streaming volume that loads/shows the given sublevels. Not smoke-tested: needs existing sublevels, which the transient self-test world has none of.
| Argument | Type | Description |
|---|---|---|
sublevels | array of string | required. Sublevels the volume controls. |
name | string | |
location | {x,y,z} | |
extent | {x,y,z} | Half-size in cm (default 1000 on each axis). Default FUeaVec3(1000.0, 1000.0, 1000.0). |
usage | string | "loading_and_visibility" (default), "loading", "visibility_blocking_on_load", "blocking_on_load". Default TEXT("loading_and_visibility"). |
Returns: name, label, class, path, location, rotation, applied, failed, message.
level.add_sublevel (risk 2, mutates, requires world)
Adds an existing level asset to the current world as a streaming sublevel. Not smoke-tested: the self-test world is an unsaved transient level, which cannot own sublevels.
| Argument | Type | Description |
|---|---|---|
map | string | required. Level asset to add as a sublevel. |
streamingClass | string | "always_loaded" (default) or "blueprint". Default TEXT("always_loaded"). |
location | {x,y,z} | |
rotation | {x,y,z} |
Returns: sublevel, message.
level.add_volume (risk 2, mutates, requires world, smoke)
Adds a volume of the given kind, sized by extent (or radius for sphere/capsule triggers).
| Argument | Type | Description |
|---|---|---|
kind | string | required. One of level.list_volume_kinds, e.g. "trigger_box", "audio", "nav_mesh_bounds". |
name | string | |
location | {x,y,z} | |
extent | {x,y,z} | Half-size in cm (default 100 on each axis). Default FUeaVec3(100.0, 100.0, 100.0). |
radius | number | Radius in cm for trigger_sphere / trigger_capsule. Default 100.0. |
rotation | {x,y,z} | |
properties | array of UeaKeyValue |
Returns: name, label, class, path, location, rotation, applied, failed, message.
level.add_volumetric_cloud (risk 2, mutates, requires world, smoke)
Adds a VolumetricCloud actor.
| Argument | Type | Description |
|---|---|---|
name | string | |
location | {x,y,z} | |
properties | array of UeaKeyValue |
Returns: name, label, class, path, location, rotation, applied, failed, message.
level.apply_environment_preset (risk 2, mutates, requires world, smoke)
Applies a lighting mood preset (day, noon, sunset, night, overcast, foggy).
| Argument | Type | Description |
|---|---|---|
preset | string | required. day, noon, sunset, night, overcast or foggy. |
keepExisting | boolean | Do not create missing actors, only tune the ones that exist. Default true. |
Returns: created, existing, createdCount, message.
level.break_level_instance (risk 3, mutates, destructive, UE 5.1+, requires world)
Breaks a level instance apart, moving its actors back into the current level. Not smoke-tested: needs an existing level instance actor.
| Argument | Type | Description |
|---|---|---|
actor | string | required. Level instance actor to break apart. |
levels | integer | How many nesting levels to break (1 by default). Default 1. |
Returns: instances, count, message.
level.build_all (risk 4, requires world)
Runs the full "Build All" (geometry, lighting, navigation, HLOD). Not smoke-tested: long running and not undoable.
| Argument | Type | Description |
|---|---|---|
quality | string | "preview" (default), "medium", "high" or "production". Default TEXT("preview"). |
wait | boolean | Block until the build finishes (the tool runs off the game thread and polls). Default false. |
maxFrames | integer | Maximum editor frames to wait for when wait is on. Default 20000. |
Returns: type, started, running, finished, framesWaited, unbuiltObjects, repaired, repairedCount, message.
level.build_geometry (risk 4, requires world)
Rebuilds BSP geometry of the current level. Not smoke-tested: a geometry rebuild is not undoable and would disturb the volumes created by the run.
No arguments.
Returns: type, started, running, finished, framesWaited, unbuiltObjects, repaired, repairedCount, message.
level.build_lighting (risk 4, requires world)
Starts a lighting build; with wait=true the tool runs off the game thread and polls until it finishes. Not smoke-tested: a lighting build takes minutes and blocks the editor.
| Argument | Type | Description |
|---|---|---|
quality | string | "preview" (default), "medium", "high" or "production". Default TEXT("preview"). |
wait | boolean | Block until the build finishes (the tool runs off the game thread and polls). Default false. |
maxFrames | integer | Maximum editor frames to wait for when wait is on. Default 20000. |
Returns: type, started, running, finished, framesWaited, unbuiltObjects, repaired, repairedCount, message.
level.build_navigation (risk 4, requires world)
Rebuilds the navigation data; with wait=true the tool runs off the game thread and polls. Not smoke-tested: a navigation build takes a long time and is not undoable.
| Argument | Type | Description |
|---|---|---|
wait | boolean | Block until the navigation build finishes (the tool runs off the game thread and polls). Default false. |
maxFrames | integer | Maximum editor frames to wait for when wait is on. Default 10000. |
Returns: started, building, finished, framesWaited, remainingTasks, message.
level.build_reflection_captures (risk 1, requires world, smoke)
Rebuilds every reflection capture in the level (fast compared with a lighting build).
No arguments.
Returns: type, started, running, finished, framesWaited, unbuiltObjects, repaired, repairedCount, message.
level.clear_post_process_overrides (risk 2, mutates, requires world, smoke)
Stops overriding the named fields (empty = every field).
| Argument | Type | Description |
|---|---|---|
keys | array of string | Field names to stop overriding; empty clears every override. |
Returns: target, fields, count, overriddenCount, applied, failed, message.
level.clear_spline (risk 3, mutates, destructive, requires world, smoke)
Removes every point of a spline.
| Argument | Type | Description |
|---|---|---|
actor | string | required. Actor carrying the spline component. |
component | string | Component name when the actor has more than one spline. |
Returns: actor, component, points, pointCount, length, closed, message.
level.clear_spline_meshes (risk 3, mutates, destructive, requires world, smoke)
Removes every spline-mesh component from a spline actor.
| Argument | Type | Description |
|---|---|---|
actor | string | required. Actor carrying the spline component. |
component | string | Component name when the actor has more than one spline. |
Returns: actor, meshes, count, message.
level.copy_post_process (risk 2, mutates, requires world, smoke)
Copies the whole FPostProcessSettings struct (including override flags) from one target to another.
| Argument | Type | Description |
|---|---|---|
from | string | required. Source target. |
to | string | required. Destination target. |
Returns: target, fields, count, overriddenCount, applied, failed, message.
level.create (risk 2, mutates, smoke)
Creates a level asset (optionally from a template), optionally opening and saving it.
| Argument | Type | Description |
|---|---|---|
folder | string | required. Destination content folder, e.g. "/Game/Maps". |
name | string | required. Asset name of the new level. |
template | string | Optional template level to copy (package path or unique name); empty = empty level. |
open | boolean | Open the new level in the editor after creating it. Default false. |
save | boolean | Save the new level package to disk. Default false. |
Returns: name, package, path, opened, saved, message.
level.create_data_layer (risk 2, mutates, UE 5.1+, requires world)
Creates a data layer asset and registers an instance of it in the world. Not smoke-tested: needs a partitioned world, which the self-test project does not have.
| Argument | Type | Description |
|---|---|---|
name | string | required. Data layer asset name. |
folder | string | Content folder for the data layer asset, e.g. "/Game/DataLayers". Default TEXT("/Game/DataLayers"). |
runtime | boolean | Runtime data layers can be loaded/unloaded at runtime; editor-only ones cannot. Default false. |
Returns: dataLayers, count, message.
level.create_layer (risk 2, mutates, requires world, smoke)
Creates an empty editor layer.
| Argument | Type | Description |
|---|---|---|
name | string | required. |
Returns: layers, count.
level.create_level_instance (risk 2, mutates, UE 5.1+, requires world)
Moves actors into a new level asset and replaces them with a level instance actor. Not smoke-tested: writes a level asset to disk and may open a modal dialog.
| Argument | Type | Description |
|---|---|---|
actors | array of string | required. Actors to move into the new level instance. |
folder | string | required. Destination folder for the new level asset. |
name | string | required. Asset name of the new level. |
packed | boolean | Create a packed level actor instead of a plain level instance. Default false. |
Returns: instances, count, message.
level.create_sublevel (risk 2, mutates, requires world)
Creates a new empty level asset and adds it to the current world as a sublevel. Not smoke-tested: the self-test world is an unsaved transient level, which cannot own sublevels.
| Argument | Type | Description |
|---|---|---|
folder | string | required. Destination folder for the new level asset. |
name | string | required. Asset name of the new level. |
streamingClass | string | "always_loaded" (default) or "blueprint". Default TEXT("always_loaded"). |
Returns: sublevel, message.
level.delete_environment_actors (risk 3, mutates, destructive, requires world, smoke)
Deletes environment actors of the given kinds (empty = all of them).
| Argument | Type | Description |
|---|---|---|
kinds | array of string | Kinds to delete: sun, sky_light, sky_atmosphere, fog, clouds, reflection_capture, planar_reflection. Empty = every environment actor. |
Returns: changed, changedCount, failed, failedCount, message.
level.delete_layer (risk 3, mutates, destructive, requires world, smoke)
Deletes an editor layer (its actors stay in the level).
| Argument | Type | Description |
|---|---|---|
name | string | required. |
Returns: layers, count.
level.delete_map (risk 3, mutates, destructive, smoke)
Deletes a level asset. The level must not be the one currently open.
| Argument | Type | Description |
|---|---|---|
map | string | required. Level asset (package path or unique name). |
Returns: message, count.
level.delete_volumes (risk 3, mutates, destructive, requires world, smoke)
Deletes volumes by kind or by actor list.
| Argument | Type | Description |
|---|---|---|
kind | string | Delete every volume of this kind; ignored when actors is given. |
actors | array of string | Specific volume actors to delete. |
Returns: changed, changedCount, failed, failedCount, message.
level.duplicate_map (risk 2, mutates, smoke)
Duplicates a level asset into another folder/name.
| Argument | Type | Description |
|---|---|---|
map | string | required. Source level asset. |
folder | string | required. Destination folder. |
name | string | required. Destination asset name. |
Returns: name, package, path, opened, saved, message.
level.export_spline (risk 0, requires world, smoke)
Exports a spline as JSON (points, tangents, types, closed flag).
| Argument | Type | Description |
|---|---|---|
actor | string | required. Actor carrying the spline component. |
component | string | Component name when the actor has more than one spline. |
Returns: actor, json, pointCount.
level.find_actors_by_class_in_world (risk 0, requires world, smoke)
Actors of a class (or subclass) in the current world.
| Argument | Type | Description |
|---|---|---|
class | string | required. Class name, class path or Blueprint asset. |
includeSublevels | boolean | Include actors living in loaded sublevels (default true). Default true. |
limit | integer | Default 200. |
Returns: actors, count, total.
level.find_path (risk 0, requires world, smoke)
Finds a navmesh path between two world points and returns its waypoints.
| Argument | Type | Description |
|---|---|---|
start | {x,y,z} | required. |
end | {x,y,z} | required. |
Returns: valid, partial, points, count, length, message.
level.get_actor_data_layers (risk 0, UE 5.1+, requires world)
Data layers an actor belongs to. Not smoke-tested: needs a partitioned world and a level actor.
| Argument | Type | Description |
|---|---|---|
actor | string | required. Actor label, object name or unique class name. |
Returns: dataLayers, count, message.
level.get_actor_layers (risk 0, requires world)
Editor layers an actor belongs to. Not smoke-tested: needs a level actor that the self-test does not own.
| Argument | Type | Description |
|---|---|---|
actor | string | required. Actor label, object name or unique class name. |
Returns: layers, count.
level.get_build_status (risk 0, requires world, smoke)
Whether a lighting, geometry or navigation build is running, and how much is unbuilt.
No arguments.
Returns: lightingBuilding, anyBuildRunning, navigationBuilding, unbuiltLightingObjects, unbuiltReflectionCaptures, remainingNavBuildTasks, configuredLightingQuality, message.
level.get_current (risk 0, requires world, smoke)
The level currently open: name, package, dirty/untitled state, actor and sublevel counts, partitioning, unbuilt lighting and bounds.
No arguments.
Returns: name, package, path, dirty, untitled, actorCount, sublevelCount, partitioned, unbuiltLightingObjects, lightingUnbuilt, boundsMin, boundsMax, gameModeOverride.
level.get_current_sublevel (risk 0, requires world, smoke)
The level new actors are currently spawned into.
No arguments.
Returns: sublevel, message.
level.get_fog (risk 0, requires world, smoke)
Settings of the exponential height fog actor.
| Argument | Type | Description |
|---|---|---|
actor | string | Actor label/name; empty = the first actor of the matching kind in the level. |
Returns: entries, count, message.
level.get_layer_actors (risk 0, requires world, smoke)
Actors assigned to an editor layer.
| Argument | Type | Description |
|---|---|---|
layer | string | required. |
Returns: actors, count, total.
level.get_level_blueprint (risk 0, requires world, smoke)
Path and graph names of the persistent level's Level Blueprint.
No arguments.
Returns: path, name, graphs, nodeCount, message.
level.get_light (risk 0, requires world, smoke)
Full summary of one light, including every editable property of its light component.
| Argument | Type | Description |
|---|---|---|
actor | string | required. Actor label, object name or unique class name. |
Returns: light, properties, applied, failed, message.
level.get_lightmap_stats (risk 0, requires world, smoke)
Lightmap resolution and lightmap UV channel of every static mesh component in the level.
No arguments.
Returns: entries, count, lightmapTotalSizeKB, shadowmapTotalSizeKB, message.
level.get_lightmass_settings (risk 0, requires world, smoke)
Lightmass settings of the current level.
No arguments.
Returns: entries, count, message.
level.get_nav_bounds (risk 0, requires world, smoke)
Nav mesh bounds volumes in the level and their combined world bounds.
No arguments.
Returns: volumes, count, min, max, hasBounds.
level.get_nav_settings (risk 0, smoke)
Project navigation settings: supported agents and generation options.
No arguments.
Returns: agents, count, autoCreateNavigationData, allowClientSideNavigation, buildNavigationAtRuntime, entries, message.
level.get_navigation_status (risk 0, requires world, smoke)
Whether navigation is building, how many tasks remain, and which agents and nav data exist.
No arguments.
Returns: navigationSystemPresent, building, locked, remainingTasks, navDataCount, navBoundsVolumes, agents, message.
level.get_package_info (risk 0, smoke)
File path, size on disk, dirty state and (5.x) external actor count of a level package.
| Argument | Type | Description |
|---|---|---|
map | string | Level asset; empty = the level currently open. |
Returns: package, filePath, sizeBytes, dirty, exists, externalActorCount.
level.get_post_process (risk 0, requires world, smoke)
Reads post-process settings from a volume, camera or cine camera.
| Argument | Type | Description |
|---|---|---|
onlyOverridden | boolean | Only report the fields whose bOverride_ flag is on. Default true. |
Returns: target, fields, count, overriddenCount, applied, failed, message.
level.get_random_reachable_point (risk 0, requires world, smoke)
A random navigable point within a radius of an origin.
| Argument | Type | Description |
|---|---|---|
origin | {x,y,z} | required. |
radius | number | required. Search radius in cm. |
Returns: found, point, distance, message.
level.get_sky_atmosphere (risk 0, requires world, smoke)
Settings of the SkyAtmosphere actor.
| Argument | Type | Description |
|---|---|---|
actor | string | Actor label/name; empty = the first actor of the matching kind in the level. |
Returns: entries, count, message.
level.get_sky_light (risk 0, requires world, smoke)
Settings of the sky light.
| Argument | Type | Description |
|---|---|---|
actor | string | Actor label/name; empty = the first actor of the matching kind in the level. |
Returns: entries, count, message.
level.get_spline (risk 0, requires world, smoke)
One spline in detail: every point with tangents, rotation, scale and type, plus length.
| Argument | Type | Description |
|---|---|---|
actor | string | required. Actor carrying the spline component. |
component | string | Component name when the actor has more than one spline. |
Returns: actor, component, points, pointCount, length, closed, message.
level.get_spline_length (risk 0, requires world, smoke)
Total length of a spline in cm.
| Argument | Type | Description |
|---|---|---|
actor | string | required. Actor carrying the spline component. |
component | string | Component name when the actor has more than one spline. |
Returns: actor, samples, count, length.
level.get_spline_points (risk 0, requires world, smoke)
Just the points of a spline.
| Argument | Type | Description |
|---|---|---|
actor | string | required. Actor carrying the spline component. |
component | string | Component name when the actor has more than one spline. |
Returns: actor, component, points, pointCount, length, closed, message.
level.get_stats (risk 0, requires world, smoke)
Content statistics of the level currently open: actors by class, lights, meshes, brushes, volumes and an estimated triangle count.
No arguments.
Returns: actorCount, lightCount, staticMeshCount, skeletalMeshCount, brushCount, volumeCount, componentCount, estimatedTriangles, byClass, distinctClasses.
level.get_sublevel (risk 0, requires world)
One sublevel in detail. Not smoke-tested: the transient self-test world has no sublevels.
| Argument | Type | Description |
|---|---|---|
sublevel | string | required. Sublevel name or package path (substring match on the package is accepted). |
Returns: sublevel, message.
level.get_volume (risk 0, requires world, smoke)
One volume in detail, with every editable property of the actor.
| Argument | Type | Description |
|---|---|---|
actor | string | required. Volume actor label, name or unique class. |
Returns: volume, properties, applied, failed, message.
level.get_volumetric_cloud (risk 0, requires world, smoke)
Settings of the VolumetricCloud actor.
| Argument | Type | Description |
|---|---|---|
actor | string | Actor label/name; empty = the first actor of the matching kind in the level. |
Returns: entries, count, message.
level.get_world_settings_full (risk 0, requires world, smoke)
Every editable property of AWorldSettings with its current value.
No arguments.
Returns: entries, count, message.
level.import_spline (risk 2, mutates, requires world)
Replaces a spline's points from JSON produced by level.export_spline. Not smoke-tested: its payload is a JSON document, which cannot be written in a UHT Smoke string (single quotes there are rewritten to double quotes, so nested JSON cannot be expressed).
| Argument | Type | Description |
|---|---|---|
json | string | required. JSON produced by level.export_spline. |
Returns: actor, component, points, pointCount, length, closed, message.
level.invalidate_lighting (risk 4, destructive, requires world)
Invalidates the baked lighting of every actor, marking the level as needing a rebuild. Not smoke-tested: throws away the project's baked lighting and is not undoable.
No arguments.
Returns: type, started, running, finished, framesWaited, unbuiltObjects, repaired, repairedCount, message.
level.is_partitioned (risk 0, requires world, smoke)
Whether the current world uses World Partition (always false on UE 4.27).
No arguments.
Returns: partitioned, streamingEnabled, world, externalActorCount, message.
level.is_point_on_nav (risk 0, requires world, smoke)
Whether a world point lies on the navmesh.
| Argument | Type | Description |
|---|---|---|
point | {x,y,z} | required. |
extent | {x,y,z} | Search box half-size in cm around the point. Default FUeaVec3(100.0, 100.0, 200.0). |
Returns: found, point, distance, message.
level.list_actors_in_sublevel (risk 0, requires world, smoke)
Actors that live in one level (empty sublevel = the persistent level).
| Argument | Type | Description |
|---|---|---|
sublevel | string | Sublevel name or package; empty = the persistent level. |
classFilter | string | Only actors of this class (or a subclass). |
limit | integer | Default 200. |
Returns: actors, count, total.
level.list_data_layers (risk 0, UE 5.1+, requires world)
Data layer instances of the current partitioned world. Not smoke-tested: the self-test world is not partitioned, so this returns E_NOT_SUPPORTED.
No arguments.
Returns: dataLayers, count, message.
level.list_environment (risk 0, requires world, smoke)
Which environment actors exist in the level (sun, sky light, atmosphere, fog, clouds, captures) and their key values.
No arguments.
Returns: environment, count, message.
level.list_external_actors (risk 0, UE 5.0+, requires world, smoke)
External actor packages of the current world (one package per actor in a partitioned level).
| Argument | Type | Description |
|---|---|---|
limit | integer | Default 200. |
Returns: packages, count, total, message.
level.list_hlod_layers (risk 0, UE 5.0+, smoke)
HLOD layer assets available in the project.
No arguments.
Returns: layers, count, message.
level.list_layers (risk 0, requires world, smoke)
Editor layers of the current world with visibility and actor counts.
No arguments.
Returns: layers, count.
level.list_level_instances (risk 0, UE 5.1+, requires world, smoke)
Level instance actors in the current world.
No arguments.
Returns: instances, count, message.
level.list_lighting_scenarios (risk 0, requires world, smoke)
Levels flagged as lighting scenarios.
No arguments.
Returns: sublevels, count.
level.list_lights (risk 0, requires world, smoke)
Lights in the level with intensity, colour, mobility and shadow state.
| Argument | Type | Description |
|---|---|---|
classFilter | string | Light class to keep, e.g. "PointLight"; empty = every light. |
mobility | string | "static", "stationary" or "movable"; empty = any. |
limit | integer | Default 200. |
Returns: lights, count, total.
level.list_maps (risk 0, smoke)
Level (UWorld) assets in a content folder, filtered by name substring.
| Argument | Type | Description |
|---|---|---|
folder | string | Content folder to search, e.g. "/Game/Maps". Empty = "/Game". |
recursive | boolean | Default true. |
nameContains | string | Case-insensitive substring the map name must contain. |
limit | integer | Default 200. |
Returns: maps, count, total.
level.list_nav_data (risk 0, requires world, smoke)
Navigation data actors in the level with their agent parameters.
No arguments.
Returns: navData, count, message.
level.list_nav_links (risk 0, requires world, smoke)
Nav link proxies in the level.
No arguments.
Returns: links, count, message.
level.list_post_process_materials (risk 0, requires world, smoke)
Post-process materials currently blended by the target.
| Argument | Type | Description |
|---|---|---|
target | string | required. Post-process volume, camera actor or any actor with post-process settings. |
Returns: target, materials, count, message.
level.list_post_process_volumes (risk 0, requires world, smoke)
Post-process volumes in the level with priority, bounds mode and how many fields they override.
No arguments.
Returns: volumes, count.
level.list_reflection_captures (risk 0, requires world, smoke)
Reflection capture actors in the level.
No arguments.
Returns: actors, count, total.
level.list_runtime_grids (risk 0, UE 5.0+, requires world)
Runtime grids of the world's partition runtime hash. Not smoke-tested: needs a partitioned world.
No arguments.
Returns: grids, count, message.
level.list_spline_meshes (risk 0, requires world, smoke)
Spline-mesh components on a spline actor.
| Argument | Type | Description |
|---|---|---|
actor | string | required. Actor carrying the spline component. |
component | string | Component name when the actor has more than one spline. |
Returns: actor, meshes, count, message.
level.list_splines (risk 0, requires world, smoke)
Actors in the level that carry a spline component.
No arguments.
Returns: splines, count.
level.list_streaming_volumes (risk 0, requires world, smoke)
Level streaming volumes in the current world with the sublevels they drive.
No arguments.
Returns: actors, count, total.
level.list_sublevels (risk 0, requires world, smoke)
Streaming sublevels of the current world with class, loaded/visible/locked state, transform and actor count.
No arguments.
Returns: sublevels, count.
level.list_templates (risk 0, smoke)
Engine template levels that level.create can copy (/Engine/Maps/Templates).
No arguments.
Returns: maps, count, total.
level.list_unbuilt_lights (risk 0, requires world, smoke)
Lights that contribute to baked lighting while the level's lighting is out of date.
No arguments.
Returns: lights, count, unbuiltObjects, message.
level.list_volume_kinds (risk 0, smoke)
Every kind level.add_volume accepts, with its actor class and whether it is a BSP brush or a shape component.
No arguments.
Returns: kinds, count.
level.list_volumes (risk 0, requires world, smoke)
Volumes in the level, optionally of one kind.
| Argument | Type | Description |
|---|---|---|
kind | string | Kind to keep; empty = every volume. |
limit | integer | Default 200. |
Returns: volumes, count.
level.load_region (risk 1, UE 5.3+, requires world)
Loads the partition cells intersecting a world-space box into the editor. Not smoke-tested: needs a partitioned world.
| Argument | Type | Description |
|---|---|---|
min | {x,y,z} | required. Minimum corner of the world-space box to load/unload. |
max | {x,y,z} | required. Maximum corner of the world-space box. |
Returns: applied, min, max, message.
level.move_actors_to_sublevel (risk 2, mutates, requires world)
Moves actors from their current level into another loaded level. Not smoke-tested: the self-test world has no sublevels to move actors into.
| Argument | Type | Description |
|---|---|---|
actors | array of string | required. |
sublevel | string | required. Destination sublevel; empty is not accepted (use the persistent level name). |
Returns: changed, changedCount, failed, failedCount, message.
level.open (risk 2)
Opens a level in the editor. Not smoke-tested: swapping the open level is not undoable and would disturb every other tool in the run.
| Argument | Type | Description |
|---|---|---|
map | string | required. Level asset to open (package path or unique name). |
saveCurrent | boolean | Save dirty packages before switching. Default false. |
Returns: name, package, path, opened, saved, message.
level.open_level_blueprint (risk 1, requires world)
Opens the Level Blueprint editor. Not smoke-tested: opens an editor window.
No arguments.
Returns: path, name, graphs, nodeCount, message.
level.place_along_spline (risk 2, mutates, requires world, smoke)
Spawns copies of an actor class or a static mesh along a spline.
| Argument | Type | Description |
|---|---|---|
actorClass | string | Actor class to spawn; ignored when staticMesh is given. |
staticMesh | string | Static mesh to place (spawns AStaticMeshActor). |
count | integer | How many copies to place; ignored when spacing is greater than 0. Default 5. |
spacing | number | Distance in cm between copies; 0 uses count. Default 0.0. |
alignToTangent | boolean | Rotate each copy to face along the spline. Default true. |
offset | {x,y,z} | Extra offset in cm applied to each copy. |
Returns: changed, changedCount, failed, failedCount, message.
level.project_point_to_nav (risk 0, requires world, smoke)
Projects a world point onto the navmesh inside a search box.
| Argument | Type | Description |
|---|---|---|
point | {x,y,z} | required. |
extent | {x,y,z} | Search box half-size in cm around the point. Default FUeaVec3(100.0, 100.0, 200.0). |
Returns: found, point, distance, message.
level.rebuild_dirty_nav (risk 4, requires world)
Requests a rebuild of the navigation areas the editor marked dirty. Not smoke-tested: starts a navigation build that is not undoable.
No arguments.
Returns: started, building, finished, framesWaited, remainingTasks, message.
level.recapture_reflections (risk 1, mutates, requires world, smoke)
Rebuilds every reflection capture in the level (invalid build-data GUIDs are repaired first, since the engine asserts on them).
No arguments.
Returns: repaired, repairedCount, count, message.
level.recapture_sky_light (risk 1, requires world, smoke)
Recaptures the sky into the sky light's cubemap.
| Argument | Type | Description |
|---|---|---|
actor | string | Actor label/name; empty = the first actor of the matching kind in the level. |
Returns: message, count.
level.remove_actors_from_data_layer (risk 2, mutates, UE 5.1+, requires world)
Removes actors from a data layer. Not smoke-tested: needs a partitioned world.
| Argument | Type | Description |
|---|---|---|
actors | array of string | required. |
dataLayer | string | required. Data layer short name or asset path. |
Returns: changed, changedCount, failed, failedCount, message.
level.remove_actors_from_layer (risk 2, mutates, requires world)
Removes actors from an editor layer. Not smoke-tested: needs level actors that the self-test does not own.
| Argument | Type | Description |
|---|---|---|
actors | array of string | required. |
layer | string | required. |
Returns: changed, changedCount, failed, failedCount, message.
level.remove_post_process_material (risk 2, mutates, requires world)
Removes a post-process material from the target's weighted blendables. Not smoke-tested: needs a project-authored post-process material.
| Argument | Type | Description |
|---|---|---|
material | string | required. |
Returns: target, materials, count, message.
level.remove_spline_point (risk 3, mutates, destructive, requires world, smoke)
Removes one point from a spline.
| Argument | Type | Description |
|---|---|---|
index | integer | required. |
Returns: actor, component, points, pointCount, length, closed, message.
level.remove_sublevel (risk 3, mutates, destructive, requires world)
Removes a sublevel from the current world (the asset is kept). Not smoke-tested: the self-test world has no sublevels.
| Argument | Type | Description |
|---|---|---|
sublevel | string | required. Sublevel name or package path (substring match on the package is accepted). |
Returns: message, count.
level.rename_layer (risk 2, mutates, requires world, smoke)
Renames an editor layer.
| Argument | Type | Description |
|---|---|---|
name | string | required. |
newName | string | required. |
Returns: layers, count.
level.rename_map (risk 3, mutates, smoke)
Renames a level asset in place (leaves a redirector).
| Argument | Type | Description |
|---|---|---|
map | string | required. Level asset to rename. |
newName | string | required. New asset name (no path). |
Returns: name, package, path, opened, saved, message.
level.repair_build_data_ids (risk 1, mutates, requires world, smoke)
Replaces invalid (zero) build-data GUIDs on sky atmosphere, reflection capture and light components. The engine asserts on them during a build, so every build tool in this kit runs this first.
No arguments.
Returns: repaired, repairedCount, count, message.
level.reset_post_process (risk 3, mutates, destructive, requires world, smoke)
Resets the target's post-process settings to the engine defaults (every override cleared).
| Argument | Type | Description |
|---|---|---|
target | string | required. Post-process volume, camera actor or any actor with post-process settings. |
Returns: target, fields, count, overriddenCount, applied, failed, message.
level.resize_volume_to_actors (risk 2, mutates, requires world)
Moves and resizes a volume so it encloses the given actors, plus a padding margin. Not smoke-tested: needs level actors that the self-test does not own.
| Argument | Type | Description |
|---|---|---|
actors | array of string | required. Actors the volume must enclose. |
padding | number | Extra margin in cm added on every side. Default 100.0. |
Returns: volume, properties, applied, failed, message.
level.reverse_spline (risk 2, mutates, requires world, smoke)
Reverses the point order of a spline.
| Argument | Type | Description |
|---|---|---|
actor | string | required. Actor carrying the spline component. |
component | string | Component name when the actor has more than one spline. |
Returns: actor, component, points, pointCount, length, closed, message.
level.sample_spline (risk 0, requires world, smoke)
Location, rotation, tangent and up vector at a distance (or 0..1 alpha) along a spline.
| Argument | Type | Description |
|---|---|---|
distance | number | Distance along the spline in cm; ignored when alpha is given. Default 0.0. |
alpha | string | Position along the spline as 0..1; empty uses distance. |
space | string | "local" or "world" (default). Default TEXT("world"). |
Returns: actor, samples, count, length.
level.sample_spline_evenly (risk 0, requires world, smoke)
N evenly spaced samples along a spline.
| Argument | Type | Description |
|---|---|---|
count | integer | required. How many samples to return (>= 2). |
space | string | "local" or "world" (default). Default TEXT("world"). |
Returns: actor, samples, count, length.
level.save (risk 2)
Saves the level currently open (optionally "save as", optionally with its loaded sublevels). Not smoke-tested: writes to disk and an untitled level opens a modal Save As dialog.
| Argument | Type | Description |
|---|---|---|
saveAs | string | Optional package path for "save as", e.g. "/Game/Maps/Copy". |
saveSublevels | boolean | Also save every loaded sublevel. Default false. |
Returns: name, package, path, opened, saved, message.
level.set_actor_spatial (risk 2, mutates, UE 5.0+, requires world)
Whether an actor streams with the partition grid, and which runtime grid it belongs to. Not smoke-tested: needs a level actor that the self-test does not own.
| Argument | Type | Description |
|---|---|---|
actor | string | required. |
spatiallyLoaded | boolean | required. Spatially loaded actors stream with the grid; non-spatial ones are always loaded. |
runtimeGrid | string | Runtime grid name; empty leaves it unchanged. |
Returns: name, label, class, path, location, rotation, applied, failed, message.
level.set_ambient_occlusion (risk 2, mutates, requires world, smoke)
Screen-space ambient occlusion intensity, radius, static fraction, fade distance and power.
| Argument | Type | Description |
|---|---|---|
intensity | string | |
radius | string | |
staticFraction | string | |
fadeDistance | string | |
power | string |
Returns: target, fields, count, overriddenCount, applied, failed, message.
level.set_audio_volume (risk 2, mutates, requires world)
Priority, enabled flag and reverb of an audio volume. Not smoke-tested: needs an audio volume, which the smoke chain does not keep.
| Argument | Type | Description |
|---|---|---|
priority | string | |
enabled | string | |
reverbEffect | string | Reverb effect asset. |
reverbVolume | string | Reverb volume 0..1. |
properties | array of UeaKeyValue |
Returns: volume, properties, applied, failed, message.
level.set_blocking_volume_collision (risk 2, mutates, requires world)
Collision profile of a blocking volume. Not smoke-tested: needs a blocking volume, which the smoke chain does not keep.
| Argument | Type | Description |
|---|---|---|
profile | string | required. Collision profile name, e.g. "BlockAll", "InvisibleWall". |
Returns: volume, properties, applied, failed, message.
level.set_bloom (risk 2, mutates, requires world, smoke)
Bloom method, intensity, threshold and size.
| Argument | Type | Description |
|---|---|---|
method | string | "standard" (gaussian) or "convolution". |
intensity | string | |
threshold | string | |
sizeScale | string | |
convolutionScatterDispersion | string | 5.0+ only. |
Returns: target, fields, count, overriddenCount, applied, failed, message.
level.set_chromatic_aberration (risk 2, mutates, requires world, smoke)
Chromatic aberration (scene fringe) intensity and start offset.
| Argument | Type | Description |
|---|---|---|
intensity | string | |
startOffset | string |
Returns: target, fields, count, overriddenCount, applied, failed, message.
level.set_color_grading (risk 2, mutates, requires world, smoke)
Colour grading: saturation, contrast, gamma, gain, offset, white balance and scene colour tint.
| Argument | Type | Description |
|---|---|---|
saturation | string | FVector4 fields accept "(X=1,Y=1,Z=1,W=1)" or "1,1,1,1". |
contrast | string | |
gamma | string | |
gain | string | |
offset | string | |
temperature | string | |
tint | string | |
sceneColorTint | string | Scene colour tint as "(R=1,G=1,B=1,A=1)". |
Returns: target, fields, count, overriddenCount, applied, failed, message.
level.set_cull_distances (risk 2, mutates, requires world)
Size/distance pairs of a cull distance volume. Not smoke-tested: needs a cull distance volume, which the smoke chain does not keep.
| Argument | Type | Description |
|---|---|---|
entries | array of UeaCullDistanceEntry | required. |
Returns: volume, properties, applied, failed, message.
level.set_current_sublevel (risk 1, requires world, smoke)
Makes a sublevel the current level new actors spawn into (empty = the persistent level).
| Argument | Type | Description |
|---|---|---|
sublevel | string | Sublevel name or package path; empty = the persistent level. |
Returns: sublevel, message.
level.set_data_layer_state (risk 2, mutates, UE 5.1+, requires world)
Initial runtime state, editor visibility and editor loading of a data layer. Not smoke-tested: needs a partitioned world.
| Argument | Type | Description |
|---|---|---|
dataLayer | string | required. Data layer short name or asset path. |
state | string | "loaded", "activated" or "unloaded" (the initial runtime state). |
visible | string | Editor visibility. |
loadedInEditor | string | Whether the layer's actors are loaded in the editor. |
Returns: dataLayers, count, message.
level.set_depth_of_field (risk 2, mutates, requires world, smoke)
Depth of field: focal distance, f-stop, sensor width, focal region and blur sizes.
| Argument | Type | Description |
|---|---|---|
focalDistance | string | |
fstop | string | |
sensorWidth | string | |
focalRegion | string | |
nearBlur | string | |
farBlur | string | |
method | string | 4.27 only (DepthOfFieldMethod); reported as failed on 5.x, where only Cinematic DoF exists. |
Returns: target, fields, count, overriddenCount, applied, failed, message.
level.set_directional_shadows (risk 2, mutates, requires world, smoke)
Cascaded shadow map settings of a directional light.
| Argument | Type | Description |
|---|---|---|
actor | string | Directional light; empty = the first one in the level. |
cascades | string | |
dynamicShadowDistance | string | |
distanceFieldShadows | string | |
cascadeDistribution | string |
Returns: entries, count, message.
level.set_exposure (risk 2, mutates, requires world, smoke)
Auto-exposure method, bias, brightness range and adaptation speed.
| Argument | Type | Description |
|---|---|---|
method | string | "manual", "histogram" or "basic". |
bias | string | |
minBrightness | string | |
maxBrightness | string | |
speedUp | string | |
speedDown | string | |
applyPhysicalCamera | string |
Returns: target, fields, count, overriddenCount, applied, failed, message.
level.set_film_grain (risk 2, mutates, UE 5.0+, requires world, smoke)
Film grain intensity and its shadow/midtone/highlight weights.
| Argument | Type | Description |
|---|---|---|
intensity | string | |
intensityShadows | string | |
intensityMidtones | string | |
intensityHighlights | string |
Returns: target, fields, count, overriddenCount, applied, failed, message.
level.set_fog (risk 2, mutates, requires world, smoke)
Changes any subset of the exponential height fog settings.
| Argument | Type | Description |
|---|---|---|
actor | string | |
density | string | |
heightFalloff | string | |
fogColor | UeaColor | |
useFogColor | boolean | Default false. |
startDistance | string | |
volumetric | string | |
extinctionScale | string | |
secondFogDensity | string | |
secondFogHeightFalloff | string | |
secondFogHeightOffset | string | |
volumetricScatteringDistribution | string | |
volumetricAlbedo | UeaColor | |
useVolumetricAlbedo | boolean | Default false. |
properties | array of UeaKeyValue |
Returns: entries, count, message.
level.set_force_no_precomputed_lighting (risk 2, mutates, requires world, smoke)
Turns "Force No Precomputed Lighting" on or off in World Settings (fully dynamic lighting).
| Argument | Type | Description |
|---|---|---|
enabled | boolean | required. |
Returns: entries, count, message.
level.set_game_mode_override (risk 2, mutates, requires world, smoke)
Sets (or clears) the Game Mode override of this level.
| Argument | Type | Description |
|---|---|---|
gameMode | string | Game mode class or Blueprint; empty clears the override. |
Returns: entries, count, message.
level.set_global_illumination (risk 2, mutates, UE 5.0+, requires world, smoke)
Global illumination method (Lumen, SSGI, none) and Lumen quality.
| Argument | Type | Description |
|---|---|---|
method | string | "none", "lumen", "ssgi" or "plugin". |
lumenSceneLightingQuality | string | |
lumenFinalGatherQuality | string |
Returns: target, fields, count, overriddenCount, applied, failed, message.
level.set_kill_z (risk 2, mutates, requires world, smoke)
Sets the Kill Z of this level (actors below it are destroyed).
| Argument | Type | Description |
|---|---|---|
killZ | number | required. Z below which actors are destroyed (cm). |
Returns: entries, count, message.
level.set_layer_visible (risk 1, requires world, smoke)
Shows or hides every actor of an editor layer.
| Argument | Type | Description |
|---|---|---|
name | string | required. |
visible | boolean | required. |
Returns: layers, count.
level.set_lens_flares (risk 2, mutates, requires world, smoke)
Lens flare intensity, tint, bokeh size and threshold.
| Argument | Type | Description |
|---|---|---|
intensity | string | |
tint | string | "(R=1,G=1,B=1,A=1)". |
bokehSize | string | |
threshold | string |
Returns: target, fields, count, overriddenCount, applied, failed, message.
level.set_light (risk 2, mutates, requires world, smoke)
Changes any subset of a light's settings (empty fields are left unchanged).
| Argument | Type | Description |
|---|---|---|
actor | string | required. Light actor label, name or unique class. |
intensity | string | |
color | UeaColor | Colour; leave at the default and set useColor false to keep the current colour. |
useColor | boolean | Apply color (false = keep the current colour). Default false. |
temperature | string | |
useTemperature | string | |
castShadows | string | |
mobility | string | "static", "stationary" or "movable". |
attenuationRadius | string | |
innerCone | string | |
outerCone | string | |
sourceRadius | string | |
indirectIntensity | string | |
volumetricScattering | string | |
specularScale | string | |
iesTexture | string | IES profile texture asset. |
properties | array of UeaKeyValue |
Returns: light, properties, applied, failed, message.
level.set_light_channels (risk 2, mutates, requires world, smoke)
Sets the lighting channels a light affects.
| Argument | Type | Description |
|---|---|---|
actor | string | required. |
channel0 | boolean | Default true. |
channel1 | boolean | Default false. |
channel2 | boolean | Default false. |
Returns: light, properties, applied, failed, message.
level.set_light_function (risk 2, mutates, requires world, smoke)
Sets a light's light-function material.
| Argument | Type | Description |
|---|---|---|
actor | string | required. |
material | string | required. Light function material; empty clears it. |
Returns: light, properties, applied, failed, message.
level.set_light_ies (risk 2, mutates, requires world, smoke)
Sets a light's IES profile texture.
| Argument | Type | Description |
|---|---|---|
actor | string | required. |
iesTexture | string | required. IES profile texture asset (UTextureLightProfile); empty clears it. |
useIesBrightness | boolean | Default false. |
Returns: light, properties, applied, failed, message.
level.set_light_indirect (risk 2, mutates, requires world, smoke)
Indirect lighting intensity and volumetric scattering of one light.
| Argument | Type | Description |
|---|---|---|
actor | string | required. |
indirectIntensity | string | |
volumetricScattering | string |
Returns: entries, count, message.
level.set_light_mobility (risk 2, mutates, requires world, smoke)
Sets a light's mobility (static, stationary or movable).
| Argument | Type | Description |
|---|---|---|
actor | string | required. |
mobility | string | required. "static", "stationary" or "movable". |
Returns: light, properties, applied, failed, message.
level.set_lighting_scenario (risk 2, mutates, requires world, smoke)
Marks a level as a lighting scenario (its baked lighting can be swapped at runtime).
| Argument | Type | Description |
|---|---|---|
sublevel | string | required. Sublevel name; empty = the persistent level. |
enabled | boolean | required. |
Returns: sublevels, count.
level.set_lightmap_resolution (risk 2, mutates, requires world)
Overrides the lightmap resolution of one mesh component. Not smoke-tested: needs a static mesh actor that the self-test does not own.
| Argument | Type | Description |
|---|---|---|
actor | string | required. |
resolution | integer | required. Lightmap resolution in texels (power of two, e.g. 64). |
component | string | Component name when the actor has several meshes. |
Returns: entries, count, lightmapTotalSizeKB, shadowmapTotalSizeKB, message.
level.set_lightmap_resolution_many (risk 2, mutates, requires world, smoke)
Overrides the lightmap resolution of many actors at once.
| Argument | Type | Description |
|---|---|---|
actors | array of string | Actors to change; empty uses classFilter. |
classFilter | string | Apply to every actor of this class when actors is empty; empty = every mesh actor. |
resolution | integer | required. |
Returns: changed, changedCount, failed, failedCount, message.
level.set_lightmass_settings (risk 2, mutates, requires world, smoke)
Changes any subset of the Lightmass settings of the current level.
| Argument | Type | Description |
|---|---|---|
numIndirectLightingBounces | string | |
numSkyLightingBounces | string | |
indirectLightingQuality | string | |
indirectLightingSmoothness | string | |
staticLightingLevelScale | string | |
environmentColor | string | "(R=1,G=1,B=1,A=1)". |
environmentIntensity | string | |
useAmbientOcclusion | string | |
compressLightmaps | string | |
properties | array of UeaKeyValue | Any other LightmassSettings field by name. |
Returns: entries, count, message.
level.set_lights_many (risk 2, mutates, requires world, smoke)
Applies the same settings to many lights at once (by list or by class).
| Argument | Type | Description |
|---|---|---|
actors | array of string | Light actors to change; empty uses classFilter. |
classFilter | string | Apply to every light of this class when actors is empty; empty = every light. |
intensity | string | |
color | UeaColor | |
useColor | boolean | Default false. |
temperature | string | |
useTemperature | string | |
castShadows | string | |
mobility | string | "static", "stationary" or "movable". |
attenuationRadius | string | |
innerCone | string | |
outerCone | string | |
sourceRadius | string | |
indirectIntensity | string | |
volumetricScattering | string | |
specularScale | string | |
iesTexture | string | |
properties | array of UeaKeyValue |
Returns: changed, changedCount, failed, failedCount, message.
level.set_lights_mobility_many (risk 2, mutates, requires world, smoke)
Sets the mobility of every light (optionally of one class) at once.
| Argument | Type | Description |
|---|---|---|
mobility | string | required. "static", "stationary" or "movable". |
classFilter | string | Light class to change; empty = every light. |
Returns: changed, changedCount, failed, failedCount, message.
level.set_motion_blur (risk 2, mutates, requires world, smoke)
Motion blur amount, maximum, per-object size and target FPS.
| Argument | Type | Description |
|---|---|---|
amount | string | |
max | string | |
perObjectSize | string | |
targetFps | string |
Returns: target, fields, count, overriddenCount, applied, failed, message.
level.set_nav_agent (risk 4)
Changes a supported navigation agent in the project settings and writes DefaultEngine.ini. Not smoke-tested: writes the project's DefaultEngine.ini, which the self-test must not touch.
| Argument | Type | Description |
|---|---|---|
name | string | required. Agent name from level.get_nav_settings, e.g. "Default". |
radius | string | |
height | string | |
stepHeight | string | |
maxSlope | string | Maximum walkable slope in degrees. Not an agent property: reported as unsupported and applied through level.set_recast_settings instead. |
Returns: agents, count, autoCreateNavigationData, allowClientSideNavigation, buildNavigationAtRuntime, entries, message.
level.set_nav_modifier_area (risk 2, mutates, requires world)
Nav area class applied by a nav modifier volume. Not smoke-tested: needs a nav modifier volume, which the smoke chain does not keep.
| Argument | Type | Description |
|---|---|---|
areaClass | string | required. Nav area class, e.g. "NavArea_Null", "NavArea_Obstacle", "NavArea_Default". |
Returns: volume, properties, applied, failed, message.
level.set_nav_runtime_generation (risk 2, mutates, requires world)
Runtime generation mode of the nav data actors (static, dynamic, dynamicModifiersOnly). Not smoke-tested: an empty project has no navigation data actor until a nav mesh bounds volume is built.
| Argument | Type | Description |
|---|---|---|
mode | string | required. "static", "dynamic" or "dynamicModifiersOnly". |
actor | string | Nav data actor to change; empty = every nav data in the level. |
Returns: navData, count, message.
level.set_pain_volume (risk 2, mutates, requires world)
Damage settings of a pain-causing volume. Not smoke-tested: needs a pain-causing volume, which level.add_volume can create but the smoke chain does not keep.
| Argument | Type | Description |
|---|---|---|
damagePerSec | string | |
damageType | string | Damage type class. |
painCausing | string | |
entryPain | string |
Returns: volume, properties, applied, failed, message.
level.set_physics_volume (risk 2, mutates, requires world)
Priority, friction, terminal velocity and water flag of a physics volume. Not smoke-tested: needs a physics volume, which the smoke chain does not keep.
| Argument | Type | Description |
|---|---|---|
priority | string | |
fluidFriction | string | |
terminalVelocity | string | |
waterVolume | string |
Returns: volume, properties, applied, failed, message.
level.set_post_process (risk 2, mutates, requires world, smoke)
Writes arbitrary post-process fields by name (the bOverride_ flag of each is turned on).
| Argument | Type | Description |
|---|---|---|
settings | array of UeaKeyValue | required. Field name -> value; the matching bOverride_ flag is turned on automatically. |
Returns: target, fields, count, overriddenCount, applied, failed, message.
level.set_post_process_volume (risk 2, mutates, requires world, smoke)
Changes the volume's own settings (bounds mode, priority, blending, size).
| Argument | Type | Description |
|---|---|---|
unbound | string | |
priority | string | |
blendRadius | string | |
blendWeight | string | |
enabled | string | |
extent | {x,y,z} | New half-size in cm; rebuilds the volume's brush. |
useExtent | boolean | Apply extent (false = keep the current size). Default false. |
Returns: target, fields, count, overriddenCount, applied, failed, message.
level.set_recast_settings (risk 2, mutates, requires world)
Recast navmesh generation settings (cell size, agent size, tile size, debug draw). Not smoke-tested: an empty project has no RecastNavMesh actor until navigation is built.
| Argument | Type | Description |
|---|---|---|
actor | string | RecastNavMesh actor; empty = the first one in the level. |
cellSize | string | |
cellHeight | string | |
agentRadius | string | |
agentHeight | string | |
tileSizeUU | string | Tile size in Unreal units. |
drawDebug | string | Draw the navmesh in the editor viewport. |
properties | array of UeaKeyValue |
Returns: entries, count, message.
level.set_reflection_method (risk 2, mutates, requires world, smoke)
Reflection method (Lumen, SSR, none) and screen-space reflection quality/intensity.
| Argument | Type | Description |
|---|---|---|
method | string | "none", "lumen" or "ssr" (5.0+; the SSR fields work on 4.27 too). |
ssrQuality | string | |
ssrIntensity | string |
Returns: target, fields, count, overriddenCount, applied, failed, message.
level.set_sky_atmosphere (risk 2, mutates, requires world, smoke)
Changes any subset of the SkyAtmosphere settings.
| Argument | Type | Description |
|---|---|---|
actor | string | |
rayleighScatteringScale | string | |
rayleighScattering | UeaColor | |
useRayleighScattering | boolean | Default false. |
mieScatteringScale | string | |
mieAnisotropy | string | |
groundAlbedo | UeaColor | |
useGroundAlbedo | boolean | Default false. |
atmosphereHeight | string | Atmosphere height in km. |
multiScattering | string | |
properties | array of UeaKeyValue |
Returns: entries, count, message.
level.set_sky_light (risk 2, mutates, requires world, smoke)
Changes any subset of the sky light's settings.
| Argument | Type | Description |
|---|---|---|
actor | string | Sky light actor; empty = the first one in the level. |
intensity | string | |
color | UeaColor | |
useColor | boolean | Default false. |
realTimeCapture | string | |
cubemap | string | Cubemap texture asset (switches the source to "specified cubemap"). |
lowerHemisphereColor | UeaColor | |
useLowerHemisphereColor | boolean | Default false. |
occlusion | string | Occlusion (distance field ambient occlusion) intensity. |
properties | array of UeaKeyValue |
Returns: entries, count, message.
level.set_spline_closed (risk 2, mutates, requires world, smoke)
Opens or closes the loop of a spline.
| Argument | Type | Description |
|---|---|---|
closed | boolean | required. |
Returns: actor, component, points, pointCount, length, closed, message.
level.set_spline_point (risk 2, mutates, requires world, smoke)
Changes any subset of one point's position, tangents, rotation, scale and type.
| Argument | Type | Description |
|---|---|---|
index | integer | required. |
position | {x,y,z} | |
usePosition | boolean | Default false. |
arriveTangent | {x,y,z} | |
useArriveTangent | boolean | Default false. |
leaveTangent | {x,y,z} | |
useLeaveTangent | boolean | Default false. |
rotation | {x,y,z} | |
useRotation | boolean | Default false. |
scale | {x,y,z} | |
useScale | boolean | Default false. |
type | string | linear, curve, constant, curveClamped or curveCustomTangent. |
space | string | "local" (default) or "world". Default TEXT("local"). |
Returns: actor, component, points, pointCount, length, closed, message.
level.set_spline_point_type (risk 2, mutates, requires world, smoke)
Sets the interpolation type of one point (index -1 = every point).
| Argument | Type | Description |
|---|---|---|
type | string | required. linear, curve, constant, curveClamped or curveCustomTangent. |
index | integer | Point index; -1 applies to every point. Default -1. |
Returns: actor, component, points, pointCount, length, closed, message.
level.set_spline_points (risk 2, mutates, requires world, smoke)
Replaces every point of a spline.
| Argument | Type | Description |
|---|---|---|
points | array of {x,y,z} | required. New point positions, replacing every existing point. |
space | string | "local" (default) or "world". Default TEXT("local"). |
Returns: actor, component, points, pointCount, length, closed, message.
level.set_sublevel_loaded (risk 2, mutates, requires world)
Loads or unloads a sublevel (flushes level streaming). Not smoke-tested: the self-test world has no sublevels.
| Argument | Type | Description |
|---|---|---|
sublevel | string | required. |
loaded | boolean | required. |
Returns: sublevel, message.
level.set_sublevel_locked (risk 2, mutates, requires world)
Locks or unlocks a sublevel for editing. Not smoke-tested: the self-test world has no sublevels.
| Argument | Type | Description |
|---|---|---|
sublevel | string | required. |
locked | boolean | required. |
Returns: sublevel, message.
level.set_sublevel_streaming_class (risk 2, mutates, requires world)
Switches a sublevel between always-loaded and blueprint (dynamic) streaming. Not smoke-tested: the self-test world has no sublevels.
| Argument | Type | Description |
|---|---|---|
sublevel | string | required. |
streamingClass | string | required. "always_loaded" or "blueprint". |
Returns: sublevel, message.
level.set_sublevel_transform (risk 2, mutates, requires world)
Moves a sublevel by setting its editor transform. Not smoke-tested: the self-test world has no sublevels.
| Argument | Type | Description |
|---|---|---|
sublevel | string | required. |
location | {x,y,z} | |
rotation | {x,y,z} |
Returns: sublevel, message.
level.set_sublevel_visible (risk 2, mutates, requires world)
Shows or hides a sublevel in the editor. Not smoke-tested: the self-test world has no sublevels.
| Argument | Type | Description |
|---|---|---|
sublevel | string | required. |
visible | boolean | required. |
Returns: sublevel, message.
level.set_sun_from_time (risk 2, mutates, requires world, smoke)
Points the sun using a simple solar model (hour of day + latitude).
| Argument | Type | Description |
|---|---|---|
hour | number | required. Hour of day, 0..24 (12 = noon). |
latitude | number | Latitude in degrees (positive = northern hemisphere). Default 0.0. |
azimuth | number | Compass direction the sun travels through, in degrees. Default 0.0. |
actor | string | Directional light to rotate; empty = the first one in the level. |
Returns: name, label, class, path, location, rotation, applied, failed, message.
level.set_sun_rotation (risk 2, mutates, requires world, smoke)
Points the sun (a directional light) at a pitch/yaw.
| Argument | Type | Description |
|---|---|---|
pitch | number | required. Pitch in degrees (negative points down). |
yaw | number | required. Yaw in degrees. |
actor | string | Directional light to rotate; empty = the first one in the level. |
Returns: name, label, class, path, location, rotation, applied, failed, message.
level.set_time_dilation_limits (risk 2, mutates, requires world, smoke)
Sets the minimum/maximum global time dilation of this level.
| Argument | Type | Description |
|---|---|---|
min | string | Minimum global time dilation; empty leaves it unchanged. |
max | string | Maximum global time dilation; empty leaves it unchanged. |
Returns: entries, count, message.
level.set_trigger_collision (risk 2, mutates, requires world, smoke)
Collision profile and overlap events of a trigger volume.
| Argument | Type | Description |
|---|---|---|
profile | string | Collision profile name, e.g. "Trigger", "OverlapAllDynamic", "BlockAll". |
generateOverlapEvents | string |
Returns: volume, properties, applied, failed, message.
level.set_vignette (risk 2, mutates, requires world, smoke)
Vignette intensity (0..1).
| Argument | Type | Description |
|---|---|---|
intensity | string | required. |
Returns: target, fields, count, overriddenCount, applied, failed, message.
level.set_volume_extent (risk 2, mutates, requires world, smoke)
Resizes a volume (rebuilds the BSP brush, or resizes the collision component of a trigger).
| Argument | Type | Description |
|---|---|---|
extent | {x,y,z} | required. New half-size in cm. |
radius | number | New radius in cm for sphere/capsule triggers. Default 0.0. |
Returns: volume, properties, applied, failed, message.
level.set_volume_priority (risk 2, mutates, requires world)
Priority of an audio or post-process volume. Not smoke-tested: needs an audio or post-process volume selected by actor, covered by level.set_post_process_volume instead.
| Argument | Type | Description |
|---|---|---|
priority | number | required. Higher priority wins where volumes overlap. |
Returns: volume, properties, applied, failed, message.
level.set_volumetric_cloud (risk 2, mutates, requires world, smoke)
Changes any subset of the VolumetricCloud settings.
| Argument | Type | Description |
|---|---|---|
actor | string | |
layerBottomAltitude | string | Cloud layer bottom altitude in km. |
layerHeight | string | Cloud layer thickness in km. |
tracingStartMaxDistance | string | |
tracingMaxDistance | string | |
material | string | Cloud material asset. |
properties | array of UeaKeyValue |
Returns: entries, count, message.
level.set_white_balance (risk 2, mutates, requires world, smoke)
White balance temperature, tint and temperature type.
| Argument | Type | Description |
|---|---|---|
temperature | string | |
tint | string | |
method | string | "whiteBalance" or "colorTemperature". |
Returns: target, fields, count, overriddenCount, applied, failed, message.
level.set_world_gravity (risk 2, mutates, requires world, smoke)
Sets the per-level gravity override (cm/s^2 on Z).
| Argument | Type | Description |
|---|---|---|
gravityZ | number | required. Gravity on Z in cm/s^2 (engine default is -980). |
override | boolean | required. Use this value instead of the project default. |
Returns: entries, count, message.
level.set_world_to_meters (risk 2, mutates, requires world, smoke)
Sets WorldToMeters (Unreal units per metre, default 100).
| Argument | Type | Description |
|---|---|---|
scale | number | required. Unreal units per metre (default 100). |
Returns: entries, count, message.
level.setup_default_environment (risk 2, mutates, requires world, smoke)
Creates the actors a lit, playable level needs (sun, sky light, sky atmosphere, fog, optionally clouds), skipping the ones that already exist.
| Argument | Type | Description |
|---|---|---|
sun | boolean | Add a directional light acting as the sun. Default true. |
skyLight | boolean | Add a sky light (real-time capture on 5.x). Default true. |
skyAtmosphere | boolean | Add a SkyAtmosphere actor. Default true. |
fog | boolean | Add an exponential height fog actor. Default true. |
clouds | boolean | Add a VolumetricCloud actor. Default false. |
sunPitch | number | Sun pitch in degrees (negative points down; -45 is a mid-afternoon sun). Default -45.0. |
Returns: created, existing, createdCount, message.
level.spline_from_actors (risk 2, mutates, requires world)
Creates a spline whose points are the world locations of the given actors, in order. Not smoke-tested: needs level actors that the self-test does not own.
| Argument | Type | Description |
|---|---|---|
actors | array of string | required. Actors whose locations become the spline points, in order. |
name | string | Default TEXT("Spline"). |
closed | boolean | Default false. |
Returns: name, label, class, path, location, rotation, applied, failed, message.
level.unload_region (risk 1, UE 5.3+, requires world)
Unloads the partition cells intersecting a world-space box. Not smoke-tested: needs a partitioned world.
| Argument | Type | Description |
|---|---|---|
min | {x,y,z} | required. Minimum corner of the world-space box to load/unload. |
max | {x,y,z} | required. Maximum corner of the world-space box. |
Returns: applied, min, max, message.