View: Multi-Page Single Page

A board says "Not verified"

The solver hit its time or node budget before it could prove the solution count (more common on large, dense boards). The board still plays — it just isn't guaranteed unique. For guaranteed-unique boards: use smaller grids, keep Require Unique on, or raise UniquenessSeconds / UniquenessNodeBudget.

This applies to pair boards only — network boards always verify (One or Multiple, never Unknown).

A network board says "Multiple solutions"

Plain tree networks essentially always verify unique. Allow loops and the dead-end cap can occasionally produce a board with more than one rotation solution — generation prefers unique boards and only falls back to a non-unique one when the attempt budget runs out, stamping the verdict honestly. If you need strictly unique boards, raise MaxAttempts, lower the loop count, or use Re-roll ▸ Multiple-solution in the Network Generator to replace them.

A board reports fountains "NOT satisfied"

Two causes:

  • The pin is statically impossible — out of bounds, demanding more pipes than the cell has neighbours (a corner caps at 2, an edge at 3), or two conflicting pins on one cell. The click-to-pin grid won't let you author these, but code can. Such boards fail in a single attempt, on purpose.
  • The attempt budget ran out — many tightly-packed pins on a small or holey board can be hard to satisfy together. Raise MaxAttempts, spread the pins out, or raise coverage.

Check FountainsSatisfied() in code, or the "N pinned — all satisfied / NOT satisfied" row in the preview facts panel.

Fountains I didn't ask for (or blue discs in the demo)

Clicked pins and the Random fountains slider persist between editor sessions in the Network Generator — boards and packs you save while they're active will carry fountains. A warning shows above the Generate button whenever that's the case; clear the Fountains foldout for plain boards.

Fountain highlight discs in the demo come from the Fountain Markers toggle on NetworkRenderer3D. It's off by default — fountains are constraints baked into the board's shape, so nothing needs to be shown. Turn it on only when you want pinned cells highlighted (e.g. authored landmark levels).

I can't draw onto an empty cell

Two things to check:

  • Strict lines is on. In Strict mode a line may never run beside itself, so an empty cell next to an earlier part of your own line is blocked (the move buzzes / shakes). That same move is allowed with Strict lines off. Also, Strict mode leaves some cells empty on purpose — you don't have to fill them.
  • You can only extend the active pair's head. Moves go from the head of the pair you're currently drawing (where the marker sits). A cell that isn't adjacent to that head won't accept a step — switch pairs or draw from the right end.

How do I switch which pair I'm drawing?

Press Tab / Shift+Tab to cycle, or 19 to jump straight to a pair. With the mouse, clicking one of a pair's endpoints (or its existing line) selects that pair. Completing a pair auto-advances the selection to the next one that still needs work.

Pink / magenta materials in the demo

That's the Built-in shader showing in a URP/HDRP project. The demo scene targets the Built-in pipeline. Run Unity's material converter (Edit ▸ Rendering ▸ Materials ▸ Convert…) on the demo materials. The generator itself produces data, not visuals, so it's pipeline-agnostic.

No sound

The demo's audio (and UI clicks) need an AudioListener in the scene — it's normally on the Main Camera. If you made your own camera, add an Audio Listener component to it.

Compile errors right after importing

The demo uses the Input System and TextMeshPro packages. Make sure both are installed (Package Manager) — TMP also needs its essentials imported (Window ▸ TextMeshPro ▸ Import TMP Essential Resources). The Core generator has no such dependencies; only the demo does.

Assembly namesIf you see an asmdef reference error, confirm the package assembly names match your versions (Unity.InputSystem, Unity.TextMeshPro, UnityEngine.UI).

Mouse doesn't draw

Drawing is hold-and-drag: press the left button and drag over adjacent cells to extend the active pair's line (a single click only steps if you're exactly on an adjacent cell). Clicking an endpoint or an existing line first selects that pair. The controller finds a camera automatically, so a missing MainCamera tag isn't the cause.

Hex keys feel wrong

Hex grids have six neighbors, so they use a corner-cluster — QE / AD / ZC — not WASD (there's no straight-up neighbor on a hex grid). Square grids use WASD / arrows. Dragging with the mouse works on both. If a key buzzes instead of moving, that direction's cell just isn't a legal next step for the active pair.

Pressing F does nothing

F resets the level and auto-plays the stored solution (each pair in turn). It's ignored on an already-solved level. While it's playing, only R (cancel) responds — every other input is locked so it can't fight the playback.

Still stuck? Email livingfailuregames@gmail.com with your Unity version and render pipeline.