Skip to main content

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​

  1. level.get_current — name, package, dirty/untitled state, actor and sublevel counts, whether the level is partitioned, unbuilt lighting and world bounds.
  2. level.list_environment — which of sun / sky light / sky atmosphere / fog / clouds / reflection captures already exist.
  3. level.setup_default_environment — creates the missing ones in one call.
  4. level.get_stats — actors by class, lights, meshes, brushes, volumes, estimated triangles.

Tools​

Maps and sublevels​

ToolPurpose
level.list_maps / level.list_templatesLevel assets in a folder; engine template maps.
level.createNew level asset (optionally from a template), optionally opened and saved.
level.open / level.saveOpen a level; save the open level (saveAs for save-as).
level.duplicate_map / level.rename_map / level.delete_mapLevel asset lifecycle.
level.get_current / level.get_stats / level.get_package_infoState, content statistics, file path and size.
level.list_sublevels / level.get_sublevelSublevels with class, loaded/visible/locked state, transform and actor count.
level.add_sublevel / level.create_sublevel / level.remove_sublevelAdd an existing level, create + add a new one, remove one.
level.set_sublevel_visible / _loaded / _locked / _transform / _streaming_classPer-sublevel editing state.
level.set_current_sublevel / level.get_current_sublevelWhich level new actors spawn into.
level.move_actors_to_sublevel / level.list_actors_in_sublevelMove actors between levels; list a level's actors.
level.list_streaming_volumes / level.add_streaming_volumeLevel streaming volumes and the sublevels they drive.
level.find_actors_by_class_in_worldQuick class query over the whole world.
level.get_level_blueprint / level.open_level_blueprintThe 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​

ToolPurpose
level.setup_default_environmentSun + 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_lightLight actors with intensity, colour, mobility, shadows and extra properties.
level.add_sky_atmosphere / add_volumetric_cloud / add_exponential_fog / add_atmospheric_fogSky and fog actors (add_atmospheric_fog is the legacy deprecated actor).
level.add_reflection_capture / add_planar_reflection / list_reflection_captures / recapture_reflectionsReflections.
level.list_lights / level.get_lightLights with intensity, colour, mobility, shadows; full component property dump.
level.set_light / set_lights_manyAny subset of a light's settings, one light or many.
level.set_light_mobility / set_light_channels / set_light_ies / set_light_functionMobility, lighting channels, IES profile, light function material.
level.set_sun_rotation / level.set_sun_from_timePoint the sun by pitch/yaw, or by hour of day + latitude.
level.get_sky_light / set_sky_light / recapture_sky_lightSky light settings and recapture.
level.get_sky_atmosphere / set_sky_atmosphereRayleigh/Mie scattering, ground albedo, atmosphere height, multi-scattering.
level.get_volumetric_cloud / set_volumetric_cloudLayer altitude/height, tracing distances, cloud material.
level.get_fog / set_fogDensity, falloff, colour, start distance, volumetric fog, second fog layer.
level.list_environment / level.apply_environment_presetOverview; day / noon / sunset / night / overcast / foggy moods.
level.delete_environment_actorsDelete 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.

ToolPurpose
level.add_post_process_volumeUnbound by default, so it affects the whole level.
level.list_post_process_volumesPriority, bounds mode, enabled, overridden field count.
level.get_post_process / level.set_post_processEvery field with value + overridden flag; generic setter by field name.
level.clear_post_process_overrides / level.reset_post_processStop overriding some/all fields; default-construct the settings.
level.set_post_process_volumeThe 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_balanceTyped setters for the common looks.
level.set_global_illumination (5.0+) / level.set_reflection_methodLumen / SSGI / SSR.
level.add_post_process_material / remove_post_process_material / list_post_process_materialsWeighted blendables.
level.copy_post_processCopy 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.

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​

  1. level.setup_default_environment {sun:true, skyLight:true, skyAtmosphere:true, fog:true, sunPitch:-45}
  2. level.add_post_process_volume {name:"PP_Global", unbound:true}
  3. 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​

  1. level.apply_environment_preset {preset:"sunset", keepExisting:true}
  2. level.set_fog {density:"0.08", volumetric:"true"}
  3. level.set_sun_from_time {hour:18.5, latitude:40} for a precise time of day.
  4. 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​

  1. level.set_bloom {target:"PP_Global", intensity:"0.8", threshold:"-1"}
  2. level.set_ambient_occlusion {target:"PP_Global", intensity:"0.6", radius:"80"}
  3. level.set_vignette {target:"PP_Global", intensity:"0.4"}
  4. level.get_post_process {target:"PP_Global", onlyOverridden:true} to review what you changed.
  5. level.copy_post_process {from:"PP_Global", to:"PP_Interior"} to reuse it.

