Alex CoulombePresents
← Fable Showcase

Devlog

Fable Showcase: building it, then testing what actually works

A test of what AI agents can reliably produce in Unreal Engine through headless tools, with limited handholding. It builds on prior Agile Lens work and a shared knowledge base, using Forage, SceneAudit, QA Video and MCP tools to author and inspect a playable museum.

Human playtesting has repeatedly exposed gaps in the automated checks. The latest repairs come first below; the earlier captures remain as a record of what worked and what failed. Click any screenshot to open its full-resolution image.

The work began with Claude Fable 5.1 and continued with Claude Sonnet and Codex agents. More agents helped separate implementation from review, but their completion reports were not reliable acceptance evidence. The failures below explain why.

September 6–7, 2026 · Playtest repairs

The QA pass missed the player's experience

Earlier checks accepted active components, compiled graphs and successful map loads. A person playing found absent embers, broken input, unreadable panels and a terrain room without its promised trail or weather. Those checks were insufficient, and the earlier completion claims were too broad. An earlier downloadable archive also omitted required engine libraries, so its executable did not open.

The ember repair uses a working Niagara system with the active lifetime, size and velocity settings, checked during sustained play. Terrain and weather assets now have explicit saves and reload checks: their actors existed before, but their generated assets had never been persisted. The environment now has rain streaks, a broad switchback trail and a pond with a curved bank. A real CharacterMovement test walked the trail down and back in Play-in-Editor; its first attempt caught an exhibit board blocking the path. That traversal preceded packaging.

Room descriptions gained centered uppercase headings and seller credits. The gallery return camera looks down the aisle, and the cinematic camera shots were reviewed for panel obstruction and floor overlap. The courier now turns toward the player, while Sound & Signal uses the same modulation for drone pitch and light intensity.

The menu work covers first-time gallery entry, clickable room previews, pause, restart, quit and a devlog link; the mouse wheel brings the camera closer for reading. The exact extracted Windows ZIP passed two fresh launches, all eight room-preview clicks with forward movement and mouse look, the E-triggered camera sequence through its natural finish, and one physical portal entry and return. The actual Restart button worked, Quit closed the game twice, and the startup devlog link launched its URL. These are scoped interaction checks; a still image alone cannot establish them.

The mannequin faces along the central gallery aisle between glowing portals, with paintings on both walls.
fixThe gallery return now frames the aisle. This running editor capture checks the view the player actually receives after coming back through a portal.View full resolution ↗
A tall orange particle plume rises above the plinth labeled Authored: Embers, with its system graph on the wall and blue and red particle exhibits alongside.
fixOrange embers during sustained playback in the native Windows package, with a readable exhibit label and the system graph alongside. The neighboring blue and red particle systems are also visible.View full resolution ↗
Rain streaks cross a sandy landscape where a dark textured path meets a blue pond enclosed by a curved bank.
fixVisible rain, a textured trail and a curved shoreline replace the missing weather and rectangular water surface. The wet ground still catches a strong highlight on the left.View full resolution ↗
A centered Sound & Signal wall panel gives listening instructions and names the sellers of the music, footsteps and architecture assets.
fixA room guide with a clear uppercase heading, centered copy and seller credits. The listening instructions explain what to compare between exhibits.View full resolution ↗

Earlier development · September 6, 2026

Making the museum work from the player's side

Cinematics became a cyan-and-magenta alley with a native three-camera sequence. Lighting became a cabin study with animated sun, lantern and color grade. Gameplay connects a signal ability, a navigating StateTree courier and a live HUD. Characters compares skeletal animation, a keyed FK Control Rig and two Mutable-generated looks.

The return-trip test caught a camera bug that a correct character transform had hidden: the controller rotation also needed restoring. The landscape test found the player and portal below the actual terrain after short traces hit a lower water surface. Mutable compiled cleanly while producing no meshes until both runtime instances received their source skeletal mesh. These failures changed the implementation and the acceptance tests.

