GridShift | Grid-Based Push Puzzles
Ice, holes, gates and patrols ... 26 levels, a level pack and saved progress ... Level Packs order your own levels, and a small progress store saves best moves and ... Feel and feedback
by Cyber Chroma
Price History +
- Cancel solver searches with a distinct result instead of reporting them as unsolvable.
- Atomic turn resolution: moves succeed completely or change nothing, with a named reason and cell for every rejection.
- Tile Rules (ScriptableObject): CanEnter, OnEntered, OnExited and OnTurnEnded hooks per tile or global, with undoable per-cell and per-piece integer values and item collection; key and door example included.
- Piece traits: Pushable, Solid, Weight and a tag, defaulting from the role (player, crate, block, patrol, item).
- Win conditions: all goals covered, player on exit, or a custom Solve Condition asset.
- Breadth-first level solver in the runtime with state and time limits; Inspector button checks solvability and writes par.
- Paintable level editor in the Puzzle Level Inspector: brush palette with custom glyphs, row and column controls, monospace text view and live validation.
- Push chains with a configurable limit (1 to unlimited); tile kinds floor, wall, goal, ice, hole, one-way and exit.
- Ice sliding for crates, actors and patrols, holes that crates fill, and patrols that step after the player in turn order.
- Bounded undo (default 256 turns) and redo that restore pieces, holes, headings and custom values; reset is undoable too.
- StepPlayed event for every walk, push, slide, fall, collect, rule change and bump, timed with the animation.
- Board Camera Fit component: frames the board for any aspect ratio inside an optional UI area and refits on resolution change.
- Level Pack asset with best moves and unlocks through an ILevelProgressStore interface (PlayerPrefs store included).
- Grouped turns move several actors in one undo record; optional lock once solved.
- Smooth per-cell animation that completes instantly if a new move arrives, keeps prefab scale and rotation, and raises Settled when done.
- Push Rules assets with Classic, Chain Reaction and Ice Rink presets; Tile Palette prefab mapping with custom glyphs; runtime level loading.
- Events: TurnCommitted, MoveRejected, Undone, Redone, BoardReset, Solved, Settled and StepPlayed, plus UnityEvents for Inspector wiring.
- Scene-free BoardState, MoveResolver and LevelSolver for tests, hints and tools.
- Eight demo scenes and 26 levels in a Level Pack, each par computed by the included solver.
- Getting Started window, Create Puzzle Board menu and an offline PDF manual.
- Runtime has no render-pipeline or input-package dependency. Demo scenes and materials ship for Built-in, URP and HDRP; Getting Started opens the set for the active pipeline.
- Tested in Unity 2022.3.62f3 (Built-in, URP 14.0.12, HDRP 14.0.12) and Unity 6000.6.4f1 (Built-in, URP 17.6.0, HDRP 17.6.0).
Every push is one turn. Every turn can be undone.
GridShift is a grid push-puzzle toolkit for Unity. A board holds tiles and pieces, and every move is resolved as one atomic turn: it either succeeds completely or changes nothing. Use it for warehouse and block-pushing puzzles, key-and-door rooms, ice-sliding exits, turn-based tile movement or any grid game where moves must never leave the board half-updated.
Pushes that never desync
Crates in a row move together or not at all, up to a push limit you choose. The resolver simulates the whole turn on a copy of the board before anything moves, so a blocked chain, a wall, a wrong-way gate or one of your own rules rejects the move cleanly and tells you exactly which cell stopped it.
Add your own mechanics
Write a Tile Rule to react when a piece enters or leaves a cell or when a turn ends: keys and doors, switches, pressure plates and more, without editing the package. Rules keep per-cell and per-piece counters and collect items through a context that records every change, so undo, reset and the solver handle your mechanics automatically. A worked key and door example is included, and pieces have Pushable, Solid, Weight and tag settings for heavy crates and pickups.
Paint levels and prove them
Paint a level in the Inspector with a brush palette, resize it with row and column controls, or type it in a monospace text view. The Inspector validates as you edit, and one button runs the breadth-first solver to prove the level is solvable and write its par. Win by covering every goal, reaching an exit or your own Solve Condition.
Ice, holes, gates and patrols
Crates, actors and patrols slide across ice until something stops them. A crate pushed into a hole fills it and becomes floor. One-way tiles only accept moves in their arrow's direction. Patrols take their step after yours, and grouped turns let several of your own actors move as one undo step.
26 levels, a level pack and saved progress
The included GridShift Puzzle Pack holds 26 levels, from six short tutorials to puzzles that combine ice, holes, patrols, keys and doors, exits and chain pushes. Every par is the solver's minimum and an automated check keeps it that way. Level Packs order your own levels, and a small progress store saves best moves and unlocks with PlayerPrefs or your own save system.
Feel and feedback
Undo and redo every turn. A per-step event reports each walk, push, slide, fall, pickup, rule change and bump in time with the animation, ready for your sounds and effects. Board Camera Fit frames the board for any screen shape, portrait included, and refits when the resolution or level changes.
Learn through eight demos
First Push, Push Chains, Ice And Holes, Gate And Patrol, Undo Lab, Custom Rules, Exit Mode and Level Select each teach one idea with a live turn log that explains every accepted and rejected move. The demos show hold-to-repeat keys, an on-screen pad, swipe input, a solve panel with moves against par, generated sound and a portrait layout. The example C# source is included.
Get from import to your first puzzle
A Getting Started window creates a working board in your scene with one click. Push Rules presets, custom Inspectors, clear events including Settled for animation end, and a PDF manual take you from the first push to your own rules, levels and input.
GridShift includes editable C# source and requires no third-party SDK, service, account or subscription. The runtime reads no input itself and has no render-pipeline dependency. The demos ship in Built-in, URP and HDRP versions and work with the Input Manager, the Input System (New) or Both.
Scope: square grids with four directions. Pieces push but do not pull, patrols follow a forward-or-reverse rule, there is no built-in lose state, and hex grids, diagonal moves and physics-driven pieces are not included.