Recipe: a spline road with meshes​

  1. level.add_spline {name:"Road", points:[{x:0,y:0,z:0},{x:2000,y:0,z:0},{x:4000,y:1500,z:0}]}
  2. level.set_spline_point_type {actor:"Road", type:"curve", index:-1}
  3. level.add_spline_mesh_segments {actor:"Road", staticMesh:"/Game/Meshes/SM_RoadSegment", forwardAxis:"x"}
  4. level.place_along_spline {actor:"Road", staticMesh:"/Game/Meshes/SM_Lamp", spacing:800, alignToTangent:true, offset:{x:0,y:250,z:0}}
  5. level.sample_spline_evenly {actor:"Road", count:20} if you need the waypoints for something else.

Recipe: trigger, nav bounds and a build​

  1. level.add_volume {kind:"trigger_box", name:"TB_Door", location:{x:0,y:0,z:100}, extent:{x:200,y:200,z:150}}
  2. level.set_trigger_collision {actor:"TB_Door", profile:"Trigger", generateOverlapEvents:"true"}
  3. level.add_nav_mesh_bounds {extent:{x:5000,y:5000,z:1000}}
  4. level.build_navigation {wait:true} then level.get_navigation_status.
  5. 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​

  1. level.save first — a persistent level must exist on disk before it can own sublevels.
  2. level.create_sublevel {folder:"/Game/Maps", name:"L_Props", streamingClass:"blueprint"}
  3. level.set_current_sublevel {sublevel:"L_Props"} so new actors land there.
  4. level.move_actors_to_sublevel {actors:["SM_Crate1","SM_Crate2"], sublevel:"L_Props"}
  5. level.add_streaming_volume {sublevels:["L_Props"], extent:{x:3000,y:3000,z:1000}}
  6. level.set_sublevel_visible / level.set_sublevel_loaded while editing; level.list_sublevels to check the state.

Recipe: data layers (UE 5.1+, partitioned levels)​

  1. level.is_partitioned — everything else in this section returns E_NOT_SUPPORTED when false.
  2. level.create_data_layer {name:"DL_Vegetation", folder:"/Game/DataLayers", runtime:true}
  3. level.add_actors_to_data_layer {actors:["SM_Tree1","SM_Tree2"], dataLayer:"DL_Vegetation"}
  4. level.set_data_layer_state {dataLayer:"DL_Vegetation", state:"activated", visible:"true"}
  5. 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_sublevel and level.save (without saveAs) all need a real package on disk — save the persistent level first.
  • Use the level.* map tools for maps, not the asset kit. level.duplicate_map, level.rename_map and level.delete_map go through world-aware engine APIs. The generic asset tools are built on UEditorAssetLibrary, 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 extent rebuilds the brush (level.set_volume_extent), it is not a scale. trigger_sphere and trigger_capsule are shape components instead and use radius. level.list_volume_kinds tells you which is which.
  • Unbound post-process volumes. level.add_post_process_volume defaults to unbound:true, which ignores the volume's bounds and affects the whole level — that is almost always what you want for a global look. Set unbound:false for a local zone.
  • Override flags. Reading a post-process field always returns a value; only overridden:true means the target actually applies it. level.get_post_process with onlyOverridden:true shows what you changed.
  • Optional setter fields are text. level.set_light, level.set_fog, level.set_bloom and friends take strings so an empty value means "leave unchanged" ("0" and "false" are real values). Colours are separate: pass color plus useColor:true.
  • Unknown fields are reported, not fatal. Fields that do not exist on the running engine (filmGrain* on 4.27, depthOfField.method on 5.x, bloomConvolutionScatterDispersion on 4.27) come back in failed with a reason instead of failing the whole call.
  • Invalid build-data GUIDs crash the engine, not just the tool. UMapBuildDataRegistry does check(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 in repaired[]. level.repair_build_data_ids runs 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_lighting returns immediately unless you pass wait:true; poll level.get_build_status otherwise. It is not undoable.
  • Unbuilt lighting. Adding or moving a static/stationary light marks the level's lighting out of date (level.get_current reports lightingUnbuilt). Use movable lights, or level.set_force_no_precomputed_lighting {enabled:true}, to skip baking entirely.
  • Navigation needs bounds. There is no navmesh until a nav_mesh_bounds volume exists; level.find_path and level.project_point_to_nav return "not found" until then. maxSlope is a Recast generation setting, not an agent property — set it with level.set_recast_settings {properties:[{key:"AgentMaxSlope", value:"44"}]}.
  • Partition tools are 5.x only and return a clean E_NOT_SUPPORTED on a non-partitioned world rather than failing hard. level.is_partitioned works on every version.
  • level.load_region holds the region for the session. The loader adapter must stay alive or the cells unload again immediately, so the kit keeps it until level.unload_region releases it. level.unload_region therefore only releases regions this session loaded; it reports that clearly when a box matches nothing.
  • Transactions. Every Mutates tool is wrapped in an editor transaction, so edit.undo works. Builds, level.save, level.delete_map and level.set_nav_agent (which writes DefaultEngine.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 MaxAutoRisk need "_confirm": true). mutates = runs in a transaction (edit.undo reverts). requires PIE / requires world = refused without a PIE session / an open level. requires plugin = unavailable while the plugin is disabled. dryRun = honours the dryRun argument. smoke = covered by edit.self_test.

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.

ArgumentTypeDescription
actorsarray of stringrequired.
dataLayerstringrequired. 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.

ArgumentTypeDescription
actorsarray of stringrequired.
layerstringrequired.

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).

