Technical Overview
Toolkit The Hypercasual Game Engine is a modular framework designed for rapid development of puzzle and arcade mechanics. It provides a standardized architecture where game-specific logic is decoupled from core engine systems.
Core provides the services (Audio, UI, Camera, Persistence), and the Games folder contains the implementation of specific mechanics.
Core Design Patterns:
- Singleton Managers: Centralized control for game states and audio.
- Data-Driven Levels: Separation of level design (JSON/Assets) from game logic.
- Namespace Isolation: All scripts reside within
HypercasualGameEngineorHypercasualGameEngine.{GameName}to prevent conflicts.
Getting Started
Opening the Main Scene
The primary game scene is located at:
Assets/Hypercasual Game Engine/Core/Scenes/HC-Games.unity
Open this scene to access all 30 game modules.
Where to Find Level Editors
All level editor tools are located under the Unity Tools menu in the top menu bar. There is no separate "Hypercasual" tab. To open any level editor, go to:
Tools > #{number} {Game Name} Level Editor
For example: Tools > #1 Arrows Level Editor, Tools > #11 HoleLoopJam Level Editor, etc.
Project Structure
Understanding the directory layout is crucial for extending the engine.
Global Core (Assets/Hypercasual Game Engine/Core)
Game Modules (Assets/Hypercasual Game Engine/Games)
Each game folder is self-contained, including its own Scripts, Editor, Prefabs, and Levels. The folder naming convention is #{number}_{GameName}, for example: #1_Arrows, #7_ConveyorSort, #11_HoleLoopJam.
Scenes (Assets/Hypercasual Game Engine/Core/Scenes)
The current main scene is HC-Games. This is the scene you should open to play or test any of the 30 game modules.
#1 Arrow Escape
A logic puzzle where players must clear a grid of arrows. Arrows can only move in their pointed direction and are blocked by others.
Main Scripts:
Arrow Escape Level Editor
Script: ArrowsLevelEditorWindow.cs
Open via: Tools > #1 Arrows Level Editor
How to use:
- Open the editor via
Tools > #1 Arrows Level Editor. - Set the Grid Size (e.g., 9x11) under "Grid Settings".
- Set Max Moves to define how many moves the player gets.
- Click Add Arrow in the left panel to create a new arrow. This creates an arrow with a single segment at position (0,0).
- With the arrow selected, set its Color and Direction (Up, Down, Left, Right) — this is where the arrow will fly when tapped.
- Click Edit Segments to enter segment editing mode (button turns green).
- Left-click on grid cells to add segments. Right-click to remove the last segment (undo).
- When done placing segments, click Stop Editing Segments.
- Repeat steps 4-8 for each additional arrow.
How Arrow Placement Works (Important!)
Each arrow is a separate entity made up of connected segments on the grid. Here's how to properly place multiple arrows so they each occupy different grid cells:
- Click "Add Arrow" to create Arrow 1. Select it, click "Edit Segments", and left-click on grid cells to place its body segments. Each new segment must be adjacent (directly up/down/left/right) to the current head. Segments are placed tail-first — the first cell you click becomes the tail (circle), and subsequent cells extend toward the head (arrowhead).
- Click "Stop Editing Segments" when Arrow 1 is done.
- Click "Add Arrow" again to create Arrow 2. This is a completely new, separate arrow.
- Select Arrow 2, set its color/direction, click "Edit Segments", and click on different grid cells that are not occupied by Arrow 1. The editor prevents you from placing segments on cells already used by another arrow.
- Repeat for Arrow 3 and beyond. Each arrow must occupy its own unique cells on the grid.
Common mistake: If you add 3 arrows but never deselect the first arrow and switch to editing the others, all segments will be added to the same arrow. Make sure to stop editing the current arrow, add a new arrow, select the new arrow, and then start editing segments for it.
- Each arrow is a chain of adjacent grid cells (connected horizontally or vertically, no diagonals).
- An arrow needs at least 1 segment, but typically has 2-5+ segments to form a snake-like body.
- The Direction setting determines which way the arrow flies when the player taps it — it does NOT need to match the shape of the arrow body.
- Arrows cannot overlap — each grid cell can only belong to one arrow.
- For a solvable puzzle, make sure arrows can reach the grid edge in their facing direction. An arrow blocked by others requires the player to clear a path first.
- The Legend in the editor shows you: the arrowhead triangle = Head (the front/tip), the circle = Tail (the back end).
Saving & Loading Levels
- Save: Click "Save JSON". A file dialog opens. The default save location is
Assets/Games/Arrows/Resources/Levels/. Enter a filename and click Save. The level is saved as a.jsonfile. - Load: Click "Load JSON". A file dialog opens to the same default folder. Select a
.jsonlevel file to load it into the editor for viewing or editing. - New: Click "New" to reset the editor to a blank state.
- The Level Name field at the top of the left panel sets the default filename when saving.
#2 Block Associations
A drag-and-drop matching game. Players must organize items into sets to clear the board.
Main Scripts:
Block Associations Editor Tools
These tools are all accessible from the Tools menu in the Unity menu bar:
- ApplyGraphics.cs: Select multiple item prefabs and use this tool to batch-assign sprites from a folder.
Access:Tools > #2 ColorBlockJam Apply Graphics. - LevelPreview.cs: Allows you to select a
Level.jsonand see a ghost-preview of the layout in the Scene view.
Access:Tools > #2 ColorBlockJam Preview Level. Select a Level JSON, the preview will appear in the Scene view if theGridManageris active. - SetupDragSprites.cs: Automatically adds
BoxCollider2DandDraggablecomponents to a selection of sprites.
Access:Tools > #2 ColorBlockJam Setup Drag Sprites. - FixMatchedRowBg.cs: A utility to align the background graphics with the generated grid size.
Access:Tools > #2 ColorBlockJam Fix Matched Row Bg. - ImportSprites.cs / ImportClearedSprite.cs: Automates the import settings for new icons to ensure they are correctly formatted for the UI.
Access:Tools > #2 ColorBlockJam Import SpritesandTools > #2 ColorBlockJam Import Cleared Sprite.
#3 Color Block Jam
A spatial puzzle where players move groups of blocks to clear paths. Blocks are constrained by their color-coded groups.
Main Scripts:
Setup Guide:
Levels are built using Prefabs. To create a new level:
- Place
GroundTileprefabs to form your floor. - Add
ColorBlockprefabs and group them under an empty GameObject withDraggableBlockGroup. - Assign a
Colorto the group; all children will automatically inherit it.
#4 Jigsaw Puzzle
A classic jigsaw mechanic. It uses a custom masking system to allow any image to be turned into a puzzle piece.
Main Scripts:
Jigsaw Editor Tools
- JigsawLevelCreator.cs:
Open via:Tools > #4 Jigsaw Level Creator. Select a Texture, set Rows/Cols and click Generate.Window Size: When you first open this tool, the window may appear small. Drag the right edge and bottom edge to expand it and see the full interface. - PuzzleLayoutEditor.cs:
Usage: Custom inspector forPuzzleLayoutassets. Allows manual adjustment of piece targets. - PuzzleDebugInspector.cs:
Usage: Provides a debug overlay in the Scene view to see piece IDs and snap zones. Also available viaWindow > #4 Jigsaw Puzzle Grid Debug.
#5 Drop the Dog Jam
A physics-and-timing game. Players must navigate dogs into holes by removing blocks in the correct order.
Main Scripts:
Drop the Dog Jam Editor Tools
- HoleEditor.cs:
Usage: Select aDogHolePrefab. Adjust Radius and Depth in the inspector. Click Regenerate to bake the SDF texture. - HoleLevelEditor.cs:
Open via:Tools > #5 Hole Level Editor. A grid-painting tool. Select a block type and click on the grid to paint your level.Window Size: When you first open this tool, the window may appear small. Drag the right edge and bottom edge to expand it and see the full grid painting area. - HoleMenu.cs:
Usage: Adds right-click menu items to the Hierarchy for quickly creating Hole-related objects.
#6 Pixel Shooter 3D
A color-matching puzzle-shooter. Players manage a conveyor belt of "pigs" that automatically shoot colored bullets at same-colored blocks on a grid. The challenge lies in strategic pig selection and resource management.
Main Scripts:
Key Mechanics:
- Tray/Trace System: Limited number of trays control how many pigs can be launched onto the belt. Trays animate from a stack to an equip position.
- Belt Path: Pigs move along a smooth curved path defined by 4 corner transforms with Bezier-blended corners.
- Holding Slots: After completing a belt run, pigs are stored in holding slots. If all slots fill up, the game is lost.
- Abilities:
- Hand Picker — Select any pig from the deck, not just the front of the line.
- Shuffle — Randomize the pig deck column order.
- Super Shoot — Spawns a special pig with 25 ammo that shoots any block.
- Extra Tray — Adds one additional tray/trace to the supply.
Pixel Shooter 3D Editor Tools
Additional debug tools are available via Tools > Pixel Shooter 3D > Reset Level Progress and Tools > Pixel Shooter 3D > Show Current Level.
- LevelEditorManager.cs:
Usage: A complete level editor with a 12x12 grid UI. Provides tools for color picking, pig placement, and save/load of JSON level files with unique filename generation.Window Size: When you first open this tool, the window may appear small. Drag the right edge and bottom edge to expand it and see the full 12x12 grid.
Save/Load: Levels are saved as.jsonfiles toAssets/Pixel Shooter 3D/Resources/Levels/. At runtime, levels are loaded from this sameResources/Levelsfolder usingResources.LoadAll. - BlockContainerEdit.cs:
Usage: Custom inspector sliders for rows (1-10), columns (1-10), and block scale (0.5-2.0). Dynamically spawns/destroys blocks in the editor. - DeckContainerEdit.cs:
Usage: Custom inspector for pig deck columns (1-5) and per-column pig count (1-9). Positions pig visual prefabs automatically. - HoldingContainerEdit.cs:
Usage: Custom inspector for holding slot count (1-5) and spacing (2.0-3.0). Shows/hides holding cube visuals. - PlayerSetupManager.cs:
Usage: Analyzes blocks to determine available colors, then randomly assigns colors and distributes ammo to pigs. Validates minimum blocks (5) and colors (2). - BlockColorizer.cs:
Usage: Samples colors from a source image using K-Means clustering to quantize to N colors, then maps them to grid positions for image-based level creation.
#7 Topic Stack
A sorting puzzle where players move themed items between conveyor columns. Items must be grouped by category to lock in columns and clear the board.
Main Scripts:
Key Mechanics:
- Selection: Clicking a column selects all consecutive top items of the same category. They levitate with a bobbing animation.
- Movement: Clicking a different column moves selected items if space is available. Items fly in a smooth arc to their new slots.
- Lock-In: When a column is full with matching items, it locks with a visual squash effect and becomes unselectable.
- Win Condition: All non-empty columns must be locked.
- Categories: Kitchen (orange), Ice Cream (light blue), Winter (blue), School (green).
Topic Stack Level Editor
Script: TopicStackLevelEditor.cs
Open via: Tools > #7 Topic Stack Level Editor
How to use:
- Open via
Tools > #7 Topic Stack Level Editor. - Set the Grid Layout (e.g., 4x1 for 4 columns), Empty Columns, and Items Per Column.
- Toggle desired Themes (Kitchen, Ice-Cream, Winter, School).
- Adjust Advanced Settings: global scale factor, center-based spawning, column spacing, and material references.
- Click Create Level to generate the level hierarchy with randomized item distribution.
Note: This editor generates the level directly as scene objects (GameObjects with components) rather than saving to JSON. The generated hierarchy appears under the active scene and can be saved as part of the scene or converted to a prefab.
#8 Solitaire Associations
A card-based puzzle combining solitaire mechanics with category matching. Players drag cards from the tableau and draw pile onto foundation slots to complete category sets within a limited number of moves.
Main Scripts:
Key Mechanics:
- Foundations: Each slot starts empty. Place a category card first, then fill it with matching item cards. Cards are locked once placed in a foundation.
- Hints: Prioritized system — first checks foundation moves, then productive tableau moves (ones that reveal face-down cards), then suggests drawing from the deck.
- Undo: Full move reversal including card state restoration, face-down re-hiding, and move refund.
- Win Condition: All foundation slots completed. Each completed category plays a scale-up/shrink animation and disappears.
- Lose Condition: Running out of moves (when
maxMoves > 0).
Solitaire Associations Editor Tools
- LevelEditorWindow.cs:
Open via:Tools > #8 Solitaire Associations Level Editor. A full-featured editor with a level browser, category manager, foundation/tableau/deck editors, visual preview, and validation checks (duplicate cards, capacity mismatches).Window Size: When you first open this tool, the window may appear small. Drag the right edge and bottom edge to expand it and see the full editor layout with the level browser on the left and the editor panels on the right.
Save/Load: Levels are saved as.jsonfiles toAssets/Hypercasual Game Engine/Games/#8_SolitaireAssociations/Resources/Levels/SolitaireAssociations/. The editor includes a level browser panel that lists all existing levels. Use Save to overwrite the current level, or Save As to create a new file. Level files must be inside theResources/Levels/SolitaireAssociations/folder to be loaded at runtime. - UpdateCardPrefabVisualsFinal.cs:
Usage: Editor utility that updates the CardPrefab with all required visual elements (border, count text, crown icon, category header) at correct positions. - UpdateTableauPrefab.cs:
Usage: Sets up tableau column prefabs with Image, DropZone, VerticalLayoutGroup (overlapping card spacing), and LayoutElement components.
#9 Coffee Go
A conveyor-based sorting puzzle. Players tap trays to eject mismatched coffee cups onto a conveyor belt, which automatically routes them to the correct color-matched tray.
Main Scripts:
Key Mechanics:
- Sorting Flow: Tap a tray to send wrong-colored coffees to the conveyor. The conveyor auto-delivers them to matching trays.
- Parabolic Paths: Coffees travel in smooth arc trajectories (5-point parabolic curves) between trays and the conveyor.
- Win Condition: All trays are filled with their matching color.
- Lose Condition: The conveyor stays at max capacity for a configurable countdown duration.
- Level Data: JSON-based with configurable conveyor settings (max slots, speed, countdown) and per-tray definitions (color, slot count, initial coffees).
Coffee Go Level Editor
Script: CoffeeGoLevelEditor.cs
Open via: Tools > #9 CoffeeGo Level Editor
How to use:
- Open via
Tools > #9 CoffeeGo Level Editor. Browse, load, or create levels from the Level Browser panel. - Configure Conveyor Settings: max slots, height per coffee, move speed, and lose countdown timer.
- Add trays and set their Color, Slot Count, and Initial Coffees using color swatches. Use Fill to auto-populate or Randomize All Coffees for quick setup.
- Use Capture From Scene to read current scene data, or Apply To Scene to write editor data back.
- A visual preview shows tray layouts with mismatched coffees marked. Validation prevents saving impossible levels.
Saving & Loading Levels
- Save: Click Save in the editor. Levels are saved as
.jsonfiles toAssets/Hypercasual Game Engine/Games/#9_CoffeeGo/Levels/. - Load: Use the Level Browser panel to see all existing levels and click one to load it. You can also use the Load button for a file dialog.
- At runtime, the game loads level files from this same Levels folder.
#10 Bricky Bounce
A 3D brick-breaking puzzle. Players select colored boxes from a board to launch balls through a conveyor system at a multi-layered brick grid. Balls seek out same-colored bricks and destroy them with physics-based break effects.
Main Scripts:
List<List<List<Brick>>>). Handles brick instantiation, layer spacing, collision plane generation, and win-condition tracking.
Key Mechanics:
- Board & Dock: Click a box on the board to move it to a dock slot. Boxes must have a valid exit path (validated via BFS through neighboring
canExitboxes). - Ball Routing: Balls travel through a conveyor path, then navigate the brick grid using A*-style pathfinding to reach the furthest matching-color brick.
- Brick Destruction: On impact, bricks play an elastic squash animation followed by a physics explosion with randomized radial force, torque, and gradual debris fade.
- Win Condition: All bricks destroyed (
countBricks <= 0). - Lose Condition: All dock slots are full and no matching-color bricks remain in the grid for any occupied dock color.
- Data-Driven: Levels use ScriptableObjects (
GameData) with board rows, grid layers, color assignments, and per-box properties (ball count, hidden state, exit permissions).
Bricky Bounce Level Editor
Script: BrickyBounceLevelEditorWindow.cs
Open via: Tools > #10 Bricky Bounce Level Editor
How to use:
- Open the editor via
Tools > #10 Bricky Bounce Level Editor. - Edit the Board: left-click to toggle empty/filled boxes, right-click for a context menu to set color, ball count, hidden state, and exit permissions. Adjust rows and columns dynamically.
- Edit the Grid: left-click to toggle bricks on/off. Configure layer count, row count, and column count. Use a color selector per layer and Fill/Clear Layer buttons for quick editing.
- A color legend and real-time grid rendering provide visual feedback during editing.
Saving & Loading Levels
- Save as JSON: Click Save. A file dialog opens with the default location
Assets/Hypercasual Game Engine/Games/#10_BrickyBounce/Levels/. The level is saved as a.jsonfile. - Save as ScriptableObject: You can also save the level as a
GameDataScriptableObject toAssets/Hypercasual Game Engine/Games/#10_BrickyBounce/Datas/. - Load: Click Load to browse and open an existing
.jsonlevel file from the same folder.
#11 Hole Loop Jam
A conveyor-loop puzzle where players tap colored pots from a spawn queue to send them onto a grid-based loop system. Matching-colored blocks on the grid automatically pathfind and jump into passing pots. Once a pot is fully filled, it's destroyed with a particle effect. Win by filling and destroying all pots before the loop runs out of dock space.
Main Scripts:
LevelManager. Manages material/color mappings and supports arrow key navigation between levels.
TypeColor, IsHidden, IsObstacle flags, and pot data lines (color + amount sequences).
Resources/Levels/HoleLoopJam/ at runtime, and provides save/delete for editor use.
Key Mechanics:
- Grid-Based Pathfinding: Uses BFS (Breadth-First Search) to find the shortest path from any block to the pot location on the grid.
- Conveyor Loop: Pots move through a series of ApplyState positions in a continuous loop around the grid, collecting matching blocks as they pass.
- Color Matching: Only blocks matching a pot's color will pathfind and jump into that pot with a parabolic arc animation.
- Pot Destruction: When a pot reaches its target fill count, it shrinks and explodes with particle effects.
- Blocking Mechanics: Obstacle blocks can block paths; hidden blocks are revealed when obstacles are removed.
- Win Condition: All pots have been filled and destroyed.
- Lose Condition: A pot completes its loop and there's no available dock to return it to.
- Level Data: JSON-based with configurable grid dimensions, per-cell block definitions (color, hidden, obstacle), and ordered pot data lines.
Hole Loop Jam Level Editor
Script: HoleLoopJamLevelEditorWindow.cs
Open via: Tools > #11 HoleLoopJam Level Editor
How to use:
- Open via
Tools > #11 HoleLoopJam Level Editor. - Use the Level Browser (left panel) to create, load, or delete levels. Click + New Level to start a new level with auto-incrementing name.
- Set Grid Width and Grid Height to define the playfield size.
- Edit the Block Grid: click cells to cycle through
TypeColorvalues (None, Red, Blue, Green, Yellow, Purple). Hold Shift+click to toggle the Hidden flag, or Ctrl+click for the Obstacle flag. Cells are color-coded with overlay markers for hidden (H) and obstacle (X) states. - Edit Pot Data Lines: add/remove lines, and within each line add pots with a
TypeColorand fillAmount. Reorder lines as needed.
Saving & Loading Levels
- Save: Click Save to write the level as a
.jsonfile toAssets/Resources/Levels/HoleLoopJam/. Use Save As to save under a new name. - Load: Use the Level Browser in the left panel — it lists all
.jsonfiles in the levels folder. Click any level name to load it. - Delete: Select a level in the browser and click the delete button to remove it.
- New Level: Click + New Level to create a blank level with an auto-generated name.
- At runtime, levels are loaded from
Resources/Levels/HoleLoopJam/using Unity'sResources.Loadsystem.
#12 Coffee Color Block
A color-matching puzzle where players drag shaped blocks onto a grid to position them near conveyors. Conveyors spawn colored coffee cups that automatically transfer into matching-colored blocks when they overlap. Each block has multiple slots (holes) that must be filled with cups. When all slots on a block are filled, the block clears with a slide-out animation. Complete all blocks before time runs out to win.
Main Scripts:
InitializeFromLevelData() for runtime level loading.
InitializeFromLevelData() to populate from JSON data.
BlockData with color, rotation, grid position, shape offsets, cup slot count), and conveyor queue (ConveyorData with color and coffee count).
Resources/Levels/CoffeeColorBlock/ at runtime, and provides save/delete for editor use.
GridManager and Convenyor, loads levels via LevelManager, and provides Next/Previous navigation with arrow keys.
Key Mechanics:
- Block Dragging: Players click and drag blocks with physics-based movement. Blocks slide along obstacles and snap to the nearest grid position on release.
- Coffee Conveyors: Multiple conveyors spawn sequences of colored coffee cups. Each conveyor can have multi-color sequences that advance as cups are consumed.
- Color Matching: Coffee cups only transfer from a conveyor to a block when their colors match. The conveyor's active color changes as each color sequence completes.
- Block Filling: Each block has multiple cup slots. Cups arc-animate into slots one at a time. When all slots are filled, the block clears automatically.
- Block Clear Animation: Filled blocks pull back slightly, then slide off-screen with a rotation effect.
- Grid Occupancy: Blocks use shape definitions to occupy multiple grid cells, preventing overlap with other blocks.
- Win Condition: All blocks have been filled and cleared.
- Lose Condition: The countdown timer expires before all blocks are cleared.
- Level Data: JSON-based with configurable grid dimensions, spacing, timer, block definitions (color, rotation, position, shape offsets, cup slots), and ordered conveyor queue.
Coffee Color Block Level Editor
Script: CoffeeColorBlockLevelEditorWindow.cs
Open via: Tools > #12 CoffeeColorBlock Level Editor
How to use:
- Open via
Tools > #12 CoffeeColorBlock Level Editor. - Use the Level Browser (left panel) to create, load, or delete levels.
- Configure Grid Settings: grid width, grid height, cell spacing, and level timer duration.
- Edit Blocks: add/remove block entries. Each block has a color (
EColor), rotation (0/90/180/270), grid position, shape offsets (list ofVector2Intdefining the block shape), and cup slot count. - Edit the Conveyor Queue: add/remove conveyor entries, each with a color and coffee count.
- Use Capture from Scene to read current scene Block and Convenyor data into the editor, bridging the existing inspector-based workflow with the JSON system.
Saving & Loading Levels
- Save: Click Save to write the level as a
.jsonfile toAssets/Resources/Levels/CoffeeColorBlock/. - Load: Use the Level Browser in the left panel to see and load existing levels.
- Capture from Scene: Use this button to import the current scene's block and conveyor configuration into the editor (useful if you've been building levels using the inspector).
- At runtime, levels are loaded from
Resources/Levels/CoffeeColorBlock/using Unity'sResources.Loadsystem.
#13 Color Brick Loop
A casual puzzle game where players click on colored boxes to push bricks onto a circular conveyor belt path. Bricks move around the conveyor, and a cannon at the end fires at matching-colored goal bricks on the top board. Players must clear all goal colors in sequence to win the level.
Main Scripts:
LevelManager, initializes the grid and top board, and supports arrow key navigation between levels.
EColor values (Yellow, Green, Emerald, Orange) and an ordered list of goal colors.
Resources/Levels/ColorBrickLoop/ at runtime, and provides save/delete for editor use.
Key Mechanics:
- Box Clicking: Clicking a box slides it forward onto the conveyor path. The lid flies open with animation and bricks spawn at predefined positions inside.
- Conveyor Circulation: Bricks move step-by-step around a circular path. Movement is blocked if the next node is occupied or if bricks are still spawning.
- Cannon & Color Matching: When a brick of the current goal color reaches the tunnel node, a bullet is fired at the corresponding goal brick on the top board, which pops with a scale animation.
- Goal Sequence: Players must eliminate all bricks of the first goal color, then the second, and so on until all goals are cleared.
- Win Condition: All goal colors have been eliminated successfully.
- Lose Condition: The conveyor becomes completely full and none of the bricks match the current goal color.
- Level Data: JSON-based with a color grid (rows x columns of
EColorvalues) and an ordered goal color sequence.
Color Brick Loop Level Editor
Script: ColorBrickLoopLevelEditorWindow.cs
Open via: Tools > #13 ColorBrickLoop Level Editor
How to use:
- Open via
Tools > #13 ColorBrickLoop Level Editor. - Use the Level Browser (left panel) to create, load, or delete levels.
- Edit the Color Grid: a visual rows x columns grid of
EColordropdown popups (Yellow, Green, Emerald, Orange). Add or remove rows and columns to resize the grid. - Edit Goal Colors: an ordered list of
EColorvalues that define the sequence of colors players must eliminate. Use add/remove buttons and reorder as needed.
Saving & Loading Levels
- Save: Click Save to write the level as a
.jsonfile toAssets/Resources/Levels/ColorBrickLoop/. - Load: Use the Level Browser in the left panel to see and load existing levels.
- At runtime, levels are loaded from
Resources/Levels/ColorBrickLoop/using Unity'sResources.Loadsystem.
#14 Good Swipe
A swipe-based sorting puzzle where players swipe the grid in four directions to move boxes and arrange items. The goal is to group matching items (Can, Ice, Duck) within the same box. When all 4 items in a box match, the box clears and fills collection targets. Complete all targets to win.
Main Scripts:
LevelManager, initializes the grid, and supports arrow key navigation between levels.
FillData with TypeObject and count), and box definitions (BoxData with grid position and item list).
Resources/Levels/GoodSwipe/ at runtime, and provides save/delete for editor use.
Key Mechanics:
- Swipe System: Detects mouse swipes (50-pixel minimum) and moves all boxes in that direction to fill gaps in the grid.
- Item Swapping: After movement, the system attempts optimal swaps between adjacent boxes to match item types together.
- Box Clearing: When all 4 items in a box match the same type, the box vanishes with animation and collection counters decrement.
- Grid Refactoring: After each swipe, boxes move, items swap, boxes clear, and new boxes spawn randomly in empty slots with a bounce effect.
- Point System: Awards points for item arrangements (1 item = 1pt, 2 = 5pts, 3 = 20pts, 4 = 100pts) with combo bonuses.
- Win Condition: All collection targets reach zero.
- Lose Condition: Grid fills completely with no valid adjacent swaps possible.
- Level Data: JSON-based with configurable grid dimensions, fill targets (item type + required count), and box definitions (grid position + item list).
Good Swipe Level Editor
Script: GoodSwipeLevelEditorWindow.cs
Open via: Tools > #14 GoodSwipe Level Editor
How to use:
- Open via
Tools > #14 GoodSwipe Level Editor. - Use the Level Browser (left panel) to create, load, or delete levels.
- Set Grid Width and Grid Height to define the playfield size.
- Edit Fill Data (collection goals): add/remove target entries, each with a
TypeObject(Can, Ice, Duck) and required count. - Edit Boxes: add/remove box definitions. Each box has a grid position and a list of up to 4 item types (
TypeObjectenum popups). Boxes are shown as a visual grid layout.
Saving & Loading Levels
- Save: Click Save to write the level as a
.jsonfile toAssets/Resources/Levels/GoodSwipe/. - Load: Use the Level Browser in the left panel to see and load existing levels.
- At runtime, levels are loaded from
Resources/Levels/GoodSwipe/using Unity'sResources.Loadsystem.
#15 Drop Marbles
A marble-sorting puzzle where players click on colored boxes to release marbles that scatter in all directions. The released marbles roll onto a conveyor belt that routes them toward color-matched target slots (FillBoxes). Fill all target slots to win before the conveyor becomes overloaded.
Main Scripts:
LevelManager, initializes the grid and fill targets, and supports arrow key navigation between levels.
BoxItem with TypeColor lists), and fill columns (GridFillColumn with ordered TypeColor entries).
Resources/Levels/DropMarbles/ at runtime, and provides save/delete for editor use.
Key Mechanics:
- Marble Release: Clicking a box releases all marbles inside in a circular spread pattern using physics impulse forces. Marbles scale up as they scatter.
- Conveyor Belt: An active conveyor rotates marbles along a fixed path. Marbles move to the next position each cycle with smooth interpolation.
- Color Matching: Marbles must match the exact color of their target FillBox to be accepted. Mismatched colors pass through.
- FillBox Completion: When a FillBox receives 3 matching-colored marbles, it's marked full and removed. Remaining boxes animate upward to fill the gap.
- Win Condition: All FillBoxes have been filled and removed.
- Lose Condition: All conveyor slots are filled and no active marbles can reach available matching targets.
- Level Data: JSON-based with configurable grid dimensions, box item definitions (color per marble), and fill column definitions (ordered target colors).
Drop Marbles Level Editor
Script: DropMarblesLevelEditorWindow.cs
Open via: Tools > #15 DropMarbles Level Editor
How to use:
- Open via
Tools > #15 DropMarbles Level Editor. - Use the Level Browser (left panel) to create, load, or delete levels.
- Set Grid Width and Grid Height to define the playfield size.
- Edit Box Items: add/remove box definitions. Each box has a list of
TypeColorvalues (Red, Blue, Green, Yellow) representing the marbles inside. - Edit Fill Columns: add/remove fill column definitions. Each column has an ordered list of
TypeColorentries defining the target colors that must be matched from bottom to top.
Saving & Loading Levels
- Save: Click Save to write the level as a
.jsonfile toAssets/Resources/Levels/DropMarbles/. - Load: Use the Level Browser in the left panel to see and load existing levels.
- At runtime, levels are loaded from
Resources/Levels/DropMarbles/using Unity'sResources.Loadsystem.
#16 Sand Flow Puzzle
A color-matching puzzle where players manage sand flow through buckets and a conveyor belt. Click colored buckets on a grid to send them onto a moving belt, where they automatically absorb matching-color sand from an 80x80 pixel art display. Fill each bucket to clear it, and empty all the sand to win.
Main Scripts:
Key Mechanics:
- Sand Gravity: Sand pixels fall and spread using cellular automaton rules with randomized sub-steps for natural behavior.
- Bucket Suction: Belt buckets extract matching-color pixels from the bottom of the sand display as they pass over it, with flying block particle effects.
- Boosters: Slot (+1 belt capacity), Shuffle (randomize grid bucket positions), Magic Wand (click any bucket regardless of neighbor rules).
- Win Condition: All sand pixels cleared from the display and no particles remaining.
- Lose Condition: All belt slots full and every bucket has completed a full loop without extracting any sand.
Sand Flow Puzzle Editor Tools
- LevelEditorWindow.cs:
Open via:Tools > #16 Sand Flow Puzzle > Level Editor. A two-panel editor with a level browser on the left and level properties on the right. Supports image quantization, palette editing, visual bucket grid editing (select/edit cells modes), auto-distribution of bucket colors, and belt/booster configuration.Window Size: When you first open this tool, the window may appear small. Drag the right edge and bottom edge to expand it and see the full interface.
#17 Snake Out
A grid-based puzzle where players drag colored snakes to guide them into matching-color holes. Snakes can be moved from either their head or tail, and must navigate around obstacles and other snakes to reach their exit.
Main Scripts:
Key Mechanics:
- Bidirectional Movement: Snakes can be dragged from either their head or tail, allowing strategic repositioning.
- Grid Pathfinding: Movement is validated against grid boundaries, obstacles, and other snake segments.
- Color Matching: Each snake must enter a hole of the same color. Mismatched holes are blocked.
- Time Limit: Configurable per level (default 120 seconds).
- Win Condition: All snakes have entered their matching holes.
- Lose Condition: Time runs out before all snakes are matched.
Snake Out Editor Tools
- LevelEditorWindow.cs:
Open via:Tools > #17 Snake Out Level Editor. Grid-based level painter with paint modes for obstacles, holes, and snake segments. Visual grid at 38x38 cell size with color-coded elements.Window Size: When you first open this tool, the window may appear small. Drag the right edge and bottom edge to expand it and see the full grid.
#18 Donut Master
A matching and assembly puzzle where players arrange colored donuts on a top-down board to match target shapes. Donuts arrive in boxes via conveyor lines and must be dragged onto the board to fill designated patterns.
Main Scripts:
Key Mechanics:
- Shape Matching: Donut boxes come in various shapes (2x2, 1x1, 1x2, L-shapes) that must fit target patterns on the board.
- Conveyor Lines: Multiple lines deliver boxes sequentially. Completing a box advances the line.
- Color System: 4 donut colors (Purple, Cyan, Pink, Yellow) that must match target positions.
- Win Condition: All target positions on the top board are filled with correctly colored donuts.
Donut Master Editor Tools
- LevelEditorWindow.cs:
Open via:Tools > #18 Donut Master Level Editor. Visual level editor for designing donut puzzles with conveyor line configuration, box shape placement, and target board layout.
#19 StackFill
A 3D block-stacking puzzle where players fill a three-dimensional grid with colored blocks according to wall constraints. Tap to place blocks from a dock into valid positions defined by colored walls on XY and YZ planes.
Main Scripts:
Key Mechanics:
- 3D Grid: Fully three-dimensional playfield with configurable X, Y, Z dimensions.
- Wall Constraints: Colored walls on XY (horizontal) and YZ (vertical) planes define which colors can be placed in each position.
- Tap-to-Place: Select a block from the dock and tap a valid grid position to place it.
- Win Condition: All grid positions filled according to wall constraints.
StackFill Editor Tools
- LevelEditorWindow.cs:
Open via:Tools > #19 StackFill Level Editor. Two-panel level editor with a level browser on the left and level properties on the right. Supports creating, duplicating, reordering, and deleting levels with JSON-based save/load. - Editor.cs:
Usage: Custom inspector forLevelDataScriptableObjects. Provides visual grid editors with XY Top View and YZ Side View perspectives, color assignment tools, and invalid item cleanup utilities.
#20 Crowd To Bus
A color-sorting puzzle where players move groups of colored people on a grid to match them with bus compartments. Drag people groups to valid grid positions and guide them onto buses with matching-color slots.
Main Scripts:
Key Mechanics:
- Color Matching: 6 people colors (Yellow, Red, Green, Orange, Purple, Blue) that must match bus compartment colors.
- Grid Movement: Drag people groups to valid positions on the grid, respecting placement constraints.
- Pedestal System: Visual markers indicate valid placement positions on the grid.
- Win Condition: All people groups matched to their corresponding bus compartments.
Crowd To Bus Editor Tools
- LevelEditorWindow.cs:
Open via:Tools > #20 Crowd To Bus Level Editor. Two-panel level editor with a level browser on the left (add, delete, duplicate, reorder levels) and level properties on the right. Features a visual grid painter for assigning colored people groups to grid positions, box management with color selection and cell painting, and car column configuration with per-car color and capacity settings. Levels are saved as individual JSON files toAssets/Resources/Levels/CrowdToBus/.Importing Existing Levels: If you have levels stored asLevelDataScriptableObjects (e.g. inDatas/Levels/), use the Import from ScriptableObject button at the bottom of the left panel to convert them into the JSON format. After importing, click Save All Levels to write the JSON files.Window Size: When you first open this tool, the window may appear small. Drag the right edge and bottom edge to expand it and see the full interface. - LevelEditor.cs:
Usage: Custom inspector forLevelDataScriptableObjects. Provides box management, grid visualization, and car column configuration tools.
#21 Cat Block Slide
A sliding-block merge puzzle with a countdown timer. Drag colored block pieces around a grid dotted with wall obstacles, aligning each color's pieces into their complete rectangular shape — once a shape is assembled it merges and flies off to the matching goal. Clear every color before the timer expires.
Main Scripts:
InputManager.
Resources/BlockIcons/ by name so levels can reference icons as strings in JSON.
ScriptableObject it is converted into.
Resources/Levels/CatBlockSlidePuzzle/, tracks the player's current level via PlayerPrefs, and exposes save helpers for the editor.
Key Mechanics:
- Shape Merging: Every block has a target size (e.g. 2x3); sliding its pieces into that shape collapses them and scores the color's goal.
- Wall Obstacles: Painted wall cells block movement, shaping the puzzle.
- Timer Pressure: Each level defines a
timeLimit; running out triggers a lose state. - Icon Flexibility: Block faces are sprite names resolved from
Resources/BlockIcons/, so themes swap without recompiling.
Cat Block Slide Editor Tools
- LevelEditorWindow.cs:
Open via:Tools > #21 CatBlockSlide Level Editor. Two-panel editor: the left panel lists levels with add/duplicate/delete/reorder and Save All / Reload from Disk buttons; the right panel edits grid size, time limit, paint mode (None / Wall / Block Piece / Erase), color picker, a live grid canvas, and a per-block list with shape size, sprite picker, and a popup to edit each piece's start / head position / shape type / zero-piece flag. Levels are stored as individual JSON files inResources/Levels/CatBlockSlidePuzzle/.
#22 Sorty Cars
A parking-lot color-sorting puzzle. Each cell of the lot holds a short queue of colored cars; drag a car onto a matching slot to deliver it, and sort all slots until every parking cell contains only one color.
Main Scripts:
LevelManager for the current level and hands it to the grid.
Resources/Levels/SortyCars/, tracks progression via PlayerPrefs, and exposes Save All / Load All From Disk for the editor.
TypeColor enum to materials/colors for car rendering.
Key Mechanics:
- Slot Queues: Each grid cell is a stack of cars; only the top car is draggable.
- Color Sorting: A move is valid only if the target slot's top color matches the dragged car's color (or is empty).
- Win Condition: Every occupied slot holds cars of a single matching color.
- Lose Condition: A delivered car's color no longer exists anywhere on the board, making the puzzle unsolvable.
Sorty Cars Editor Tools
- LevelEditorWindow.cs:
Open via:Tools > #22 SortyCars Level Editor. Two-panel editor with add/duplicate/delete/reorder/Save All/Reload on the left and grid-size fields plus a paint-mode board (None / Add Parking Slot / Erase) and a per-slot inspector on the right. Click cells to place parking slots pre-filled with a seed color; edit each slot's car sequence with add/remove/fill/shuffle helpers. Levels are saved toResources/Levels/SortyCars/as JSON.
#23 Foodie Sort
A turn-based food-sorting puzzle. Each grid cell is a food line that reveals a trio of foods per turn; swap foods between neighbouring cells to match matching triples and advance every line through all its turns before the timer runs out.
Main Scripts:
LevelManager and initializes the grid.
TypeFood (23 food types including Meat, Fish, Pizza, Donut, Avocado, etc.) and its slot within the line.
TypeFood to its sprite; central lookup used by Food prefabs.
TypeFood values.
Resources/Levels/FoodieSort/, persists progression via PlayerPrefs, and exposes Save All / Load All From Disk for the editor.
Key Mechanics:
- Turn Progression: Each food line holds a queue of turns; completing the current turn's match advances the line to the next.
- Triple Matching: A turn resolves when all three of its slots hold foods of the same type.
- Swap Movement: Players swap foods between neighbouring lines — no free-form drops.
- Win Condition: All food lines finish their turn queues before the level's
timeLimit.
Foodie Sort Editor Tools
- LevelEditorWindow.cs:
Open via:Tools > #23 FoodieSort Level Editor. Two-panel editor with level list / add / duplicate / delete / reorder / Save All / Reload on the left and a grid painter plus per-line turn editor on the right. Paint food lines onto grid cells and author each line's turn sequence with a food-type picker (sprite previews cached per food type). Levels are written as individual JSON files inResources/Levels/FoodieSort/.
#24 FitBlast
A shape-fitting pedestal puzzle. A starting tray holds a bag of colored block shapes; drag each block onto one of the pedestals laid out on the board. When a pedestal is completely filled with blocks of a single color it clears, and the remaining board shifts down. Clear the entire board to win.
Main Scripts:
LevelManager, instantiates pedestals and the start tray, routes drag/drop onto valid pedestals, runs fill-complete clears with particle effects, and reflows the remaining pedestals.
BlockType (one of 14 shapes — 1x1, 1x2, 2x2, L, T, etc.), color, and local position inside a pedestal.
BlockType to its sprite and the list of cells it occupies; central source of truth for shape footprints.
ColorType enum (Red / Green / Blue / Yellow / Cyan / Magenta / Orange / Purple / Brown / Gray / Black / White / Pink) to Unity Colors.
gridStart describing the starting tray layout.
Resources/Levels/FitBlast/, tracks progression via PlayerPrefs, and exposes Save All / Load All From Disk for the editor.
Key Mechanics:
- Shape Fit: Each block has a specific footprint (14
BlockTypevariants); it only drops where every one of its cells lands in a free pedestal cell. - Color Clears: A pedestal resolves only when it is fully filled AND every block in it shares a single color.
- Board Reflow: After a clear, pedestals in that column shift down to close the gap, keeping the board compact.
- Win Condition: Only the starting tray remains on the board.
FitBlast Editor Tools
- LevelEditorWindow.cs:
Open via:Tools > #24 FitBlast Level Editor. Two-panel editor with a level list / add / duplicate / delete / reorder / Save All / Reload on the left and a board painter on the right. Paint mode supports Add Pedestal (with configurable W×H), Select/Move, and Erase; selecting a pedestal opens its local-grid editor where blocks are placed with a shape+color brush. A dedicated Start Tray mode edits the player's starting bag. Levels are saved as JSON toResources/Levels/FitBlast/. - BlockDataEditor.cs:
Usage: Custom inspector forBlockData. Authors eachBlockType's occupied cells using a compact grid painter so adding a new shape stays visual.
#25 Slide Block
A drop-and-chain color puzzle. Colored blocks spawn one-at-a-time at the bottom of each column; slide them onto the grid so they touch same-colored blocks and trigger a BFS chain-clear. Prebuilt "Color" wildcard tiles on the grid clear any color touching them. Empty every column and every stack to win.
Main Scripts:
LevelManager, spawns column stacks and pre-placed grid items, activates the next block per column, evaluates trigger-based drops, runs BFS chain clears with staged timing, and refills / reflows the grid between turns.
TypeColor (Pink / Yellow / Color-wildcard), its grid position, and tap/drag state.
TypeColor to a Unity Material so blocks and particle effects render in the right tint.
GameLevel for routing.
Resources/Levels/SlideBlock/, tracks progression via PlayerPrefs, and exposes Save All / Load All From Disk for the editor.
Key Mechanics:
- One-At-A-Time Spawning: Each column's spawn slot can hold only one active block; the next block activates after the current one is placed and the spawn position is free.
- Arrow Triggers: Under the grid, one arrow trigger per column routes a dropped block up into that column.
- Chain Clears: A BFS flood from the placed block through same-colored neighbours clears them in staged waves.
- Wildcard Tiles:
TypeColor.Colorgrid items act as wildcards — placing any color adjacent triggers a full same-color sweep across the grid. - Win Condition: All column stacks and all filled grid positions are cleared.
Slide Block Editor Tools
- LevelEditorWindow.cs:
Open via:Tools > #25 SlideBlock Level Editor. Two-panel editor with a level list / add / duplicate / delete / reorder / Save All / Reload on the left. The right panel exposes grid size fields, per-column stack editors (append / remove / reorder colors per column) and a grid painter with Preplace Item / Erase modes plus a color brush for pre-placed blocks and wildcard tiles. Levels are written as JSON toResources/Levels/SlideBlock/.
#26 Parking Slot Match
A color-matching conveyor puzzle where players manage cars flowing through a conveyor belt system into colored parking lines. Tap mismatched cars off a parking line to send them into a waiting area that feeds the conveyor loop. As the conveyor cycles, matching-color cars automatically dock into their corresponding parking line. Clear every line by filling it with same-color cars to win — but if the conveyor backs up with 6 unplaceable cars, the game is lost.
Main Scripts:
LevelManager and initializes the grid manager.
TypeColor (Red, Yellow, Blue, Green) and handles tap interactions to trigger removal from parking lines.
Resources/Levels/ParkingSlotMatch/, tracks progression via PlayerPrefs, and exposes Save All / Load All From Disk for the editor.
Key Mechanics:
- Conveyor Loop: Cars cycle through a wraparound conveyor belt, automatically docking into matching-color parking lines when they pass.
- Tap-to-Remove: Tap a car at the end of a parking line to eject it into the waiting area and onto the conveyor.
- Line Completion: When all cars in a parking line match its designated color, the line clears with a particle animation.
- Backlog Pressure: If 6 cars pile up on the conveyor without valid placements, the player loses.
- Win Condition: All parking lines are completed with correctly matched cars.
Parking Slot Match Editor Tools
- LevelEditorWindow.cs:
Open via:Tools > #26 ParkingSlotMatch Level Editor. Two-panel editor with a level list / add / duplicate / delete / reorder / Save All / Reload on the left. The right panel features grid width/height fields, a paint mode toolbar (None / Car Line / Erase), a color palette for selecting car line colors, and a visual grid canvas. Click cells to place car lines; select a line to edit its car color sequence with add/remove controls. Levels are saved as JSON toResources/Levels/ParkingSlotMatch/.
#27 Color Tile Flow
A conveyor-based tile routing puzzle. Colored tiles spawn in a tap-out area; tap them to load them into a dock queue (max 6). The conveyor cycles docked tiles around the grid where they must match colored directional arrows to form continuous flow paths. When a tile's color matches a complete arrow sequence, it animates through the path and exits. Clear all arrows to win — lose if the dock fills up with no valid placements.
Main Scripts:
TypeColor, mesh renderer reference, and mapping/tap state flags.
Resources/Levels/ColorTileFlow/, tracks progression via PlayerPrefs, and exposes Save All / Load All From Disk for the editor.
Key Mechanics:
- Directional Arrow Paths: Arrows define colored flow paths on the grid; tiles must match both color and follow the arrow direction chain.
- Dock Queue: Up to 6 tiles can be docked simultaneously; the game ends if the dock is full with no valid placements.
- Conveyor Cycling: Docked tiles move around the grid perimeter each time step, checking for arrow matches at each position.
- Arrow Doddering: Visual wobble feedback on arrows when a tile could potentially match but the path is blocked.
- Win Condition: All arrows on the grid are filled by matching color tiles flowing through them.
Color Tile Flow Editor Tools
- LevelEditorWindow.cs:
Open via:Tools > #27 ColorTileFlow Level Editor. Two-panel editor with a level list / add / duplicate / delete / reorder / Save All / Reload on the left. The right panel features grid size fields, paint mode selection (None / Arrow / Erase), color and direction pickers, and a visual grid canvas for placing colored directional arrows. An arrow list panel shows each arrow's position, direction, and color. Levels are saved as JSON toResources/Levels/ColorTileFlow/.
#28 Color Pixel Crush
A dual-grid cannon puzzle. The board is split into a "fill" grid displaying colored target areas and a "tap-out" grid containing ammo-limited cannons. Tap a cannon to fire a colored projectile at matching-color fill items on the opposite grid. Cannons cycle through a conveyor dock system, and each has a fixed ammo count that depletes with every shot. Destroy all fill items and exhaust all cannon ammo to win — lose if the countdown timer expires.
Main Scripts:
Resources/Levels/ColorPixelCrush/, tracks progression via PlayerPrefs, and exposes Save All / Load All From Disk for the editor.
Key Mechanics:
- Dual-Grid Design: Separate fill grid and cannon grid with independent dimensions, creating a split-screen puzzle layout.
- Ammo Management: Each cannon has fixed ammunition; strategic shot placement is critical since ammo cannot be replenished.
- Color-Matching Projectiles: Bullets only eliminate fill items that match the cannon's color.
- Conveyor Dock Cycling: Cannon references rotate through conveyor positions each time step, changing which cannons are accessible.
- Win Condition: All fill items destroyed and all cannon ammo depleted before time runs out.
Color Pixel Crush Editor Tools
- LevelEditorWindow.cs:
Open via:Tools > #28 ColorPixelCrush Level Editor. Two-panel editor with a level list / add / duplicate / delete / reorder / Save All / Reload on the left. The right panel features independent width/height controls for both grids, paint mode selection (None / Fill Item / Cannon / Erase), color picker, ammo configuration for cannons, and separate visual grid editors for the fill and cannon grids. Levels are saved as JSON toResources/Levels/ColorPixelCrush/.
#29 Jig Sort
A block-sorting jigsaw puzzle with stacked columns. Each column contains a series of colored boxes that unlock one at a time as previous boxes are completed. Drag block pieces from the tap-out area onto boxes — each block has a specific shape pattern and color that must match the target box. Blocks can be temporarily stored in a dock (up to 5). Complete every box across all columns to win.
Main Scripts:
BlockType (shape pattern), ColorType, grid position, and priority/tap state.
GridColumn entries, each containing nested GridItem boxes with dimensions, color, and a list of BlockPosition entries (block type, color, and grid coordinates). Includes a CloneGridColumns() deep-copy helper.
Resources/Levels/JigSort/, tracks progression via PlayerPrefs, and exposes Save All / Load All From Disk for the editor.
Key Mechanics:
- Column Stacking: Multiple columns each containing a queue of boxes; completing the current box unlocks the next one in the stack.
- Shape Fitting: Each block has a specific shape footprint that must fit within the target box's grid dimensions.
- Color Matching: Blocks must match the color type of the destination box (13 color types supported).
- Dock Storage: Temporary holding area for up to 5 blocks, allowing strategic rearrangement.
- Priority Unlocking: Blocks unlock based on their vertical priority, preventing access to buried pieces until higher ones are placed.
- Win Condition: All boxes in every column are completed with correctly placed blocks.
Jig Sort Editor Tools
- LevelEditorWindow.cs:
Open via:Tools > #29 JigSort Level Editor. Two-panel editor with a level list / add / duplicate / delete / reorder / Save All / Reload on the left. The right panel uses a column-based structure: add/remove/reorder columns, and within each column add boxes with configurable width/height, color type, and block entries. Each box features a visual grid canvas where clicking toggles block placement, plus per-block controls for type index, block type, color, and grid position. Levels are saved as JSON toResources/Levels/JigSort/.
#30 Charge Out Puzzle
A timed block-placement puzzle. Drag colored blocks from a conveyor system onto a grid, filling highlighted target areas with matching colors. The grid has blocked cells that restrict placement, and blocks come in various shapes (1x1, 1x2, 2x2, L-shapes). When a target area is completely filled with same-color blocks, it clears with an animation. Clear all target areas before the countdown timer expires to win.
Main Scripts:
Resources/Levels/ChargeOutPuzzle/, tracks progression via PlayerPrefs, and exposes Save All / Load All From Disk for the editor.
Key Mechanics:
- Shape-Aware Placement: Blocks have various footprints (1x1, 1x2, 2x2, L-shapes); all cells must land on free grid positions.
- Blocked Cells: Certain grid positions are permanently unavailable, requiring strategic placement around obstacles.
- Color Fill Areas: Highlighted target zones clear when completely filled with same-color blocks, shown via mask progress bars.
- Conveyor Delivery: Blocks are presented through a conveyor system with dock management, controlling which blocks are available.
- Time Pressure: A countdown timer creates urgency; the player loses if time expires before all areas are cleared.
- Win Condition: All colored target areas are filled and cleared before the timer runs out.
Charge Out Puzzle Editor Tools
- LevelEditorWindow.cs:
Open via:Tools > #30 ChargeOutPuzzle Level Editor. Two-panel editor with a level list / add / duplicate / delete / reorder / Save All / Reload on the left. The right panel features grid width/height and time limit fields, paint mode selection (None / Block / Blocked Cell / Erase), color picker, block shape/size specification, and a visual grid editor showing placed blocks and obstacles. Levels are saved as JSON toResources/Levels/ChargeOutPuzzle/.
Core Systems & Utilities
Core Editor Tools
These tools are available globally to assist with general project development:
- DragSnapWithoutPlaymodeEditor.cs:
Usage: Attach theDragSnapWithoutPlaymodecomponent to any GameObject. In the Scene view, a custom handle will appear. Moving this handle will snap the object to the grid defined in the inspector. It also draws a visual grid around the object for reference. - ImportAudioIcon.cs:
Usage: Automatically assigns a custom icon to audio files in the Project window, making them easier to distinguish from other assets.
LoseWinPanelManager
A global UI controller. It listens for events from any LevelManager and triggers the appropriate overlay. It is designed to be "Plug and Play" — just drop the prefab into your scene's Canvas.
Animation System
The engine includes a lightweight animation system (PositionAnimation.cs, ScaleAnimation.cs, RotationAnimation.cs) that allows for tween-like behavior without external dependencies.
Development Guide
Creating a New Game Module:
- Folder Setup: Create
Assets/Hypercasual Game Engine/Games/#X_Name. - Manager: Create a script inheriting from
LevelManager.public class MyGameManager : LevelManager { ... } - UI Integration: Ensure your scene has an
EventSystemand aCanvaswith theLoseWinPanelprefab. - Namespace: Wrap all code in
namespace HypercasualGameEngine.YourGameName { ... }or a dedicated namespace likenamespace YourGameName { ... }. Games #1-5 use the sharedHypercasualGameEnginenamespace; games #6-15 use theHypercasualGameEngine.{GameName}sub-namespace convention; games #16-20 use their own top-level namespaces (e.g.SandFlowPuzzle,SnakeOut); games #21-30 continue that pattern with their own top-level namespaces (e.g.CatBlockSlidePuzzle.Scripts,SortyCars.Scripts,FoodieSort.Scripts,FitBlask.Scripts,SlideBlock,ParkingSlotMatch.Scripts,ColorTileFlow.Scripts,ColorPixelCrush.Scripts,JigSort.Scripts,ChargeOutPuzzle.Scripts).
AssetDatabase API or the Unity Project window to preserve .meta files and references.
Support
Need help with the engine? Have questions about a specific mechanic or want to report a bug?
We aim to respond to all support inquiries within 24-48 hours. Please include your order number and a detailed description of your issue for faster assistance.
Version History
v1.0 - Initial Release (Current)
The debut release of the Hypercasual Game Engine ships with 30 fully functional game modules, each with a JSON-based level pipeline (Resources/Levels/<Game>/Level_N.json) and a dedicated two-panel level editor accessible from the Tools menu. All games share a unified core (SoundManager, LoseWinPanelManager, animation helpers) and are namespace-isolated for clean coexistence.
- #1 Arrow Escape: Grid-based logic puzzle with directional arrows.
- #2 Block Associations: Drag-and-drop matching mechanic — organize items into sets.
- #3 Color Block Jam: Spatial group-movement puzzle with colored blocks.
- #4 Jigsaw Puzzle: Dynamic texture-slicing puzzle with drag-snap pieces.
- #5 Drop the Dog Jam: Physics-based SDF hole mechanic.
- #6 Pixel Shooter 3D: Color-matching puzzle-shooter with conveyor belt and abilities.
- #7 Topic Stack: Category-based item sorting with lock-in mechanics.
- #8 Solitaire Associations: Card-based solitaire with category matching, hints, and undo.
- #9 Coffee Go: Conveyor-based coffee cup color-sorting puzzle.
- #10 Bricky Bounce: 3D layered brick-breaking with ball routing and physics destruction.
- #11 Hole Loop Jam: Conveyor-loop puzzle with BFS pathfinding and pot-filling mechanics.
- #12 Coffee Color Block: Color-matching conveyor puzzle where coffee cups fill shaped blocks on a grid.
- #13 Color Brick Loop: Circular conveyor belt puzzle with cannon-based goal elimination.
- #14 Good Swipe: Swipe-based item sorting puzzle with combo scoring and collection targets.
- #15 Drop Marbles: Physics-based marble release and conveyor routing puzzle.
- #16 Sand Flow Puzzle: Sand physics puzzle with conveyor belt suction and 80x80 pixel art displays.
- #17 Snake Out: Grid-based snake pathfinding puzzle with bidirectional drag movement.
- #18 Donut Master: Shape-matching assembly puzzle with multi-line conveyors delivering donut boxes.
- #19 StackFill: 3D block-stacking puzzle with wall constraints on XY and YZ planes.
- #20 Crowd To Bus: Color-sorting puzzle — move people groups on a grid to match bus compartments.
- #21 Cat Block Slide: Timed sliding-block merge puzzle with wall obstacles.
- #22 Sorty Cars: Parking-slot car color-sorting puzzle with queue mechanics.
- #23 Foodie Sort: Turn-based food-sorting puzzle with 23 food types.
- #24 FitBlast: Pedestal shape-fitting puzzle with 14 block shapes and color clears.
- #25 Slide Block: Drop-and-chain color puzzle with BFS chain clears and wildcard tiles.
- #26 Parking Slot Match: Conveyor-based car color-matching into parking lines.
- #27 Color Tile Flow: Tile routing puzzle with colored directional arrow paths.
- #28 Color Pixel Crush: Dual-grid cannon puzzle with ammo-limited color-matching shots.
- #29 Jig Sort: Block-sorting jigsaw with stacked column boxes and shape fitting.
- #30 Charge Out Puzzle: Timed block-placement puzzle with conveyor delivery and fill areas.
Price: $119.99