actor
Spawn, move, tag, attach, and edit components on placed actors in the level.
What it’s for
This is the namespace for the actor instances placed in your active editor world. You use it to build and rearrange a scene: drop new actors, move and rotate them, tag them so they can be found or bulk-deleted later, parent one to another, and read back their real transform, bounds, and component list.
It also edits actors at the component level. You can add, remove, or duplicate a component on a single placed actor and set properties on it, without touching the Blueprint the actor came from. There are snapshot and restore helpers for saving an actor's transform and rolling back to it within the editor session, plus physics touches like applying a force or toggling collision.
Keep this distinct from the class-template namespaces. actor.* changes one level
instance; adding a component here lives on that instance and is dropped if the actor is
reconstructed from its Blueprint. To change every future instance, edit the Blueprint class
through blueprint and blueprint.scs instead.
When you only need to read the world without changing it, prefer the read-only twins under
system.inspect (list_objects, find_by_class,
find_by_tag). Reach for actor.* when the next step actually mutates
state.
Examples
Place a mesh in the level
Spawn a static mesh actor at a chosen spot and give it a readable label.
You: Drop a cube 300 units up at the origin and call it CeilingProbe.
call("actor.spawn", {meshPath:"/Game/Meshes/SM_Cube",
actorName:"CeilingProbe", location:{x:0, y:0, z:300}})
→ {ok:true, actorName:"CeilingProbe"}
Done. Spawned SM_Cube as CeilingProbe at (0, 0, 300).
Tag a set of actors, then clean them up
Tag an actor so you can find it later, then bulk-delete everything carrying that tag in one call.
You: Tag CeilingProbe as temp, then delete all temp actors.
call("actor.add_tag", {actorName:"CeilingProbe", tag:"temp"})
→ {ok:true, wasPresent:false}
call("actor.delete_by_tag", {tag:"temp"})
→ {ok:true, count:1, deleted:["CeilingProbe"]}
Done. Removed 1 actor tagged temp.
Add a light component to a placed actor
Attach an instance-level component to one actor without editing its Blueprint class.
You: Put a point light on CeilingProbe.
call("actor.add_component", {actorName:"CeilingProbe",
componentType:"PointLightComponent", componentName:"ProbeLight"})
→ {ok:true, componentName:"ProbeLight"}
Done. Added a PointLightComponent (ProbeLight) to CeilingProbe.