ArgumentTypeDescription
namestring
location{x,y,z}
propertiesarray 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).

ArgumentTypeDescription
namestringDefault TEXT("DirectionalLight").
rotation{x,y,z}Pitch/yaw/roll in degrees; a negative pitch points down. Default FUeaVec3(-45.0, 45.0, 0.0).
intensitynumberLight intensity in lux (engine default is 10). Default 10.0.
colorUeaColor
castShadowsbooleanDefault true.
atmosphereSunLightbooleanDrive the SkyAtmosphere sun disk with this light. Default true.
mobilitystring"static", "stationary" or "movable" (default). Default TEXT("movable").
propertiesarray of UeaKeyValueExtra 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.

ArgumentTypeDescription
namestringDefault TEXT("ExponentialHeightFog").
location{x,y,z}
densitynumberDefault 0.02.
heightFalloffnumberDefault 0.2.
fogColorUeaColor
startDistancenumberDistance in cm at which the fog starts. Default 0.0.
volumetricbooleanTurn on volumetric fog. Default false.
extinctionScalenumberVolumetric fog extinction scale. Default 1.0.
propertiesarray of UeaKeyValue

Returns: name, label, class, path, location, rotation, applied, failed, message.

Adds a nav link proxy connecting two world points (jumps, ledges, doors).

ArgumentTypeDescription
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.
bidirectionalbooleanTraversable in both directions (default) or only from start to end. Default true.
namestringDefault 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).

ArgumentTypeDescription
namestringDefault 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).

ArgumentTypeDescription
namestringDefault TEXT("PlanarReflection").
location{x,y,z}
rotation{x,y,z}
propertiesarray 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.

ArgumentTypeDescription
namestringDefault TEXT("PointLight").
location{x,y,z}
intensitynumberIntensity in candelas/lumens depending on the unit (engine default is 5000). Default 5000.0.
colorUeaColor
attenuationRadiusnumberAttenuation radius in cm. Default 1000.0.
sourceRadiusnumberSource radius in cm (soft shadows). Default 0.0.
castShadowsbooleanDefault true.
mobilitystring"static", "stationary" or "movable" (default). Default TEXT("movable").
propertiesarray 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.

ArgumentTypeDescription
materialstringrequired. Post-process material or material instance.
weightnumber0..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).

ArgumentTypeDescription
namestringDefault TEXT("PostProcessVolume").
unboundbooleanAffect 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).
prioritynumberHigher priority wins where volumes overlap. Default 0.0.
blendRadiusnumberBlend distance in cm outside the volume. Default 100.0.
blendWeightnumber0..1 weight of this volume's settings. Default 1.0.
enabledbooleanDefault 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.

ArgumentTypeDescription
namestringDefault TEXT("RectLight").
location{x,y,z}
rotation{x,y,z}
intensitynumberDefault 5000.0.
colorUeaColor
attenuationRadiusnumberDefault 1000.0.
sourceWidthnumberEmitter width in cm. Default 64.0.
sourceHeightnumberEmitter height in cm. Default 64.0.
barnDoorAnglenumberBarn door angle in degrees (0 = no barn doors). Default 0.0.
castShadowsbooleanDefault true.
mobilitystringDefault TEXT("movable").
propertiesarray 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.

ArgumentTypeDescription
shapestring"sphere" (default) or "box". Default TEXT("sphere").
namestring
location{x,y,z}
radiusnumberInfluence 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).
brightnessnumberDefault 1.0.
propertiesarray 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).

ArgumentTypeDescription
namestring
location{x,y,z}
propertiesarray 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.

