Puzzle Room Kit

Puzzle Room Kit — Guide

Thirty classic puzzles for Unreal Engine with a built-in solver. Every start arrangement is generated by the solver, so it is always solvable and its difficulty is measured: you see the exact shortest solution in the Details panel before you press Play. Puzzles chain into an escape room — one solved puzzle unlocks the next, a gate waits for several, a door opens.

Everything is set in the Details panel and driven from Blueprint. No code, no input assets, no data tables.


Quick start

  1. Enable the plugin: Edit → Plugins → search “Puzzle Room Kit” → enable → restart the editor.
  2. See it working: Content Browser → Settings → Show Plugin Content → Puzzle Room Kit Content/Demo/Maps → open PRK_Demo and press Play: two rooms, fifteen puzzles. Click the door to walk into the second room (PRK_Demo_Study, an always-loaded sublevel of PRK_Demo; open it through PRK_Demo). PRK_House holds all thirty: a hall, a corridor and six rooms, every door unlocked so you can walk in anywhere. In the hall, pull the lever on the theme console to switch the theme while you play; the board on the wall lights a lamp for every puzzle you solve. Walk with W A S D, click a puzzle to work on it, walk away (or Escape / Tab) to step back, H for a hint. A gamepad works too: sticks walk and look, A uses, B steps back, Y gives a hint. One-click themes: Project Settings → Plugins → Puzzle Room Kit → Theme (Vintage, Sci-Fi, Horror, Modern).
  3. Use it in your level: Content Browser → Puzzle Room Kit Content/Blueprints → drag a puzzle (e.g. BP_PRK_SlidingTiles) into the level. Every kit actor has its Blueprint there — puzzles, door, gate, theme switch, progress board, name plate — and Ctrl+B on a placed one finds it.
  4. Pick a difficulty: Details → Puzzle → Difficulty → press Generate. *Puzzle Stats* shows the exact shortest solution.
  5. Play: World Settings → GameMode Override → PRKGameMode. Or keep your own game mode — see Using your own player.

The puzzles

# Actor How it plays Main settings
1 PRK Sliding Tiles Slide numbered (or picture) tiles into the gap until they are in order. 3 × 3. Tile Face (Numbers / Picture), Picture
2 PRK Toggle Grid Each button flips a pattern of lights. Turn them all off (or on). Columns, Rows (2–4), Pattern, Goal All On
3 PRK Ring Lock Concentric rings; turning one turns its linked rings. Align every symbol. Rings (2–5), Positions (4–12), Link
4 PRK Tower Move the tower to the glowing right-hand peg; a disc never goes on a smaller one. Discs (2–8), Classic Start
5 PRK Rotating Tiles Turn picture tiles upright; linked tiles turn too. 3 × 3. Link (Alone / Cross), Picture
6 PRK Memory Sequence Lights flash in order; press them back. A mistake replays it. Columns, Rows (2–4), Flash Time, Pause Time
7 PRK Linked Sliders Click above a knob to push it up, below to pull it down; linked knobs move with it. A knob glows on the middle notch: bring them all there. Sliders (3–6), Link
8 PRK Sliding Blocks Drag blocks along their grooves to free the key block. 6 × 6. —
9 PRK Laser Mirrors Turn mirrors so the beam reaches the receiver. 5 × 5. Mirrors (3–8), Beam Color
10 PRK Pressure Plates Floor plates: stepping on one flips it and its neighbours. Walk the solution. Columns, Rows (2–4), Pattern, Step Margin
11 PRK Rotating Pillars Four-sided stone pillars; turning one turns its linked pillars. Show the sun on all. Pillars (3–5), Link
12 PRK Knight Swap Brass and bronze knights trade sides with chess knight moves: each heads for the edge of its own metal and glows there. Columns, Rows (3–4)
13 PRK Frogs and Toads Frogs hop right, toads left, one step or over one of the other kind. Swap the sides. Per Side (2–4)
14 PRK Water Jugs Pour between jugs of 8, 5 and 3 units until one holds the target amount. Target (1–7)
15 PRK Peg Solitaire 15-hole triangle: jump a peg over a neighbour, the jumped peg is taken. Leave one. Start Hole, Finish In Start Hole
16 PRK Combination Safe Wall safe, right-left-right dial: each number clicks and lights a lamp when reached turning its way. Numbers, Positions, Code, Tumbler Feedback
17 PRK Code Breaker Guess the hidden four-pawn colour code; solid pins = right colour and slot, ring pins = right colour elsewhere. Colors, Rows, Code
18 PRK Gear Train Turn the crank gears; meshing gears turn the other way. Point every arrow up. Layout
19 PRK Tilt Maze Tip the box by a handle: balls roll until they hit something. Drop each ball in its own hole. Columns, Rows, Balls, Layout
20 PRK Crate Push Walk the little worker, push crates onto the brass plates. Crates can’t be pulled. Columns, Rows, Crates, Layout
21 PRK River Crossing Ferry everyone across; the boat won’t leave a bank in danger. Wolf-Goat-Cabbage or Goats-and-Wolves. Variant, Start Across
22 PRK Balance Scale Level the beam: weights on either pan against a canister of unknown mass. Weights, Masses, Unknown Mass
23 PRK Pipe Flow Turn pipes until water runs from the tap to the outlet; sight glasses show how far it gets. Columns, Rows, Layout
24 PRK Nonogram Fill stone squares so every row and column matches its numbers; a picture appears. 5 × 5. Picture
25 PRK Clock Hands Buttons wind several clocks by different amounts. Set every clock to the small dial’s time. Button Minutes, Turn Back, Target Hour/Minute
26 PRK Fuse Box Knife switches feed AND / OR / XOR gates; light every gate lamp and the main lamp. Switches (3–8), Gates
27 PRK Queens Place queens so none attacks another; one solution, Difficulty sets the logic it needs. Size (6–8), Layout
28 PRK Ball Sort Move balls between glass tubes, onto an empty tube or the same colour, until each tube holds one colour. Colors (2–4), Spare Tubes, Layout
29 PRK Chinese Rings Take every ring off the loop; a ring moves only when the one before it is on and all earlier ones are off. Rings (3–7), Classic Start
30 PRK Cryptex Turn letter rings (linked rings turn along) until they spell the word on the clue card. Rings, Letters, Word, Links