A third-person mannequin stands on a sunlit sandy mesa beside an exhibit panel showing the terrain material graph.
fixThe packaged Environment wing after moving the player start and return portal onto the real landscape surface. The panel carries a capture of the material graph used by the terrain.View full resolution ↗
A cyan-and-magenta alley lined with red lanterns on visible wall brackets and overhead supports.
fixThe Cinematics alley after its support pass. Its optional 15-second sequence uses three cameras, changes focus, and restores the player camera and controls after completion or cancellation.View full resolution ↗
A mannequin faces a stone courtyard while a courier walks at right and a dark HUD reads Courier StateTree: RUNNING.
winThe packaged Gameplay wing reports the live courier StateTree as RUNNING. The dark HUD backing was added after the original white text disappeared against the sky.View full resolution ↗
Two different clothed characters stand on labeled plinths, each reporting Mutable generated and Idle looping.
fixTwo packaged Mutable instances generated distinct transient skeletal meshes and started the same looping idle animation. Their visible labels match the runtime object queries.View full resolution ↗
A warm orange exhibit hall contains bright colored Niagara effects and an in-world system graph panel.
winA native screenshot from the packaged Niagara wing. Timed captures changed across more than 1.6 million pixels, while runtime queries found the three featured systems active.View full resolution ↗
A white exhibit panel headed Ground Material shows connected Unreal material nodes, with trees and blue sky at its sides.
winA player-height view of the Environment panel. Each wing now mounts a real capture of the graph or timeline behind its exhibit.View full resolution ↗
Two mounted images of the same cabin and material spheres are labeled MRQ: Deferred and MRQ: Path Tracer.
winThe Lighting wing displays its actual Movie Render Queue outputs side by side. A separate Movie Render Graph configuration also produced a successful still.View full resolution ↗

Earlier automated checks

Passing a scripted route was too narrow a test

An earlier Windows Development package launched at Epic quality settings and travelled from the hub into every wing and back through the actual portal triggers. The run logged 29 world starts across all nine maps. Runtime checks found the featured Niagara systems active, both Mutable looks generated, the courier StateTree running, and an exact-process audio signal with a 0.074 peak. The final log contained no fatal errors, assertions, ensures, Blueprint errors, StateTree errors, Mutable errors, Accessed None messages or GPU crashes.

The remaining warnings cover optional Composure materials, known renderer limitations, a broad GameplayCue search path and teardown messages when the Gameplay map unloads. No headset test was part of this pass. These observations did not establish that the embers stayed visible, that ordinary menu and input flows worked, or that the archive someone downloaded could launch. The playtest repairs above correct that gap in scope.

The original overnight run

What Claude Fable 5.1 built with a night and an empty project

I handed it a fresh UE 5.8 Third Person template, roughly 780 Unreal MCP editor commands, and Forage pointed at my own Fab library. Five of nine planned levels were in place by morning. The chapters below preserve that first-run record.

01

Sourcing the gallery

Before any building started, two establishing shots from the Museum Environment Kit confirmed the purchased asset pack actually read as a museum — the model's starting material, not anything it built itself.

A grand marble museum gallery with barrel-vaulted glass ceiling, framed portraits on the walls, a marble bust in the foreground, and a glazed pyramid structure sitting on the floor.
winThe Museum Environment Kit's demo hall, pulled in through Forage and dropped straight into the project: coffered glass ceiling, Corinthian columns, hung portraits, velvet-roped benches, and a marble bust close to camera. This is the raw asset pack before any of it was built into the hub.View full resolution ↗
The same museum hall seen from behind a foreground column, with a round portrait of a woman in earrings hanging center-frame and smaller paintings lining the side wall.
winA second angle from the same kit, columns framing a round portrait down the hall. Two quick establishing shots like this were how the session confirmed the pack looked like a museum before committing to build the hub inside it.View full resolution ↗

02

Building the hub

The concept: a museum gallery where each doorway is a portal to a showcase level for one category of the tool surface. Getting there took a working single-portal prototype, a row of them down both walls, and two rounds of fixing that same row after it broke in two different ways.