ArgumentTypeDescription
namestringDefault TEXT("SkyLight").
realTimeCapturebooleanCapture the sky every frame (5.x real-time capture; ignored on 4.27 where it is off by default). Default true.
cubemapstringCubemap texture to use instead of capturing the scene.
intensitynumberDefault 1.0.
lowerHemisphereColorUeaColor
mobilitystringDefault TEXT("movable").
propertiesarray 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.

ArgumentTypeDescription
namestringDefault TEXT("Spline").
location{x,y,z}Actor location.
pointsarray of {x,y,z}Initial points; empty gives the engine's default two-point spline.
closedbooleanDefault false.
spacestring"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.

ArgumentTypeDescription
staticMeshstringrequired. Static mesh deformed along each segment.
segmentsintegerHow many segments to build; 0 (default) = one per point pair. Default 0.
forwardAxisstring"x" (default), "y" or "z". Default TEXT("x").
materialstringOptional 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).

ArgumentTypeDescription
position{x,y,z}required.
spacestring"local" (default) or "world". Default TEXT("local").
indexintegerInsert 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.

ArgumentTypeDescription
namestringDefault TEXT("SpotLight").
location{x,y,z}
rotation{x,y,z}Pitch/yaw/roll in degrees. Default FUeaVec3(-90.0, 0.0, 0.0).
intensitynumberDefault 5000.0.
colorUeaColor
attenuationRadiusnumberDefault 1000.0.
sourceRadiusnumberDefault 0.0.
innerConenumberInner cone half-angle in degrees. Default 0.0.
outerConenumberOuter cone half-angle in degrees. Default 44.0.
castShadowsbooleanDefault true.
mobilitystringDefault TEXT("movable").
propertiesarray 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.

ArgumentTypeDescription
sublevelsarray of stringrequired. Sublevels the volume controls.
namestring
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).
usagestring"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.

ArgumentTypeDescription
mapstringrequired. Level asset to add as a sublevel.
streamingClassstring"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).

ArgumentTypeDescription
kindstringrequired. One of level.list_volume_kinds, e.g. "trigger_box", "audio", "nav_mesh_bounds".
namestring
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).
radiusnumberRadius in cm for trigger_sphere / trigger_capsule. Default 100.0.
rotation{x,y,z}
propertiesarray 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.

ArgumentTypeDescription
namestring
location{x,y,z}
propertiesarray 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).

ArgumentTypeDescription
presetstringrequired. day, noon, sunset, night, overcast or foggy.
keepExistingbooleanDo 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.

ArgumentTypeDescription
actorstringrequired. Level instance actor to break apart.
levelsintegerHow 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.

ArgumentTypeDescription
qualitystring"preview" (default), "medium", "high" or "production". Default TEXT("preview").
waitbooleanBlock until the build finishes (the tool runs off the game thread and polls). Default false.
maxFramesintegerMaximum 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.

ArgumentTypeDescription
qualitystring"preview" (default), "medium", "high" or "production". Default TEXT("preview").
waitbooleanBlock until the build finishes (the tool runs off the game thread and polls). Default false.
maxFramesintegerMaximum 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.

ArgumentTypeDescription
waitbooleanBlock until the navigation build finishes (the tool runs off the game thread and polls). Default false.
maxFramesintegerMaximum 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).

ArgumentTypeDescription
keysarray of stringField 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.

ArgumentTypeDescription
actorstringrequired. Actor carrying the spline component.
componentstringComponent 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.

ArgumentTypeDescription
actorstringrequired. Actor carrying the spline component.
componentstringComponent 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.

ArgumentTypeDescription
fromstringrequired. Source target.
tostringrequired. 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.

ArgumentTypeDescription
folderstringrequired. Destination content folder, e.g. "/Game/Maps".
namestringrequired. Asset name of the new level.
templatestringOptional template level to copy (package path or unique name); empty = empty level.
openbooleanOpen the new level in the editor after creating it. Default false.
savebooleanSave 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.

ArgumentTypeDescription
namestringrequired. Data layer asset name.
folderstringContent folder for the data layer asset, e.g. "/Game/DataLayers". Default TEXT("/Game/DataLayers").
runtimebooleanRuntime 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.

ArgumentTypeDescription
namestringrequired.

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.

ArgumentTypeDescription
actorsarray of stringrequired. Actors to move into the new level instance.
folderstringrequired. Destination folder for the new level asset.
namestringrequired. Asset name of the new level.
packedbooleanCreate 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.

ArgumentTypeDescription
folderstringrequired. Destination folder for the new level asset.
namestringrequired. Asset name of the new level.
streamingClassstring"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).

ArgumentTypeDescription
kindsarray of stringKinds 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).

ArgumentTypeDescription
namestringrequired.