Frogs and Toads, Water Jugs, Peg Solitaire, Crate Push and Ball Sort have moves that cannot be taken back, so a player can get stuck. The puzzle notices: it plays its Locked Sound and puts itself back to its start a moment later (Reset When Stuck), and fires On Stuck.


Settings every puzzle shares (Details → Puzzle)

Setting What it does
Difficulty Easy / Medium / Hard / Expert = the shortest solution is 25–40 / 45–65 / 70–90 / 92–100 % of the hardest start this puzzle can have. Custom = exactly Target Moves.
Target Moves Exact shortest solution (Custom only). Clamped to Hardest Possible.
Seed Same seed + same settings = same puzzle.
Generate (button) New seed, new solvable start at the chosen difficulty.
Generate On Begin Play A fresh start every time play begins, instead of the one you see in the editor.
Lock When Solved Ignore moves after the puzzle is solved.
Reset When Stuck When no solution is left, say no and go back to the start (puzzles whose moves can’t be undone).
Start Locked The puzzle can’t be used until something activates it (see Escape room chains). When it is unlocked it plays Unlock Sound and glows for a moment.
Activate When Solved Doors, gates, lights or locked puzzles to activate when this one is solved.
Stats (read only) Shortest Solution, Hardest Possible, Reachable Arrangements, Starts This Hard.
Focus Close-up camera: Field Of View, Pitch, Margin, Blend Time, Leave When Solved. The camera frames the puzzle on its own and moves in front of a wall or shelf that would block it; change Pitch for a floor or table puzzle. Focus Light (lux, 0 = off) is a soft shadowless fill from above the camera while focused, so a puzzle reads in a dark corner too.
Look Meshes, materials, colours and animation times. Every mesh slot says where its pivot must be.
Sound Move Sound (every move, hints included; each puzzle type has its own), Solved Sound, Locked Sound (a locked puzzle is tried, a move isn’t allowed, the player is stuck; Memory Sequence: a wrong press), Unlock Sound, Sound Volume. Played at the puzzle, fading out by 15 m. Empty = silent.

Escape room chains (no Blueprint needed)

PRK Door: Locked (off = the player clicks it open; on = a click rattles it and plays Locked Sound), Motion Swing (Open Angle) or Slide (Slide Offset), Open Time, Start Open, Open Sound, Next Level (walk through the open door → short fade → that level loads); Blueprint Open, Close, Rattle, Is Open, event On Opened.

