
Get started in Unity, access the feedback area, join the discourse community for questions and collaboration, and reference the completed game project to guide your imaginary puzzle game.
Set up the Unity layout to two by three and dock the project tab. Review the hierarchy, scene, inspector, with the 2d sprite, transform, camera, and audio listener.
Import the course assets, remove unused visual scripting packages, create a tile background prefab, and set up the board where gems will appear for the match-3 game in Unity.
Define the board width and height, instantiate tiles with a prefab using nested for loops, parent them under the board, and center the camera.
Select and rename the blue gem and add a gem script. Organize gems with sorting layers and prefab variants to ensure proper rendering and easy spawning on the board.
Spawn gems by using a public gems array, select a random index, and instantiate the chosen gem at a 2d position in Unity, with proper parent, rotation, and naming.
learn to store spawning gems in a two-dimensional array mapped by x and y, initialize each gem with its position and board reference, and hide these variables in the inspector.
Learn to implement swipe-based gem movement for a Unity match-3 puzzle game by tracking touch points, converting screen to world coordinates, and calculating swipe angle to determine direction.
Implement swipe-based gem swapping in Unity by calculating swipe distance and angle, validating moves against board bounds, and swapping adjacent gems while updating the board state.
Move match-3 gems smoothly by assigning a shared speed on the board, using linear interpolation to animate transitions, and ensuring frame-rate independent motion with time.deltaTime.
Learn how to implement a match finder in Unity that detects horizontal and vertical matches on the board by accessing the board, iterating gems, and validating neighbors.
Define a gem type enum, assign colors blue, green, red, yellow, purple, expose it in the gem script, and implement horizontal and vertical match checks with a match finder.
Track matched gems in a Unity match-3 game using a public current matches list, add matches as they are found, clear each frame, and apply distinct to prevent duplicates.
Implement a swap-and-undo mechanic in a Unity match-3 game by tracking each gem's previous position, using coroutines to wait for moves, and reverting swaps if no match is detected.
Prevent beginning matches by ensuring spawned gems in a Unity match-3 grid don't form sequences, using a left-and-below check and a guarded iterations limit.
Implement gem destruction after a match by adding destroy matches and destroy single gem methods, validate gems exist, remove objects, and clear references in the board array to drive drops.
Implement cascading gem gravity in a Unity match-3 puzzle by counting empty spaces in a 2d grid, moving gems down with a coroutine, and timing drops for impactful explosions.
Refilling the gems teaches how to spawn new gems into empty slots, wait for drops, cascade matches, detect and destroy them, then refill and repeat in a Unity match-3 game.
Add a check misplaced gems function after refilling the board to remove gems not assigned to the board, preventing duplicates.
Learn to implement a slide-in spawn for gems in a Unity match-3 game by offsetting the spawn y position with the board height, delivering a more lively feel.
Control player input with a board state enum (wait and move) so moves occur only in move state, and clear current matches and gate checks during moves and refills.
Create a gem burst effect in Unity using the particle system to destroy gems, configure emission bursts, lifetime, size, rotation, and color, prefab variants in red, green, yellow, and purple.
Instantiate the gem's destroy burst at its position when a match is destroyed, using the gem's color-specific burst. Disable looping to prevent endless effects.
Introduce a bomb gem in a Unity match-3 game by adding a bomb type and a 2 percent spawn chance, with a board spawning logic to randomly place bomb prefabs.
Learn to implement bomb explosions in a Unity match-3 game by detecting bombs near matches, marking surrounding gems for explosion using a blast radius, and updating the board accordingly.
implement a shuffle board that collects all gems, clears the board, places gems randomly, and rechecks for matches with a 100-iteration cap to ensure no matches remain.
Lay out a polished match-3 level in Unity by building a seven-by-seven board backdrop and UI elements, and setting up time remaining and score displays.
Create a UI manager to control time and scores. Add a round manager to run timer, countdown with delta time, and update the time text to one decimal place.
create a round over panel, activate it when time ends to show 'round over', and use an ending round flag to block moves and trigger a win check.
Track and display the score for a match-3 game. Award each destroyed gem a score value (default 10, bombs 100), update the UI, and smooth the display with a lerp.
Implement a score multiplier for consecutive matches in a Unity match-3 game, awarding increasing bonuses and resetting when no more matches appear.
Set up a final score display and star rating at level end, using UI elements and score targets to activate stars and show win text.
Create a Unity main menu with a 2D canvas, reusable start and quit buttons (prefabs), and scene loading via the scene manager. Configure build settings and add a particle system.
Set up a level select system by turning the UI canvas into a prefab, saving multiple levels, and adjusting a five by five board with camera setup and build settings.
Create a level select scene by adding a UI canvas, saving the scene, and a main menu button. Add level buttons, three stars, and a reusable prefab.
Create a functional level select system in Unity by wiring buttons to load specific scenes via a Level Select Menu and Level Select Button scripts, using scene management.
Store and display earned stars per level using a simple player press system, hiding stars on load and enabling them when a level's star keys exist.
Create a scrollable level browser in Unity by adding a scroll view, configuring the viewport and a 250x250 grid layout with spacing and padding, and tuning scroll sensitivity.
Set up custom boards for your match-3 game in Unity by building a serializable, multi-row layout system that maps gem placements to rows and columns.
Create custom match-3 boards by wiring a board layers reference and a layout store, load level-specific layouts when available, and spawn gems or use random patterns for varied puzzle designs.
Introduce a stone block that can't be matched and is destroyed only by bombs. Update the match finder to exempt stones from matching, adding level variety.
Add main menu and level music across scenes, enable play on awake and loop, adjust volumes, and assign level one, two, and three music.
Implement a singleton sound effects manager in Unity to control audio sources. Trigger jam sounds, explosion, stone, and round over sounds from multiple scripts and prefab the manager for reuse.
Implement a pause and shuffle system in a Unity match-3 game, with a pause screen providing resume, level select, and quit, plus shuffle and time scale management for smooth resumes.
Configure Unity build and player settings, customize the product name and icon, adjust resolution and platform options, then build, test on the title screen, and bundle all data for sharing.
Congratulations on completing the course; explore next steps to extend your match-3 puzzle game in Unity, including shuffled or fixed stones, scoring changes, more gems, and 35 by 35 grid.
Learn how to create and program your very own match-3 puzzle game using Unity, an industry-standard game development program used by many large gaming studios and indie developers across the world.
In this course you won’t just be learning programming concepts, but tying these concepts to real game development uses. You will have access to a course forum where you can discuss the topics covered in the course as well as the next steps to take once the course is complete.
This course has been designed to be easily understandable to everyone, so whether you’re a complete beginner, an artist looking to expand their game development range or a programmer interested in understanding game design, this course will help you gain a greater understanding of development.
At the end of this course you will have developed the ability to understand such game elements as:
Matching Gems in groups of 3 or more
Adding Bombs and other custom objects into levels
Creating Custom Layouts
3 Star Level Ratings
Complete Level Select System
Audio systems
Interactive Menus
and much more...
The course also includes a complete version of the project to use for your own reference to ensure everything in your game works as it should!
Start learning today and let me help you become a game developer!