Returns: layers, count.

level.delete_map (risk 3, mutates, destructive, smoke)​

Deletes a level asset. The level must not be the one currently open.

ArgumentTypeDescription
mapstringrequired. 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.

ArgumentTypeDescription
kindstringDelete every volume of this kind; ignored when actors is given.
actorsarray of stringSpecific 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.

ArgumentTypeDescription
mapstringrequired. Source level asset.
folderstringrequired. Destination folder.
namestringrequired. 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).

ArgumentTypeDescription
actorstringrequired. Actor carrying the spline component.
componentstringComponent 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.

ArgumentTypeDescription
classstringrequired. Class name, class path or Blueprint asset.
includeSublevelsbooleanInclude actors living in loaded sublevels (default true). Default true.
limitintegerDefault 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.

ArgumentTypeDescription
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.

ArgumentTypeDescription
actorstringrequired. 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.

ArgumentTypeDescription
actorstringrequired. 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.

ArgumentTypeDescription
actorstringActor 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.

ArgumentTypeDescription
layerstringrequired.

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.

ArgumentTypeDescription
actorstringrequired. 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.

ArgumentTypeDescription
mapstringLevel 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.

ArgumentTypeDescription
onlyOverriddenbooleanOnly 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.

ArgumentTypeDescription
origin{x,y,z}required.
radiusnumberrequired. Search radius in cm.

Returns: found, point, distance, message.

level.get_sky_atmosphere (risk 0, requires world, smoke)​

Settings of the SkyAtmosphere actor.

ArgumentTypeDescription
actorstringActor 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.

ArgumentTypeDescription
actorstringActor 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.

ArgumentTypeDescription
actorstringrequired. Actor carrying the spline component.
componentstringComponent 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.

ArgumentTypeDescription
actorstringrequired. Actor carrying the spline component.
componentstringComponent 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.

ArgumentTypeDescription
actorstringrequired. Actor carrying the spline component.
componentstringComponent 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.

ArgumentTypeDescription
sublevelstringrequired. 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.

ArgumentTypeDescription
actorstringrequired. 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.

ArgumentTypeDescription
actorstringActor 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).

ArgumentTypeDescription
jsonstringrequired. 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.

ArgumentTypeDescription
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).

ArgumentTypeDescription
sublevelstringSublevel name or package; empty = the persistent level.
classFilterstringOnly actors of this class (or a subclass).
limitintegerDefault 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).

ArgumentTypeDescription
limitintegerDefault 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.

ArgumentTypeDescription
classFilterstringLight class to keep, e.g. "PointLight"; empty = every light.
mobilitystring"static", "stationary" or "movable"; empty = any.
limitintegerDefault 200.

Returns: lights, count, total.

level.list_maps (risk 0, smoke)​

Level (UWorld) assets in a content folder, filtered by name substring.

ArgumentTypeDescription
folderstringContent folder to search, e.g. "/Game/Maps". Empty = "/Game".
recursivebooleanDefault true.
nameContainsstringCase-insensitive substring the map name must contain.
limitintegerDefault 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.

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.

ArgumentTypeDescription
targetstringrequired. 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.

ArgumentTypeDescription
actorstringrequired. Actor carrying the spline component.
componentstringComponent 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.

ArgumentTypeDescription
kindstringKind to keep; empty = every volume.
limitintegerDefault 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.

ArgumentTypeDescription
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.

ArgumentTypeDescription
actorsarray of stringrequired.
sublevelstringrequired. 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.

ArgumentTypeDescription
mapstringrequired. Level asset to open (package path or unique name).
saveCurrentbooleanSave 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.

ArgumentTypeDescription
actorClassstringActor class to spawn; ignored when staticMesh is given.
staticMeshstringStatic mesh to place (spawns AStaticMeshActor).
countintegerHow many copies to place; ignored when spacing is greater than 0. Default 5.
spacingnumberDistance in cm between copies; 0 uses count. Default 0.0.
alignToTangentbooleanRotate 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.

ArgumentTypeDescription
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.

ArgumentTypeDescription
actorstringActor 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.

ArgumentTypeDescription
actorsarray of stringrequired.
dataLayerstringrequired. 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.

ArgumentTypeDescription
actorsarray of stringrequired.
layerstringrequired.

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.

ArgumentTypeDescription
materialstringrequired.

Returns: target, materials, count, message.

level.remove_spline_point (risk 3, mutates, destructive, requires world, smoke)​

Removes one point from a spline.

ArgumentTypeDescription
indexintegerrequired.

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.

ArgumentTypeDescription
sublevelstringrequired. 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.

ArgumentTypeDescription
namestringrequired.
newNamestringrequired.