A distorted, tilted view along a curved metal-and-glass railing, looking down through gridded panes at a herringbone floor and a wall of small hung paintings far below.
missLogged as a 'top-down of the hub's floor plan' — it isn't. This is a steep, glancing shot squeezed between a glass balustrade and a skylight frame, and it never gave a usable overview of the hub layout.View full resolution ↗
A free-standing bronze, arched doorway frame filled edge-to-edge with a glowing white marble-veined panel, standing on the gallery's parquet floor between two portraits.
winThe first working portal prototype: a swept bronze arch with an animated, glowing marble face standing upright inside it. This is the single-portal shape the hub's eight showcase doorways were later built from.View full resolution ↗
A long museum hall viewed down its center aisle, with two glowing bronze portal arches standing along each side wall among the hung paintings, benches and chairs in the middle of the floor.
winAn early pass at multiplying the single arch into a row of portals down both sides of the gallery. The arches are placed and glowing, but nothing readable yet marks which showcase each one leads to.View full resolution ↗
The same portal-lined hall, but each archway now casts a flat colored oval of light lying on the floor and ceiling instead of a glowing upright doorway face, and the floating text labels above the arches read backwards and upside down.
missTwo failures in one frame: the portal's glowing face collapsed into flat colored ellipses lying on the floor and ceiling, and the category labels above the arches came out mirrored and upside down — only one of five readable normally.View full resolution ↗
The finished hub hallway with upright glowing portal arches down both walls, one showing a readable floating text label reading 'Surface & Light' near it.
fixA later iteration of the same hall: portal faces upright and glowing again, not floor pools, and at least one arch showing a correctly oriented label — 'Surface & Light' — matching one of the showcase categories.View full resolution ↗
A gray reference mannequin stands on a bare, untextured concrete plaza under an open sky, in front of a bronze archway with a glowing white panel, inside a running Play-in-Editor window.
winA Play-in-Editor test after walking the character through a portal: the teleport works, the arch is visible from the far side — but the destination is an empty gray box level with no walls or texture yet. The mechanic is proven; the level behind it isn't built.View full resolution ↗

03

Terrain & Weather

The environment level was the first one handed to a subagent working alone, and it's also the roughest of the five — dark, pit-shaped at first, and hit by a rendering bug serious enough to turn the whole level black.

A close, low-angle view of rolling terrain under a blue sky, with the entire ground surface rendered as a fine gray-and-white checkerboard pattern instead of a landscape texture.
missThe terrain shape — a domed rise with a lower shelf — reads correctly, but the auto-blend landscape material renders as an even checkerboard dither with no visible dirt, grass, or rock texture. Logged as unresolved after ruling out missing textures, compile errors, and Nanite.View full resolution ↗
An almost entirely solid black frame with two tiny faint white flecks near the center and nothing else visible.
missA capture taken while diagnosing the level: solid black, no terrain, sky, or geometry visible at all. The whole level — including the live editor viewport — went black after a post-process exposure edit and stayed that way until the level was reopened.View full resolution ↗
A sandy plateau seen against a hazy golden-yellow sky, silhouetted trees along both edges, scattered rocks, and a pale strip of water on the horizon.
fixAfter reshaping the level from a pit into a sand mesa in shallow water: sandy ground, tree silhouettes, and distant water are all present, but the whole scene is heavily overexposed into a flat gold haze — a rough, functional pass, not a finished lighting look.View full resolution ↗

04

Particles & Motion

Niagara turned out to have its own blind spot: none of the static screenshot commands tick the running world, so a plinth full of particles looks completely inert until you catch it live in Play-in-Editor.

A dark hall viewed down its length, five plinths in a row each lit by a colored spotlight-like pool on the floor and ceiling, with readable text labels including 'Authored: Embers,' 'Authored: Cold Motes' and 'Library: Effect A/B/C.'
winThe Niagara showcase hall with its five plinths, photographed outside Play-in-Editor so no particles are emitting yet. All five text labels read correctly here, right-side up and legible — a fix over the mirrored-text problem seen elsewhere in this build.View full resolution ↗
A camera looking almost straight down at a hall floor covered by a single word in huge backwards, upside-down white letters, with colored oval light pools above and below it.
missA label test gone wrong: text meant to read 'Authored: Embers' next to its plinth instead came out mirrored and inverted, blown up to cover most of the floor in giant letters. The 'giant mirrored text' failure mode made it into this build's own lessons-learned notes.View full resolution ↗
A gray-and-white checkerboard-textured cube glows on a plinth in the foreground while, further down the hall, a second plinth shows visible sparkling white and pink-purple particles bursting upward; overhead text reads backwards.
winA Play-in-Editor capture — the only way this build found to make Niagara particles actually visible. Real particles are genuinely emitting around the second plinth, but the foreground cube still sits on the default gray checkerboard material and the overhead label is still mirrored. Both were fixed later; this frame predates the fixes.View full resolution ↗
A cube on a plinth glows inside a pink circular floor pool, with orange spark particles drifting off its top edge and, behind it, a second plinth showing green and blue-white particle bursts.
winAnother Play-in-Editor capture, this time showing warm orange embers lifting off the near plinth's glowing top edge and a second effect emitting green and white sparks behind it — particles from both an authored system and a library effect genuinely simulating, not sitting inert as editor-preview icons.View full resolution ↗
A dark silhouette of a humanoid figure stands facing a bright, glowing archway at the end of a dim wood-paneled corridor, inside a running Play-in-Editor window.
winA quieter, moodier capture from later in the pass: the player character stands backlit in the hall's return-portal archway, the rest of the space fallen into shadow. No visible bugs here — a calmer note to end the chapter on.View full resolution ↗

