HyperCasual Games Bundle #1
Games #1 through #10 — 10 fully functional mobile puzzle game templates with level editors, core systems, and ad monetization.
This bundle is part of the HyperCasual Game Engine – Mobile Puzzle Templates.
The full engine includes this and other bundles, 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/Games-Bundle-1.unity
Open this scene to access all game modules included in this bundle.
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, 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.
Scenes (Assets/Hypercasual Game Engine/Core/Scenes)
The current main scene is Games-Bundle-1. This is the scene you should open to play or test any of the game modules in this bundle.
#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.
Standalone Version
This game is also available as a dedicated standalone package with 5 fully designed levels, extended level editors, and additional customization options.
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.
Standalone Version
This game is also available as a dedicated standalone package with 5 fully designed levels, extended level editors, and additional customization options.
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.
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.
Ads Monetization
The Hypercasual Game Engine ships with a complete ad monetization system powered by RagendomAds. It supports Banner, Interstitial, Rewarded Video, and App Open Ad formats out of the box, with Google AdMob integration ready to go.
Documentation
Full setup instructions, API reference, and configuration guides are available in the dedicated RagendomAds documentation:
Assets/RagendomAds/Documentation/Documentation.html
Video Tutorial
Watch our setup walkthrough to get ads running in your project:
Key Features:
- All ad formats: Banner, Interstitial, Rewarded Video, and App Open Ads.
- Provider-agnostic: Swap between AdMob and Dummy providers via a ScriptableObject — no code changes needed.
- Frequency capping: Built-in cooldown and level-interval settings for interstitials.
- No-ads purchase support: A single method call disables banners and interstitials while keeping rewarded videos available.
- Editor testing: Dummy ad provider shows simulated ad UIs directly in the Unity Editor.
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.