Returns: layers, count.

level.rename_map (risk 3, mutates, smoke)​

Renames a level asset in place (leaves a redirector).

ArgumentTypeDescription
mapstringrequired. Level asset to rename.
newNamestringrequired. 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).

ArgumentTypeDescription
targetstringrequired. 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.

ArgumentTypeDescription
actorsarray of stringrequired. Actors the volume must enclose.
paddingnumberExtra 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.

ArgumentTypeDescription
actorstringrequired. Actor carrying the spline component.
componentstringComponent 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.

ArgumentTypeDescription
distancenumberDistance along the spline in cm; ignored when alpha is given. Default 0.0.
alphastringPosition along the spline as 0..1; empty uses distance.
spacestring"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.

ArgumentTypeDescription
countintegerrequired. How many samples to return (>= 2).
spacestring"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.

ArgumentTypeDescription
saveAsstringOptional package path for "save as", e.g. "/Game/Maps/Copy".
saveSublevelsbooleanAlso 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.

ArgumentTypeDescription
actorstringrequired.
spatiallyLoadedbooleanrequired. Spatially loaded actors stream with the grid; non-spatial ones are always loaded.
runtimeGridstringRuntime 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.

ArgumentTypeDescription
intensitystring
radiusstring
staticFractionstring
fadeDistancestring
powerstring

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.

ArgumentTypeDescription
prioritystring
enabledstring
reverbEffectstringReverb effect asset.
reverbVolumestringReverb volume 0..1.
propertiesarray 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.

ArgumentTypeDescription
profilestringrequired. 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.

ArgumentTypeDescription
methodstring"standard" (gaussian) or "convolution".
intensitystring
thresholdstring
sizeScalestring
convolutionScatterDispersionstring5.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.

ArgumentTypeDescription
intensitystring
startOffsetstring

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.

ArgumentTypeDescription
saturationstringFVector4 fields accept "(X=1,Y=1,Z=1,W=1)" or "1,1,1,1".
contraststring
gammastring
gainstring
offsetstring
temperaturestring
tintstring
sceneColorTintstringScene 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.

ArgumentTypeDescription
entriesarray of UeaCullDistanceEntryrequired.

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).

ArgumentTypeDescription
sublevelstringSublevel 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.

ArgumentTypeDescription
dataLayerstringrequired. Data layer short name or asset path.
statestring"loaded", "activated" or "unloaded" (the initial runtime state).
visiblestringEditor visibility.
loadedInEditorstringWhether 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.

ArgumentTypeDescription
focalDistancestring
fstopstring
sensorWidthstring
focalRegionstring
nearBlurstring
farBlurstring
methodstring4.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.

ArgumentTypeDescription
actorstringDirectional light; empty = the first one in the level.
cascadesstring
dynamicShadowDistancestring
distanceFieldShadowsstring
cascadeDistributionstring

Returns: entries, count, message.

level.set_exposure (risk 2, mutates, requires world, smoke)​

Auto-exposure method, bias, brightness range and adaptation speed.

ArgumentTypeDescription
methodstring"manual", "histogram" or "basic".
biasstring
minBrightnessstring
maxBrightnessstring
speedUpstring
speedDownstring
applyPhysicalCamerastring

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.

ArgumentTypeDescription
intensitystring
intensityShadowsstring
intensityMidtonesstring
intensityHighlightsstring

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.

ArgumentTypeDescription
actorstring
densitystring
heightFalloffstring
fogColorUeaColor
useFogColorbooleanDefault false.
startDistancestring
volumetricstring
extinctionScalestring
secondFogDensitystring
secondFogHeightFalloffstring
secondFogHeightOffsetstring
volumetricScatteringDistributionstring
volumetricAlbedoUeaColor
useVolumetricAlbedobooleanDefault false.
propertiesarray 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).

ArgumentTypeDescription
enabledbooleanrequired.

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.

ArgumentTypeDescription
gameModestringGame 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.

ArgumentTypeDescription
methodstring"none", "lumen", "ssgi" or "plugin".
lumenSceneLightingQualitystring
lumenFinalGatherQualitystring

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).

ArgumentTypeDescription
killZnumberrequired. 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.

ArgumentTypeDescription
namestringrequired.
visiblebooleanrequired.

Returns: layers, count.

level.set_lens_flares (risk 2, mutates, requires world, smoke)​

Lens flare intensity, tint, bokeh size and threshold.

ArgumentTypeDescription
intensitystring
tintstring"(R=1,G=1,B=1,A=1)".
bokehSizestring
thresholdstring

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).