05

Surface & Light

Eight node-authored materials laid out on a table for comparison, in a room that never got a front wall — and an exposure problem a late fix didn't fully undo.

A washed-out white interior with a patterned cream carpet at the bottom of frame, blown-out white ceiling and wall panels in the middle, and open blue sky visible where a wall or window would normally be.
missThe materials showcase room, badly overexposed to the point that the ceiling and back wall read as flat white with almost no detail, while open sky is visible past the table where a front wall was never built. This room reads consistently overexposed across nearly every capture taken in it.View full resolution ↗
A row of spheres and cubes on a white table against a blue sky background, with a translucent teal glass cube labeled 'Hologram' on the left and a plain gray sphere in the middle.
winA closer look at three of the eight hand-authored materials: a translucent cyan 'Hologram' cube, a plain matte gray sphere, and a pale lavender pair at the right edge. The blue sky filling the background shows the room's missing front wall again from this angle.View full resolution ↗
A full row of eight sphere-and-cube material pairs lined up on a white table under a black-and-gray coffered ceiling, with 'Velvet' and 'FrostedGlass' text labels visible and open sky beyond the table's far edge.
missThe complete row of eight node-authored materials — car paint, brushed metal, frosted glass, velvet, and others — laid out for comparison, with two labels legible. The whole table still reads pale and washed out; a post-process exposure fix added late in the session didn't visibly change these particular captures.View full resolution ↗

06

Sound & Signal

The audio hall was supposed to read as a dark temple nave. It shipped instead as a sunlit corridor open at both ends — until the last capture of the night, when the open end finally got closed off.

A bright, sunlit stone corridor with a blue-tinted ceiling opens onto a pale sandy floor and a blue sky-and-sea horizon, with a small white cube sitting alone in the distance.
missThe audio hall, meant to read as a dark temple nave, instead flooded with bright daylight and open sky visible straight through both open ends of the corridor. The open-ended nave was logged as the single biggest gap against the 'dark temple' brief — dimming the sun and skylight alone couldn't compensate for walls that were never closed off.View full resolution ↗
A glowing white portal archway stands next to a small stone plinth on a pale sandy floor, with backwards, mirrored white text visible on the blue ceiling above.
missThe return portal beside the drone-music plinth, still lit by open daylight rather than the intended warm torchlight, with more of this build's mirrored ceiling text visible above.View full resolution ↗
A dim, deep-blue-tinted stone corridor now ends in a solid stone wall between two square columns, with a small pale cube-shaped plinth glowing faintly alone on the floor in the center.
fixThe audio hall's last capture of the night: the gap that was letting daylight flood in is now closed off with a solid stone wall, and the space reads in a dim, cool blue instead of the bright sunlit look of the earlier shots. The open-ended-nave and daylight-leak problems are visibly addressed here, even though little else reads clearly in the dark.View full resolution ↗

07

The flythrough

A 12-second Movie Render Queue flythrough of the finished hub, closing out the night. The first render flew through the pyramid centerpiece; the second flew through the portals themselves. This is the third — Video QA'd before it shipped.

