# 5. Worked Example: A Landmark Blockout
Part of [[ProBuilder Gray-Boxing and Landmarks]]. Prev: [[4. Beat-Chart to Gray-Box]]. Next: [[6. ProBuilder Pitfalls]].
You will build a small approach to a plaza: the tower is visible from the start, a side finger pays off with a "trashcan," and a lit doorway is the goal at the tower's feet. Metrics come from your existing `MovementMetrics` asset. Either stamp a beat chart and dress it, or place the pieces by hand with New Shape - the playtest is the same.
## 5.1 Beat chart
Create a `BeatChart` named `Plaza Approach` and assign your metrics. Rows:
| Beat | Kind | length | width | showWeenieFromHere | notes |
|---|---|---|---|---|---|
| Gate Road | Approach | 16 | 6 | true | Setting: evening street. Mechanic: walk / look. Reward: the tower enters view. |
| Alcove | RewardFinger | 8 | 4 | false | A side nook. Reward: a green prop (the trashcan). |
| Plaza | Landmark | 20 | 20 | true | The weenie. Goal door at its feet (cyan). Calm ring around the edge. |
The builder in part 4 stamps a *spine* (rooms in a line). After you run **Tools > Blockout > Build Beat Chart From Selection**, you will *move* the Alcove off to the +X side of Gate Road and open a gap in the wall, and you will widen the plaza by hand if the 20 x 20 floor is not enough. The builder is a start, not a finished street.
If you prefer not to fight the spine, skip the menu and place the same pieces with New Shape, using the table only as a plan.
## 5.2 Pieces to end up with
1. **Gate Road** - 16 m corridor, mid-gray floor, dark walls. At z = 0, a `Viewpoint` empty at eye height (`MovementMetrics.height * 0.9`).
2. **Weenie** - `GenerateCone` or New Shape cone, about 12-16 m tall, gold vertex color, in the plaza. A **Spotlight** aimed at it, warm color (for example 40 intensity is often too much - start low and raise until it reads in Game view). URP Lit material on the cone if vertex color does not take light.
3. **Goal door** - `GenerateDoor` or a cyan-framed hole at the tower's feet, slightly brighter (a Point Light just inside a darker interior box). The interior can be a 6 x 4 x 6 room: foreshadow the space, do not finish it.
4. **Alcove finger** - a 8 m stub off Gate Road, green floor, a green cube or cylinder at the end. Optional: later replace the cube with [[2.Worked Effect - Trash Can Fire]].
5. **LandmarkSightline** on a bootstrap object, viewpoint = the gate eye, landmark = the cone, blockers = Default / Wall layers (not triggers).
6. **A backstage strip** behind a wall (magenta, unlit) with a note collider. The camera should never see it; it exists to prove you can hide service space.
Stairs: if you drop the plaza 1.2 m below the road, use `GenerateStair` with a step height `<= metrics.stepHeight`.
## 5.3 Playtest checklist
1. At the gate, in Game view, the gold cone is visible without strafing. The sightline gizmo is yellow.
2. The alcove is optional and ends in a reward. Skipping it does not block the door.
3. The door reads as the goal: cyan plus a light beyond the threshold.
4. The capsule walks every surface that looks walkable. If a lip stops you, it is a metrics or collider bug, not a "feature."
5. A NavMesh bake covers the road, alcove, and plaza, and does not leak into the magenta backstage.
6. Walking Gate Road does not feel long. If it does, cut 4 m or put a second small reward mid-road. Rogers: if it feels long, it is.
## 5.4 Optional scripted weenie
If you want one object created from code in the Editor (not Play Mode):
```csharp
#if UNITY_EDITOR
using UnityEditor;
using UnityEditor.ProBuilder;
using UnityEngine;
using UnityEngine.ProBuilder;
public static class PlaceWeenieMenu
{
[MenuItem("Tools/Blockout/Place Gold Weenie at Scene View Pivot")]
static void Place()
{
var scene = SceneView.lastActiveSceneView;
if (scene == null) return;
Vector3 p = scene.pivot;
var cone = ShapeGenerator.GenerateCone(PivotLocation.Center, 1.2f, 14f, 12);
cone.name = "Weenie";
cone.transform.position = p + Vector3.up * 7f;
cone.ToMesh();
cone.Refresh();
EditorMeshUtility.Optimize(cone, true);
Undo.RegisterCreatedObjectUndo(cone.gameObject, "Place Weenie");
Selection.activeGameObject = cone.gameObject;
}
}
#endif
```
Tint it with the Vertex Color tool, or assign `colors` as in part 4. `SceneView.lastActiveSceneView.pivot` is a long-standing Editor API; if it is renamed in your 6000.5 patch, place the cone at `Vector3.zero` and move it.
## 5.5 Exercise
Photograph the Game view from the gate and from the alcove mouth. In a critique, a classmate should be able to point at the destination in the first shot and the reward in the second without you talking.
## Sources
- `ShapeGenerator.GenerateCone` / `GenerateDoor` / `GenerateStair` (6.1.4): https://docs.unity3d.com/Packages/
[email protected]/api/UnityEngine.ProBuilder.ShapeGenerator.html
- [[2.Worked Effect - Trash Can Fire]]
- [[NavMesh in Unity 6 (AI Navigation 2.x)]]