ArgumentTypeDescription
actorstringrequired. Light actor label, name or unique class.
intensitystring
colorUeaColorColour; leave at the default and set useColor false to keep the current colour.
useColorbooleanApply color (false = keep the current colour). Default false.
temperaturestring
useTemperaturestring
castShadowsstring
mobilitystring"static", "stationary" or "movable".
attenuationRadiusstring
innerConestring
outerConestring
sourceRadiusstring
indirectIntensitystring
volumetricScatteringstring
specularScalestring
iesTexturestringIES profile texture asset.
propertiesarray 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.

ArgumentTypeDescription
actorstringrequired.
channel0booleanDefault true.
channel1booleanDefault false.
channel2booleanDefault false.

Returns: light, properties, applied, failed, message.

level.set_light_function (risk 2, mutates, requires world, smoke)​

Sets a light's light-function material.

ArgumentTypeDescription
actorstringrequired.
materialstringrequired. 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.

ArgumentTypeDescription
actorstringrequired.
iesTexturestringrequired. IES profile texture asset (UTextureLightProfile); empty clears it.
useIesBrightnessbooleanDefault 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.

ArgumentTypeDescription
actorstringrequired.
indirectIntensitystring
volumetricScatteringstring

Returns: entries, count, message.

level.set_light_mobility (risk 2, mutates, requires world, smoke)​

Sets a light's mobility (static, stationary or movable).

ArgumentTypeDescription
actorstringrequired.
mobilitystringrequired. "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).

ArgumentTypeDescription
sublevelstringrequired. Sublevel name; empty = the persistent level.
enabledbooleanrequired.

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.

ArgumentTypeDescription
actorstringrequired.
resolutionintegerrequired. Lightmap resolution in texels (power of two, e.g. 64).
componentstringComponent 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.

ArgumentTypeDescription
actorsarray of stringActors to change; empty uses classFilter.
classFilterstringApply to every actor of this class when actors is empty; empty = every mesh actor.
resolutionintegerrequired.

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.

ArgumentTypeDescription
numIndirectLightingBouncesstring
numSkyLightingBouncesstring
indirectLightingQualitystring
indirectLightingSmoothnessstring
staticLightingLevelScalestring
environmentColorstring"(R=1,G=1,B=1,A=1)".
environmentIntensitystring
useAmbientOcclusionstring
compressLightmapsstring
propertiesarray of UeaKeyValueAny 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).

ArgumentTypeDescription
actorsarray of stringLight actors to change; empty uses classFilter.
classFilterstringApply to every light of this class when actors is empty; empty = every light.
intensitystring
colorUeaColor
useColorbooleanDefault false.
temperaturestring
useTemperaturestring
castShadowsstring
mobilitystring"static", "stationary" or "movable".
attenuationRadiusstring
innerConestring
outerConestring
sourceRadiusstring
indirectIntensitystring
volumetricScatteringstring
specularScalestring
iesTexturestring
propertiesarray 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.

ArgumentTypeDescription
mobilitystringrequired. "static", "stationary" or "movable".
classFilterstringLight 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.

ArgumentTypeDescription
amountstring
maxstring
perObjectSizestring
targetFpsstring

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.

ArgumentTypeDescription
namestringrequired. Agent name from level.get_nav_settings, e.g. "Default".
radiusstring
heightstring
stepHeightstring
maxSlopestringMaximum 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.

ArgumentTypeDescription
areaClassstringrequired. 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.

ArgumentTypeDescription
modestringrequired. "static", "dynamic" or "dynamicModifiersOnly".
actorstringNav 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.

ArgumentTypeDescription
damagePerSecstring
damageTypestringDamage type class.
painCausingstring
entryPainstring

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.

ArgumentTypeDescription
prioritystring
fluidFrictionstring
terminalVelocitystring
waterVolumestring

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).

ArgumentTypeDescription
settingsarray of UeaKeyValuerequired. 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).

ArgumentTypeDescription
unboundstring
prioritystring
blendRadiusstring
blendWeightstring
enabledstring
extent{x,y,z}New half-size in cm; rebuilds the volume's brush.
useExtentbooleanApply 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.

ArgumentTypeDescription
actorstringRecastNavMesh actor; empty = the first one in the level.
cellSizestring
cellHeightstring
agentRadiusstring
agentHeightstring
tileSizeUUstringTile size in Unreal units.
drawDebugstringDraw the navmesh in the editor viewport.
propertiesarray 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.

ArgumentTypeDescription
methodstring"none", "lumen" or "ssr" (5.0+; the SSR fields work on 4.27 too).
ssrQualitystring
ssrIntensitystring

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.

