HyperCasual Games Pack #3
Games #21 through #30 — 10 fully functional mobile puzzle game templates with level editors and core systems.
This pack is part of the HyperCasual Game Engine – Mobile Puzzle Templates.
The full engine includes this and other packs, with more game templates and level editors.
View the Full Engine on the Asset StoreTechnical 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-Pack-3.unity
Open this scene to access all game modules included in this pack.
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 > #21 CatBlockSlide 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 Resources/Levels. The folder naming convention is #{number}_{GameName}, for example: #21_CatBlockSlidePuzzle, #27_ColorTileFlow.
Scenes (Assets/Hypercasual Game Engine/Core/Scenes)
The current main scene is HC-Games-Pack-3. This is the scene you should open to play or test any of the game modules in this pack.
#21 Cat Block Slide Puzzle
A sliding-block puzzle where players drag colored blocks across a grid to fill goal targets within a time limit. Blocks are constrained by walls and other blocks; sliding stops on collision. Match the goal counts for every color before the countdown runs out to win the level.
Main Scripts:
Resources/Levels/CatBlockSlidePuzzle/ at runtime and tracks progression via PlayerPrefs.
Key Mechanics:
- Drag Sliding: Drag a block in any cardinal direction; it slides until it hits a wall or another block.
- Multi-Cell Pieces: Each block can be composed of multiple connected piece cells defined in the level data.
- Goal Tracking: A goal panel shows required colors and counts. Goals decrement as matching blocks are placed.
- Countdown Timer: A per-level time limit counts down on the UI. Lose if it reaches zero.
- Win Condition: All goal counters for every color reach zero.
- Lose Condition: Countdown timer reaches zero, or no valid moves remain on a jammed grid.
Cat Block Slide Puzzle Level Editor
Script: LevelEditorWindow.cs
Open via: Tools > #21 CatBlockSlide Level Editor
How to use:
- Open via
Tools > #21 CatBlockSlide Level Editor. - Use the Level Browser (left panel) to create, load, duplicate, reorder, or delete levels.
- Set the Grid Size and Time Limit for the current level.
- Paint walls and blocks onto the grid by selecting a color from the palette and clicking cells. Blocks can span multiple cells via piece data.
- Configure goal targets per color (the counts that must be reached to win).
Saving & Loading Levels
- Save: Levels are written as
.jsonfiles toAssets/Hypercasual Game Engine/Games/#21_CatBlockSlidePuzzle/Resources/Levels/CatBlockSlidePuzzle/. - Load: Use the Level Browser in the left panel to see and load existing levels.
- At runtime, levels are loaded from
Resources/Levels/CatBlockSlidePuzzle/using Unity'sResources.Loadsystem.
#22 Sorty Cars
A color-sorting puzzle where colored cars are stacked in vertical parking lines. Players drag cars between lines to consolidate matching colors. Win when every line is filled with cars of a single color.
Main Scripts:
Resources/Levels/SortyCars/ at runtime and provides save/delete for editor use.
LevelManager and initializes GridManager.
Key Mechanics:
- Vertical Lines: Each parking line stacks up to several cars. Drag a car to move it to a different line.
- Color Sorting: A line is "complete" when all of its cars share the same color.
- Collision Snapping: Cars stop at the next occupied slot when moving into a partially-filled line.
- Conveyor System: Cycles new cars into waiting positions as lines clear.
- Win Condition: All lines have been completed (each contains a single color).
- Lose Condition: Stalemate detection — cars stuck with no valid moves available.
Sorty Cars Level Editor
Script: LevelEditorWindow.cs
Open via: Tools > #22 SortyCars Level Editor
How to use:
- Open via
Tools > #22 SortyCars Level Editor. - Use the Level Browser (left panel) to create, load, duplicate, reorder, or delete levels.
- Set Grid Width and Grid Height to define the number of parking lines and slots per line.
- Paint the line cars: select a color and click cells to assign cars to specific positions.
Saving & Loading Levels
- Save: Levels are written as
.jsonfiles toAssets/Resources/Levels/SortyCars/. - Load: Use the Level Browser in the left panel to see and load existing levels.
- At runtime, levels are loaded from
Resources/Levels/SortyCars/using Unity'sResources.Loadsystem.
#23 Foodie Sort
A fast-paced food sorting puzzle where players drag food items into matching color trays. Multiple food lines feed items in rotation, and trays must be filled before queues overflow. Win by clearing every tray; lose when any food line piles up beyond its capacity.
Main Scripts:
Resources/Levels/FoodieSort/ at runtime and provides save/delete for editor use.
LevelManager and initializes GridManager.
Key Mechanics:
- Rotating Food Lines: Food items spawn into ready slots and rotate into waiting positions on a turn-based cycle.
- Tray Matching: Drag food onto a color-matched tray to add it; each tray accepts a fixed number of items.
- Queue Overflow: If too many items pile up in a single line without being matched, the level is lost.
- Sequence Editor: Levels define ordered food sequences per line so designers control the difficulty curve.
- Win Condition: All food sequences cleared and all trays completed.
- Lose Condition: A food line exceeds its waiting-queue capacity.
Foodie Sort Level Editor
Script: LevelEditorWindow.cs
Open via: Tools > #23 FoodieSort Level Editor
How to use:
- Open via
Tools > #23 FoodieSort Level Editor. - Use the Level Browser (left panel) to create, load, duplicate, or delete levels.
- Set Grid Width and Grid Height to define line layout.
- Edit per-line food turn sequences: each turn defines which food types appear and in what order.
Saving & Loading Levels
- Save: Levels are written as
.jsonfiles toAssets/Resources/Levels/FoodieSort/. - Load: Use the Level Browser in the left panel to see and load existing levels.
- At runtime, levels are loaded from
Resources/Levels/FoodieSort/using Unity'sResources.Loadsystem.
#24 Fit Blast
A Tetris-style block-fitting puzzle where players drag shaped blocks into pedestals on a grid. Each pedestal accepts only blocks of a specific shape and size. Win by filling every pedestal; lose when no remaining block can fit any open pedestal.
Main Scripts:
Resources/Levels/FitBlast/ at runtime.
Key Mechanics:
- Pedestal Grid: Pedestals have fixed dimensions (e.g., 2×3 or 3×3 cells) and only accept matching shapes.
- Block Queue: Blocks spawn in order from a designer-defined queue. Drag the active block onto a valid pedestal.
- Shape Validation: Drops on incompatible pedestals are rejected; valid drops snap into place with particle feedback.
- No Time Limit: The puzzle is purely combinatorial — the challenge is fitting blocks before the queue ends.
- Win Condition: All pedestals filled with correctly-sized, color-matched blocks.
- Lose Condition: Remaining blocks cannot fit any unfilled pedestal (board jammed).
Fit Blast Level Editor
Script: LevelEditorWindow.cs (with custom BlockDataEditor.cs inspector)
Open via: Tools > #24 FitBlast Level Editor
How to use:
- Open via
Tools > #24 FitBlast Level Editor. - Use the Level Browser (left panel) to create, load, duplicate, or delete levels.
- Edit grid pedestals: place each pedestal with its position, width, and height.
- Define the block spawn queue by referencing entries from
BlockData.
Saving & Loading Levels
- Save: Levels are written as
.jsonfiles toAssets/Resources/Levels/FitBlast/. - Load: Use the Level Browser in the left panel to see and load existing levels.
- At runtime, levels are loaded from
Resources/Levels/FitBlast/using Unity'sResources.Loadsystem.
#25 Slide Block
A column-stacking puzzle where players tap blocks to move them between vertical columns. Blocks fall and stack within columns, and grid pedestals show target colors that must be filled. Win by satisfying every pedestal; lose when no further valid moves are possible.
Main Scripts:
Resources/Levels/SlideBlock/ at runtime.
Key Mechanics:
- Column Stacking: Blocks spawn into columns and stack vertically with a scale-in animation (~0.25s).
- Tap-to-Move: Tap a block to move it — the system validates target column space before committing.
- Pedestal Targets: Grid pedestals indicate the colors that must be supplied to win the level.
- Combo Clears: Matching colors in adjacent target cells trigger combo clears with particle feedback.
- Win Condition: All pedestals filled with color-matched blocks.
- Lose Condition: No remaining valid moves can satisfy the unfilled pedestals.
Slide Block Level Editor
Script: LevelEditorWindow.cs
Open via: Tools > #25 SlideBlock Level Editor
How to use:
- Open via
Tools > #25 SlideBlock Level Editor. - Use the Level Browser (left panel) to create, load, duplicate, or delete levels.
- Edit columns: assign starting block stacks per column with color and order.
- Edit grid pedestals: choose target colors for each grid cell that must be satisfied.
Saving & Loading Levels
- Save: Levels are written as
.jsonfiles toAssets/Resources/Levels/SlideBlock/. - Load: Use the Level Browser in the left panel to see and load existing levels.
- At runtime, levels are loaded from
Resources/Levels/SlideBlock/using Unity'sResources.Loadsystem.
#26 Parking Slot Match
A car-parking matching puzzle where colored cars are dragged into grid-aligned parking slots. Each slot accepts a specific color; cars must be sorted into their matching slots. Win when every car is parked in its correct color slot.
Main Scripts:
Resources/Levels/ParkingSlotMatch/ at runtime.
LevelManager and initializes GridManager.
Key Mechanics:
- Color Slots: Each parking slot is color-coded; cars only "park" when dropped onto a slot matching their color.
- Drag Movement: Drag cars vertically within or between lines with smooth path movement.
- Slot Highlight: Matching color slots highlight as a car is dragged near them.
- Collision Prevention: Occupied slots block other cars from overlapping.
- Win Condition: All cars parked in slots that match their color.
- Lose Condition: Stalemate — no valid moves available with mismatched cars remaining.
Parking Slot Match Level Editor
Script: LevelEditorWindow.cs
Open via: Tools > #26 ParkingSlotMatch Level Editor
How to use:
- Open via
Tools > #26 ParkingSlotMatch Level Editor. - Use the Level Browser (left panel) to create, load, duplicate, reorder, or delete levels.
- Set Grid Width and Grid Height for your parking layout.
- Paint parking-slot colors and place cars in starting positions using the color palette.
Saving & Loading Levels
- Save: Levels are written as
.jsonfiles toAssets/Resources/Levels/ParkingSlotMatch/. - Load: Use the Level Browser in the left panel to see and load existing levels.
- At runtime, levels are loaded from
Resources/Levels/ParkingSlotMatch/using Unity'sResources.Loadsystem.
#27 Color Tile Flow
A conveyor-routing puzzle where colored tiles flow through a grid guided by directional arrows. Players place arrows so that tiles are routed into their matching color docks. Win by filling all docks with correct colors; lose if tiles overflow the grid.
Main Scripts:
Resources/Levels/ColorTileFlow/ at runtime.
Key Mechanics:
- Arrow Routing: Arrows on the grid steer tiles in cardinal directions; chains of arrows form full conveyor paths.
- Color Matching: Each dock accepts only tiles of its matching color. Wrong-color tiles must be re-routed.
- Multiple Docks: Up to 6 docks can be configured per level, each with their own color requirement.
- Overflow Loss: Tiles that have nowhere to go fill the grid and trigger a loss when capacity is exceeded.
- Win Condition: All tile sources are exhausted and every dock is filled with its correct color.
- Lose Condition: Tiles overflow the grid (no valid path to a matching dock).
Color Tile Flow Level Editor
Script: LevelEditorWindow.cs
Open via: Tools > #27 ColorTileFlow Level Editor
How to use:
- Open via
Tools > #27 ColorTileFlow Level Editor. - Use the Level Browser (left panel) to create, load, duplicate, or delete levels.
- Set Grid Width and Grid Height for your playfield.
- Paint Arrows by selecting a direction and clicking grid cells.
- Place Docks at grid edges and assign target colors.
- Define tile spawn sources with color and timing.
Saving & Loading Levels
- Save: Levels are written as
.jsonfiles toAssets/Resources/Levels/ColorTileFlow/. - Load: Use the Level Browser in the left panel to see and load existing levels.
- At runtime, levels are loaded from
Resources/Levels/ColorTileFlow/using Unity'sResources.Loadsystem.
#28 Color Pixel Crush
A cannon-based block-matching game where colored fill items are launched into a grid. Three or more matching items in a row crush each other; remaining items cascade with gravity. Win by crushing all required colors; lose if the grid overflows.
Main Scripts:
Resources/Levels/ColorPixelCrush/ at runtime.
Key Mechanics:
- Aim & Fire: Drag the cannon to aim; tap fire to launch the next colored item.
- Gravity Settling: Items fall into the grid and stack. They cascade downward when items below them crush.
- 3-In-A-Row Crush: Three or more matching colors in a horizontal/vertical row are removed with smoke/particle feedback.
- Tap-Out Grid: A side grid shows items that exit the system — useful for level pacing.
- Win Condition: All target colors crushed in their required quantities.
- Lose Condition: The fill grid overflows (items stack past the grid height).
Color Pixel Crush Level Editor
Script: LevelEditorWindow.cs
Open via: Tools > #28 ColorPixelCrush Level Editor
How to use:
- Open via
Tools > #28 ColorPixelCrush Level Editor. - Use the Level Browser (left panel) to create, load, duplicate, or delete levels.
- Set Fill Grid and Tap-Out Grid dimensions.
- Define the cannon spawn sequence — the ordered colors that the cannon will fire.
- Define crush targets — the per-color crush counts required to win.
Saving & Loading Levels
- Save: Levels are written as
.jsonfiles toAssets/Resources/Levels/ColorPixelCrush/. - Load: Use the Level Browser in the left panel to see and load existing levels.
- At runtime, levels are loaded from
Resources/Levels/ColorPixelCrush/using Unity'sResources.Loadsystem.
#29 Jig Sort
A jigsaw-matching puzzle where players drag shaped blocks into pedestals of the same outline (L, T, I, etc.). Each pedestal accepts only its specific shape and color. Win by filling every pedestal; lose when no remaining block can fit any open pedestal.
Main Scripts:
Resources/Levels/JigSort/ at runtime.
Key Mechanics:
- Shape Library: A palette of jigsaw shapes (L, T, I, square, etc.) is shared across levels.
- Pedestal Outlines: Pedestals show ghosted outlines of the shape they accept.
- Color & Shape Matching: Both the shape and the color must match for a block to settle into a pedestal.
- Glass Overlay: An overlay UI fills in as pedestals complete, providing visual progress.
- Win Condition: All pedestals filled with shape- and color-matching blocks.
- Lose Condition: Remaining blocks cannot fit any unfilled pedestal (board jammed).
Jig Sort Level Editor
Script: LevelEditorWindow.cs (with custom BlockDataEditor.cs inspector)
Open via: Tools > #29 JigSort Level Editor
How to use:
- Open via
Tools > #29 JigSort Level Editor. - Use the Level Browser (left panel) to create, load, duplicate, or delete levels.
- Place pedestals on the grid by selecting a shape and color from the palette.
- Configure the block spawn queue using shapes from
BlockData.
Saving & Loading Levels
- Save: Levels are written as
.jsonfiles toAssets/Resources/Levels/JigSort/. - Load: Use the Level Browser in the left panel to see and load existing levels.
- At runtime, levels are loaded from
Resources/Levels/JigSort/using Unity'sResources.Loadsystem.
#30 Charge Out Puzzle
A block-sliding puzzle on an irregular grid where players drag colored blocks into matching color conveyor zones. Blocks slide until they hit a wall, an obstacle, or the edge. Win by routing every block onto its matching conveyor before time expires.
Main Scripts:
Resources/Levels/ChargeOutPuzzle/ at runtime.
Key Mechanics:
- Irregular Grid: Some grid cells are disabled to create custom playfield shapes (e.g., perimeter borders).
- Slide Until Stop: Drag a block in any cardinal direction; it slides until it hits a wall, an obstacle, or another block.
- Color Conveyors: Each conveyor zone accepts only blocks of its matching color. Routed blocks are consumed with particle feedback.
- Countdown Timer: A per-level time limit counts down on the UI. Lose if it reaches zero before all blocks are routed.
- Win Condition: All blocks have been routed onto their matching color conveyor zones.
- Lose Condition: Countdown timer reaches zero before completion.
Charge Out Puzzle Level Editor
Script: LevelEditorWindow.cs
Open via: Tools > #30 ChargeOutPuzzle Level Editor
How to use:
- Open via
Tools > #30 ChargeOutPuzzle Level Editor. - Use the Level Browser (left panel) to create, load, duplicate, reorder, or delete levels.
- Set Grid Width, Grid Height, and Time Limit.
- Use the paint modes to place walls/obstacles, blocks, and conveyor zones with assigned colors.
Saving & Loading Levels
- Save: Levels are written as
.jsonfiles toAssets/Resources/Levels/ChargeOutPuzzle/. - Load: Use the Level Browser in the left panel to see and load existing levels.
- At runtime, levels are loaded from
Resources/Levels/ChargeOutPuzzle/using Unity'sResources.Loadsystem.
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 { ... }.
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.