Spawn & arrange a scene
This content is not available in your language yet.
What you’ll build: a lit scene with three named cubes arranged in a triangle, saved to your level. This is your first interactive loop with ClaudeUnreal — drive the editor with plain English and verify each change with a follow-up tool call.
Time: ~20 minutes · Prerequisites: ClaudeUnreal installed, editor running, an empty level open.
Before you start
Section titled “Before you start”Verify the bridge is live:
pingExpected: a JSON success payload that includes the editor version and the name of the current level.
Step 1 — Spawn the first cube
Section titled “Step 1 — Spawn the first cube”Try this prompt:
Spawn a cube at the world origin and name it CenterCube.
What Claude does
spawn_actor takes a fixed enum of actor types (StaticMeshActor, DirectionalLight, PointLight, …) — “Cube” isn’t a type of its own, it’s a static mesh asset. So Claude does two calls:
spawn_actorwithtype=StaticMeshActorandname=CenterCubeto create an empty mesh actor.set_actor_component_propertyonCenterCube’sStaticMeshComponent0to setStaticMesh = /Engine/BasicShapes/Cube.Cube.
The actor appears in the Outliner immediately.
Verify
find_actors_by_name CenterCubeExpected: one entry for CenterCube at location=(0, 0, 0) with class StaticMeshActor.
Step 2 — Spawn two more cubes in a triangle
Section titled “Step 2 — Spawn two more cubes in a triangle”Try this prompt:
Spawn two more cubes — LeftCube at (300, -300, 0) and RightCube at (300, 300, 0).
What Claude does
Repeats the two-call pattern from Step 1 (spawn StaticMeshActor, then assign the cube mesh) for each new cube. Because ClaudeUnreal uses UE’s Z-up left-handed coordinates in centimeters, (300, -300, 0) means 300 cm forward and 300 cm to the left of origin — see Coordinate system.
Verify
find_actors_by_name CubeExpected: three rows — CenterCube, LeftCube, RightCube.
Step 3 — Add a directional light
Section titled “Step 3 — Add a directional light”Try this prompt:
Add a directional light named TutorialSun, rotated to shine from above at pitch -45 and yaw 30.
What Claude does
Calls spawn_actor with type=DirectionalLight, name=TutorialSun, rotation=(-45, 30, 0). A single call — spawn_actor takes rotation inline, so there’s no separate transform step.
Verify
find_actors_by_name TutorialSunExpected: one DirectionalLight with a non-identity rotation around (-45, 30, 0).
Step 4 — Rename the cubes with meaningful labels
Section titled “Step 4 — Rename the cubes with meaningful labels”Try this prompt:
Change the display labels of the three cubes to “Corner A”, “Corner B”, and “Corner C”, in the order CenterCube, LeftCube, RightCube.
What Claude does
Calls set_actor_label three times. The internal FName of each actor stays the same; only the Outliner display label changes. See Actor names vs labels for why this distinction matters.
Verify
find_actors_by_name CornerExpected: three rows with labels starting with “Corner”.
Step 5 — Save the level
Section titled “Step 5 — Save the level”Try this prompt:
Save the current level.
What Claude does
Calls save_level. No parameters needed — it persists whatever level is currently loaded.
What you learned
Section titled “What you learned”spawn_actor— creates actors of a fixed set of built-in types. Supplylocationandrotationdirectly on the call.set_actor_component_property— the escape hatch for shaping a fresh actor. SettingStaticMeshComponent0.StaticMeshis how “spawn a cube” actually works under the hood.- UE5 coordinates — Z-up, left-handed, centimeters. See Coordinates if
(300, -300, 0)felt arbitrary. set_actor_labelvs. internalFName— the distinction documented in Actor names vs labels.find_actors_by_namematches both.- The verify loop — every change Claude makes can be confirmed with a follow-up tool call. Use this pattern throughout every tutorial.
Next: you’re ready for Build a door Blueprint. Or browse the full Scene & Actors reference.