A moodily lit museum hall with pink and pale-green glowing portal arches on either side, a metal pyramid centerpiece on the floor, and a framed portrait of a woman on the back wall.
winA Movie Render Queue preview still from partway through the final hub flythrough sequence: warm gallery lighting, colored portal arches down both sides, and the pyramid centerpiece and portrait recur from the very first establishing shots. This is the render pipeline's own preview frame, used to check framing and lighting before committing to the full render.View full resolution ↗
A low, floor-level view down the gallery hall between two glowing pink and white portal arches, with faint colored streaks of motion blur near the center of the frame and a portrait visible on the back wall.
fixA single rendered frame from the third and final flythrough render, shot low near the floor between two portal arches. Faint pink and green ghosting streaks near the center are consistent with the camera-jerk and motion-blur issues the project's own video QA pass flagged around the same window — though a single still can't confirm that's the same defect versus ordinary motion blur.View full resolution ↗

What I learned

The gotchas any new hire would hit — just faster, and overnight

  • ✦Claude Code's own Unreal MCP connection failed to come up at boot and never reconnected for the rest of the run — everything after that went through a separate MCP Python client instead, one call at a time.
  • ✦None of the static screenshot commands tick the running world. Niagara particles, and anything else that's animating, only show up in a capture taken during Play-in-Editor.
  • ✦A freshly created mesh renders on the default gray checkerboard material until something is actually assigned to it — an easy 'is this even broken' moment the first few times it happens.
  • ✦Landscape materials that blend based on painted layer weights render solid black with nothing painted yet. Start with a plain material, paint the blend later.
  • ✦A swept polygon mesh builds flat in one plane — the wrong roll value buries it face-down in the floor instead of standing it up. The fix was a single sign flip, once we knew to look for it.
  • ✦Text3D handedness isn't consistent: a standalone actor and one parented under a Blueprint root can need opposite yaw values to read correctly. Mirrored, upside-down text showed up more than once before that clicked.
  • ✦A manual post-process exposure edit can leave an entire level rendering solid black in every capture path — including the live editor viewport — until you close and reopen it. Auto-exposure bias only, from now on.
  • ✦Subagents sharing one running editor have to work strictly one at a time, each pinned to its own level. Two open levels in the same editor at once is how you get spawns landing in the wrong place.
  • ✦A failed 'create new level' call doesn't fail loudly — it silently leaves you inside whatever level was already open, and everything spawned next lands there too, unless you check first.
  • ✦Forage can log into Epic without a person at the keyboard if the browser is already signed in: grab the redirect auth code and use it within about a minute, before it expires.

Earlier repair lessons

What broke — and got fixed — the second time around

  • ✦A UE editor's connection port can be LISTENING but refuse every connection — that means a modal dialog has parked the game thread, not that the server crashed. Windows title enumeration can confirm it without a screenshot, and closing the dialog is far cheaper than a cold relaunch.
  • ✦Text3D's default material extension generates its own material instances for anything but Custom style, silently overriding any material you assign afterward — you have to set the extension's own color properties directly, and the fix has to be reapplied after any save/reopen rebuilds the glyph meshes fresh.
  • ✦editor.save_level does not persist changes to a Blueprint or material asset referenced by the level — only save_dirty_assets does. Skipping it once cost a full pass of portal-label work to a mid-session crash.
  • ✦A PostProcessVolume auto-exposure override tuned only against a non-gameplay screenshot command can look perfect at content-authoring time and break real Play-in-Editor exposure completely — the capture path silently ignores PPV overrides that gameplay rendering applies in full.
  • ✦Two agents can end up editing the same live level at once with no locking to stop them — this happened more than once. Recovery worked because each agent independently re-verified from a fresh disk reload before trusting its own or a sibling's prior claim, rather than assuming the last save was correct.
  • ✦A background agent that reports 'completed' isn't necessarily done — it can wake up again later (sometimes to retry the exact edit that caused a prior crash) with no warning. Checking live agent state directly beats trusting the notification history.
  • ✦Compiling a Blueprint alone doesn't prove a generative system works at runtime — a Mutable character-customization graph compiled cleanly for hours while every actual runtime generation attempt returned a null result, until the real cause (unassigned source parameters) was found and fixed.

What was still missing after the first night

Four wings were empty rooms with a return portal

Cinematics, gameplay, lighting and characters were placeholders at the end of the first night. Later work filled those rooms and added the UMG entry and pause menus. No headset test has been performed. Read the latest repair record for the subsequent playtest findings.