ArgumentTypeDescription
actorstring
rayleighScatteringScalestring
rayleighScatteringUeaColor
useRayleighScatteringbooleanDefault false.
mieScatteringScalestring
mieAnisotropystring
groundAlbedoUeaColor
useGroundAlbedobooleanDefault false.
atmosphereHeightstringAtmosphere height in km.
multiScatteringstring
propertiesarray 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.

ArgumentTypeDescription
actorstringSky light actor; empty = the first one in the level.
intensitystring
colorUeaColor
useColorbooleanDefault false.
realTimeCapturestring
cubemapstringCubemap texture asset (switches the source to "specified cubemap").
lowerHemisphereColorUeaColor
useLowerHemisphereColorbooleanDefault false.
occlusionstringOcclusion (distance field ambient occlusion) intensity.
propertiesarray of UeaKeyValue

Returns: entries, count, message.

level.set_spline_closed (risk 2, mutates, requires world, smoke)​

Opens or closes the loop of a spline.

ArgumentTypeDescription
closedbooleanrequired.

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.

ArgumentTypeDescription
indexintegerrequired.
position{x,y,z}
usePositionbooleanDefault false.
arriveTangent{x,y,z}
useArriveTangentbooleanDefault false.
leaveTangent{x,y,z}
useLeaveTangentbooleanDefault false.
rotation{x,y,z}
useRotationbooleanDefault false.
scale{x,y,z}
useScalebooleanDefault false.
typestringlinear, curve, constant, curveClamped or curveCustomTangent.
spacestring"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).

ArgumentTypeDescription
typestringrequired. linear, curve, constant, curveClamped or curveCustomTangent.
indexintegerPoint 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.

ArgumentTypeDescription
pointsarray of {x,y,z}required. New point positions, replacing every existing point.
spacestring"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.

ArgumentTypeDescription
sublevelstringrequired.
loadedbooleanrequired.

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.

ArgumentTypeDescription
sublevelstringrequired.
lockedbooleanrequired.

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.

ArgumentTypeDescription
sublevelstringrequired.
streamingClassstringrequired. "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.

ArgumentTypeDescription
sublevelstringrequired.
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.

ArgumentTypeDescription
sublevelstringrequired.
visiblebooleanrequired.

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).

ArgumentTypeDescription
hournumberrequired. Hour of day, 0..24 (12 = noon).
latitudenumberLatitude in degrees (positive = northern hemisphere). Default 0.0.
azimuthnumberCompass direction the sun travels through, in degrees. Default 0.0.
actorstringDirectional 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.

ArgumentTypeDescription
pitchnumberrequired. Pitch in degrees (negative points down).
yawnumberrequired. Yaw in degrees.
actorstringDirectional 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.

ArgumentTypeDescription
minstringMinimum global time dilation; empty leaves it unchanged.
maxstringMaximum 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.

ArgumentTypeDescription
profilestringCollision profile name, e.g. "Trigger", "OverlapAllDynamic", "BlockAll".
generateOverlapEventsstring

Returns: volume, properties, applied, failed, message.

level.set_vignette (risk 2, mutates, requires world, smoke)​

Vignette intensity (0..1).

ArgumentTypeDescription
intensitystringrequired.

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).

ArgumentTypeDescription
extent{x,y,z}required. New half-size in cm.
radiusnumberNew 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.

ArgumentTypeDescription
prioritynumberrequired. 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.

ArgumentTypeDescription
actorstring
layerBottomAltitudestringCloud layer bottom altitude in km.
layerHeightstringCloud layer thickness in km.
tracingStartMaxDistancestring
tracingMaxDistancestring
materialstringCloud material asset.
propertiesarray of UeaKeyValue

Returns: entries, count, message.

level.set_white_balance (risk 2, mutates, requires world, smoke)​

White balance temperature, tint and temperature type.

ArgumentTypeDescription
temperaturestring
tintstring
methodstring"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).

ArgumentTypeDescription
gravityZnumberrequired. Gravity on Z in cm/s^2 (engine default is -980).
overridebooleanrequired. 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).

ArgumentTypeDescription
scalenumberrequired. 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.

ArgumentTypeDescription
sunbooleanAdd a directional light acting as the sun. Default true.
skyLightbooleanAdd a sky light (real-time capture on 5.x). Default true.
skyAtmospherebooleanAdd a SkyAtmosphere actor. Default true.
fogbooleanAdd an exponential height fog actor. Default true.
cloudsbooleanAdd a VolumetricCloud actor. Default false.
sunPitchnumberSun 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.

ArgumentTypeDescription
actorsarray of stringrequired. Actors whose locations become the spline points, in order.
namestringDefault TEXT("Spline").
closedbooleanDefault 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.

ArgumentTypeDescription
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.