G—P / FMX 430 / Semester / Week 09

Week 09 · Phase 2 — Interactivity

Blueprints II & a taste of C++ Project 2 due · crit

How Blueprints talk to each other — casting, interfaces, event dispatchers — and a first honest look at C++, so "when should this be code?" stops being a mystery. Plus the graded head-to-head: Claude Code and Codex get the same job, and you decide which one you'd hire. Project 2 crits at 5:15.

Session Fri Oct 30 · 10:00 am – 1:50 pm · CCB-134 Bring your laptop with both agents signed in, and your finished Architectural Visualization
By the end of this session you can

2:00 · Brief How Blueprints talk — and when to leave them

Last week's pickup already smuggled the problem in: one Blueprint needed to change a value living in another. Communication between objects is the actual architecture of interactivity, and Unreal gives you three main channels. Pick wrong and your project turns into wire spaghetti nobody — including your agent — can maintain.

The three channels

When a project wants C++

Blueprints compile to something slower than native code and get unwieldy past a certain complexity. The professional pattern isn't Blueprints or C++ — it's C++ for systems and heavy lifting, Blueprints for behavior and tuning, with C++ base classes exposing knobs (UPROPERTY, UFUNCTION) that designers subclass and tweak. You'll touch that seam today, gently. Nobody becomes a C++ programmer in an afternoon; you will, however, stop being afraid of the folder.

Two agents, one job

Today's AI lab is graded. You'll give Claude Code and Codex the identical interaction task and audit them like a hiring manager: approach, correctness, and how well each explains itself. This is the review skill the industry is scrambling to formalize — and it's why we run two agents all semester instead of one.

State of the Art · The economics of agent-native production

If one creative technologist directing agents can do what took a small team, studios gain speed and a brand-new QA problem: catching AI-generated errors before they cascade. Your head-to-head today is practice for a real hiring question — reported offer rates for graduates with verifiable AI-pipeline experience run well above coursework-only peers. Discussion: what does the review process for agent work look like?

Claude Code + UE 5.8 guide

2:45 · Guided lab Interfaces, dispatchers, and a first C++ class

We refactor last week's interactions into grown-up architecture, then cross the C++ border once, together, so the first time isn't alone at midnight.

  1. Make an Interact interface

    Content browser → Blueprint Interface, name it BPI_Interactable, give it one function: Interact. No logic lives here — it's a contract.

  2. Implement it twice

    In BP_Door and BP_Pickup: Class Settings → add BPI_Interactable, then implement the Interact event — the door toggles, the pickup collects. Two different behaviors, one shared verb.

  3. One line of player code to rule them

    On a key press in the player Blueprint, trace or overlap for the nearest actor and call Interact on it (the interface message node). No casts. Add a third interactable actor and note that the player Blueprint doesn't change — that's the point.

  4. Broadcast with a dispatcher

    In BP_Door, add an Event Dispatcher OnOpened and call it when the door opens. In the Level Blueprint, bind to it and react — flicker a light, print a message. Notice the door knows nothing about the light.

  5. Cross into C++

    Tools → New C++ Class → Actor, name it InteractableBase. The editor generates the class and opens your IDE; let it compile (Live Coding handles rebuilds while the editor runs — if it fights you, closing the editor and building from the IDE is the reliable path).

  6. Expose knobs to Blueprints

    In the header add a UPROPERTY(EditAnywhere, BlueprintReadWrite) float InteractionRange and a UFUNCTION(BlueprintCallable) function DescribeSelf that logs the actor's name and range. Compile.

  7. Subclass it in Blueprints

    Create a Blueprint Class with InteractableBase as parent. Set InteractionRange in the Details panel; call DescribeSelf from BeginPlay. You've just used the hybrid workflow every UE studio runs on.

  8. Commit before the head-to-head

    Clean working tree, everything pushed. The next block generates two competing diffs and you'll want them cleanly separated.

4:00 · AI lab Head-to-head: Claude Code vs Codex

Graded exercise. Same spec, two agents, one verdict. Run Claude Code first, commit its work to a branch, reset, then run Codex from the same clean state. Judge the work, not the brand.

Prompt 1 · The shared spec (give to each agent, verbatim, from the same clean commit)
Add a wall-mounted switch actor to this level. When the player interacts with it, every door in the level that implements the Interactable interface opens after a 0.5 second delay, and a counter widget on screen shows how many doors responded. Explain your plan before you build, then build it.

Log everything: the plan each agent states, the nodes/files it touches, how long it takes, where it asks for permission versus barrels ahead. Test each build in PIE before judging — a confident explanation of a broken graph scores zero on correctness.

Prompt 2 · The explanation test (to each agent, after its build)
Walk me through what you built and why you structured it that way. What are the weaknesses of your approach, and what would break if the level had 200 doors?

You're scoring self-knowledge: does the agent understand its own work, admit real weaknesses, and reason about scale — or does it flatter its output? Cross-check at least one claim against the actual graph.

Prompt 3 · The cross-examination
Here is another implementation of the same feature. Review it: what did this developer do better than you, what did they do worse, and which implementation should ship?

Show each agent the other's diff. Watch for substance versus politeness — and whether either one changes its story under pressure. This is where the two usually stop looking interchangeable.

Before you call a winner

5:15 · Crit / share Architectural Visualization crit

Project 2 is due: hero stills and flythroughs on the projector, day and night scenarios, pipeline notes in hand. The crit question for archviz is always the client's question — would you sign off on this building from these images? Be ready to say what Datasmith gave you for free, what you repaired, and what the agent did versus what you did. Head-to-head verdicts get thirty seconds each at the end: name your hire.

Homework — due before Week 10

TaskDeliverable
Write up the head-to-head: approach, correctness, explanation quality for each agent, with evidence from your logs and diffs.One-page verdict ("which I'd hire and why") committed as HEADTOHEAD.md; graded.
Get VR-ready: install the Android platform support UE prompts for (if targeting Quest from your machine), enable Developer Mode on your headset, and confirm the lab headsets fit your project plans.Headset pairs with your machine or a lab machine; note any blockers in AILOG.md.
Read the Project 3 brief on the Projects tab and pick your track: interactive VR piece or VP collaboration.Three-sentence declaration of track and concept, ready to state at Week 10's open.

Resources