Showing progress. PRK Progress Board hangs on a wall: a brass slot per puzzle with its name and a lamp that lights once it is solved (up to 30). Puzzles sets which and in what order; empty = every puzzle in the level, by name. Title is engraved above the slots. Get Solved Count, event On All Solved (e.g. open the final door from the Level Blueprint). PRK Name Plate is a brass plate engraved with a puzzle’s name (Puzzle) or your own Text: on its stand for a table or plinth, or flat for a wall (Stand off). The names use the kit’s relief capitals A–Z; the letters take the theme’s ink colour. Puzzle Room Kit Content/Showcase/Meshes has the display plinths the demo uses (tall 70 × 70 × 86 cm, low 70 × 100 × 45 cm).


The player

PRKGameMode gives you a first-person player that walks, looks around and clicks puzzles. Its controller (PRKPlayerController) has: Built In Movement, Interact Distance (300 cm), Look Sensitivity, Interact Keys (left mouse, E, gamepad A), Leave Keys (Escape, Tab, W A S D, gamepad B), Hint Keys (H, gamepad Y).

Gamepad, no setup: the left stick walks, the right stick looks (Gamepad Look Speed). In a close-up either stick moves the cursor (Gamepad Cursor Speed), A clicks under it and X right-clicks (Gamepad Click Key, Gamepad Right Click Key). Every puzzle can be solved with clicks alone, so every puzzle works on a gamepad.

Players learn it by looking, no text needed. A small dot marks the centre of the screen. It turns into a ring over a puzzle or door that can be used, while the puzzle glows softly, and into a padlock over a locked one; under a locked door, pips count the puzzles its gate still waits for (PRKHUD, Reticle Color). In the close-up, the piece under the cursor glows with everything a click on it would move, and the cursor becomes a hand. The glow is custom primitive data 1, read by the kit materials. To light your own materials the same way, read a scalar parameter with Use Custom Primitive Data, index 1.

Using your own player: in your game mode set Player Controller Class to PRKPlayerController (or reparent your own player controller Blueprint to it: Class Settings → Parent Class) and HUD Class to PRKHUD for the reticle. Your character keeps its own movement and camera, first or third person. The interact key uses the puzzle or door in the middle of the screen, and Interact Distance counts from the character, so a third-person camera behind it does not shorten the reach. If a key clashes with your game (left mouse fires a weapon, say), edit Interact Keys on the controller.

Your own player controller logic: call the puzzle yourself — Focus (Player Controller) when the player interacts with it, Unfocus to leave, Play Hint Move for a hint. Focus moves the view to the close-up and turns on the mouse cursor and click events, so the pieces work with your controller. For gamepad cursors or touch, call Click At Screen Position on PRKPlayerController, or Begin Drag At / Drag To / End Drag on Sliding Blocks.

Pressure Plates need no focus: any pawn that walks onto a plate presses it.


Blueprint API

Every puzzle

Node  
Generate New solvable start at the current difficulty.
Generate At Difficulty (Difficulty, Target Moves) New solvable start at another difficulty — e.g. harder each level.
Reset Puzzle Back to the start arrangement.
Play Hint Move → bool Plays the next move of a shortest solution (from a dead end: back to the start).
Set Solved (Play Sound) → bool Jumps straight to a solved arrangement and runs the chain as a real solve does — for loading a saved game.
Is Solved, Is Locked, Get Moves Made, Get Moves Left State. Moves Left = shortest number still needed.
Focus (Player Controller) → bool, Unfocus, Get Focused Player Close-up view.
Activate (Source) Unlocks a locked puzzle (PRK Activatable).
Event On Solved (Moves Made) Once, when the puzzle is solved.
Event On Moved (Moves Made, Moves Left) After every move.
Event On Stuck A move left no way to the solution (puzzles whose moves can’t be undone, e.g. Peg Solitaire, Crate Push).
Set Hovered Part (Part, Location) → bool, Set Highlighted The glow, for your own player or UI (PRKPlayerController calls them).

Per puzzle — every move a player can make is a node, so you can drive puzzles from your own input, a tutorial or a test (each puzzle also has a Get Hint … node that names the solver’s next move without playing it):

