View: Multi-Page Single Page

Run the demo

The demo is a ready-to-play scene with all three modes. Open Assets/SimpleConnect/Scenes/, open the demo scene, and press Play. The landing menu appears first — pick Connect (draw the pairs) or Network (rotate the grid); Connect then offers the Color (draw) or Pipes (rotate) style and a Square/Hex grid. Hit Play.

Built-in pipelineThe demo scene targets the Built-in render pipeline. On URP/HDRP, run Unity's material converter on the demo materials.

Controls

Draw mode (Color) — Square: WASD / arrows · Hex: QE AD ZC (corner cluster) · hold & drag the mouse to draw · Tab / Shift+Tab or 19 pick the active pair · Backspace undo · R reset · H hide legend · F auto-solve.

Rotate modes (Pipes / Network) — click a tile to rotate it +90° · R fresh board · H hide legend · F auto-solve.

In draw mode, clicking an endpoint or an existing line selects that pair. During auto-solve, only R responds (cancel) — everything else is locked so it can't fight the playback.

Step one picks the generator: Connect (pair boards) or Network (rotate-the-grid, square-only — it skips straight to the source step). Connect then picks a style — Color (draw) or Pipes (rotate) — and, for Color, a Square or Hex grid.

Random generates a fresh set on a background thread behind a progress bar, then plays it. Puzzle Packs plays a curated pack (assign Square / Hex packs and a Network pack on the DemoMenu in the inspector). The Strict lines toggle switches Random generation between fill-the-board and clean no-self-touch routes. Solving the last level shows the win screen; any key / click / Play Again restarts.

The Network board's generation dials — branchiness, junction bias, loops, dead-end cap, random fountains — are inspector fields on its NetworkController (the "Network Demo" object), applied to Random sets.

Skin it with your art

On the LevelRenderer3D in the scene, drop your own Tile Prefab (square) and Hex Tile Prefab (pointy-top, 1.0 flat-to-flat wide, pivot centered). Fit To Cell auto-scales any prefab to the grid; Tile Euler fixes Z-up Blender imports. Color comes from the pair Id (a 16-color palette): endpoints are bright, the drawn line is dimmer, the active pair is brightened, and walls are empty gaps.

Empty prefab slots fall back to colored primitives, so the scene runs with zero art. Because color is a renderer choice (never in the data), you can swap this renderer for a pipes/wires/numbers look without touching the generator.

The rotate boards (RotateRenderer3D for Pipes, NetworkRenderer3D for Network) have their own prefab slots for the included pipe meshes — straight, corner, T, cross, end caps — and empty slots also fall back to primitives. NetworkRenderer3D additionally has a Fountain Markers toggle (off by default): turn it on to draw a highlight disc behind pinned fountain cells, e.g. for authored levels where the player should see them.

The parts

ComponentRole
DemoGameThe controller. Plays a list of puzzles; Play(list) / Play(provider).
LevelGamePure-C# play brain (events: LevelLoaded, PipesChanged, ActivePairChanged, PairConnected, LevelComplete, GameCompleted).
LevelRenderer3DSpawns tiles, colors each pipe by pair Id; square & hex layout.
PlayerController3DGrid-step + drag input, active-pair selector, undo, auto-solve trigger.
RotateGame / RotateController / RotateRenderer3DThe Pipes mode: pair boards as scrambled rotate-to-fix tiles (brain / set driver / board).
NetworkGame / NetworkController / NetworkRenderer3DThe Network mode: scramble, tap-to-rotate, solved-detection; the controller carries the generation dials.
DemoModeSwitchOne scene, three mode roots — activates the picked mode's root and repoints the camera and HUD.
DemoMenu / DemoHudLanding menu (with loading) / HUD (legend, stats, win) — both mode-aware.
DemoCameraFit / DemoEnvironment / DemoAudioAngled auto-framing camera / shadows+fog+ground / procedural SFX.

All of this is plain example code — read it, copy it, or replace it with your own.

Rebuild it / set up your own scene

The demo scene ships pre-built — open it and press Play; you never need the builders to use it. To re-skin, drop your own prefabs onto LevelRenderer3D (empty slots fall back to primitives).

One-click builders that recreate each piece are included in Assets/SimpleConnect/Editor/Tools but kept off the menu. To use one, uncomment its [MenuItem] line — it then appears under Window ▸ Living Failure ▸ Simple Connect ▸ Demo Setup. For the full three-mode scene, Create Demo (all modes) is one click — it builds the boards, HUD, and menu together. Single-mode builders (Create 3D Demo for draw-only, Create Rotate Demo for pipes-only, plus the standalone HUD / menu builders) exist too.