Puzzle Moves State
Sliding Tiles Try Move Tile (Tile) Get Layout
Toggle Grid Press Button (Column, Row) Is Light On, Get Lights
Ring Lock Turn Ring (Ring, Direction) Get Ring Position
Tower Move Disc (From, To), Select Peg Get Peg Of Disc
Rotating Tiles Turn Tile (Cell, Clockwise) Get Turns
Memory Sequence Press Button (Column, Row), Play Sequence Is Playing Sequence, Get Sequence, event On Mistake
Linked Sliders Move Slider (Slider, Direction) Get Notches
Sliding Blocks Move Block (Block, Cells), Begin Drag At / Drag To / End Drag Get Board
Laser Mirrors Turn Mirror (Index, Clockwise) Get Turns, Get Mirror Cells, Is Target Lit
Pressure Plates Press Plate (Column, Row) Is Plate Lit, Get Plates, Get Plate Under (Pawn)
Rotating Pillars Turn Pillar (Pillar, Direction) Get Pillar Face
Knight Swap Move Knight (From Column, From Row, To Column, To Row) Get Knight At
Frogs and Toads Move Piece (Pad) Get Piece At
Water Jugs Pour Jug (From, To) Get Amount
Peg Solitaire Jump Peg (From, To) Has Peg, Get Pegs Left
Combination Safe Turn Dial (Direction) Get Dial Number, Get Numbers Caught, event On Tumbler
Gear Train Turn Gear (Gear, Direction) Get Gear Angle, Is Gear Up, Is Driver, event On Gear Turned
Pipe Flow Turn Pipe (Cell, Clockwise) Is Pipe Wet, Get Wet Pipes, Get Pipe Turn, event On Flow
Fuse Box Flip Switch (Index) Is Switch On, Is Gate Lit, Get Gates Lit, event On Gate Changed
Tilt Maze Tilt Board (Direction) Get Ball Cell, Is Ball Home, event On Ball Dropped
Nonogram Toggle Cell (Column, Row), Toggle Mark Is Cell Filled, Get Row Clue, Get Column Clue
Code Breaker Cycle Slot (Slot, Direction), Pull Lever Get Guess, Get Pins, Get Guesses Made, event On Guess
Cryptex Turn Ring (Ring, Direction) Get Shown Word, Get Linked Rings, event On Ring Turned
Ball Sort Move Ball (From, To), Click Tube, Put Back Get Ball Color, Is Tube Complete, event On Tube Completed
Clock Hands Press Button (Button, Direction) Get Hour, Get Minute, Get Target Hour, event On Button Pressed
Chinese Rings Move Ring (Ring) Can Move Ring, Is Ring On, Get Rings On, event On Ring Moved
Crate Push Push Crate (Crate, Direction), Walk To (Cell) Get Crate Cells, Get Crates On Targets, event On Crate Pushed
Balance Scale Move Weight (Weight, To), Step Weight Get Weight Place, Get Imbalance, event On Weight Moved
River Crossing Move Figure (Figure), Cross River Get Figure Place, Get Figures Across, events On Crossed, On Refused
Queens Toggle Queen (Column, Row) Has Queen, Get Queens Left, Get Clashing Queens

Gate: Get Activated Count, Get Required Count, Is Complete, event On Complete. Player controller: Get Focused Puzzle, Get Puzzle In View, Click At Screen Position.


Level Blueprint examples

1. A message when a puzzle is solved. Select the puzzle in the level → Level Blueprint → right-click → Add On Solved. From the event: Print String (“Solved in {Moves Made} moves”). The puzzle already plays its Solved Sound; add Play Sound 2D for music or a voice line.

2. A hint button in your own UI. Button On Clicked → Get Player Controller → Cast To PRKPlayerController → Get Focused Puzzle → Is Valid → Play Hint Move.

3. A move counter. Add On Moved for the puzzle → set your widget’s text to Moves Left (“{Moves Left} moves to go”). Because the solver knows the exact shortest solution, the counter is honest: it drops by one for every good move and grows after a bad one. In puzzles whose moves can’t be undone (Peg Solitaire, Crate Push…) it reads -1 once the player is stuck — a good moment to offer a hint or a reset.

4. Harder every round. On Solved → Delay 2 s → Generate At Difficulty (Difficulty = Hard) → Focus (Get Player Controller). For a smooth ramp use Custom and raise Target Moves each round.

5. Saving progress. Save: for every puzzle in the level, Is Solved → store the solved ones in your SaveGame (e.g. a Set of actor names). Load (Level Blueprint BeginPlay, after loading the SaveGame): for each stored puzzle call Set Solved. The rest follows as in play — doors open, locked puzzles unlock, gates count, the progress board lights its lamps — without replaying a single move.


Changing the look

Themes (one click). A theme is a set of look layers, not just a re-skin. Four come with the kit in Puzzle Room Kit Content/Themes: Vintage (the kit’s own look), Sci-Fi, Horror, Modern. Each DA_PRK_Theme_* holds:


Good to know


Support

Questions, bugs or requests: open an issue at https://github.com/josephs-assets/PuzzleRoomKit/issues. Please include your engine version, the puzzle, and any Output Log lines that start with LogPRK.