
Learn to build a 3d unblock car puzzle in Unity, covering level design and generation, UI buttons, selection, moving cars to unblock the red car, and web3 builds for itch.io.
Master a six by six grid puzzle in 3d space where a red car reaches a goal, avoiding obstacles of various sizes with turn-based inputs and level generation.
Set up a new Unity 3D project using Unity Hub and a chosen Unity version. Create the project folder, name it, and choose between 3D core or HDRP options.
Master the core Unity layout basics, including the hierarchy, scene and game views, inspector, and console, to set up a play field and debug your 3D unblock puzzle game.
Import and organize 3D assets, textures, and UI in Unity; create and apply checker and gray materials; and set up the playfield for this unblock 3D puzzle game.
Create the playfield by positioning tiles, adjusting pivot points, and using isometric and perspective views with grid snapping to build a 6x6 field for the IQ Car Unblock Car puzzle.
Organize the playfield by creating a parent game object and grouping tiles and blockers under it. Add invisible walls and a goal area with colliders to constrain car movement.
Create and position the two-car object in Unity using a cube with a box collider, set the pivot at the front center, and parent the graphic for proper grid rotation.
Learn to attach a world-space canvas with car controls to a 3D vehicle in Unity, set up event systems, and customize UI using the 2D sprite package and sprite editor.
Set up the truck's input buttons by adding a canvas to the car, resizing and aligning it, and ensuring non-overlap; export and adjust car materials and textures for customization.
Learn to implement forward and backward car movement in Unity for a two-square car, check for obstacles before moving, and visualize checks with gizmos in the car movement script.
Explore how to compute the car’s front and back positions in 3D space, using the transform, negative forward axis, and collision checks for the unblock car puzzle game.
Create a public move forward function that moves car one grid unit when free, builds a forward vector from transform.forward, rounds the position, and connects UI buttons to call it.
Implement backwards car movement by duplicating the forward logic, negating the axis, and rounding positions at game start, then wire the back button to the move backwards function.
Check for obstacles with an overlapped sphere to determine if the car’s forward or backward movement is blocked, using layer masks and a boolean function.
Learn how the overlap sphere detects obstacles and how to prevent self-collision by disabling and re-enabling the car's collider during raycast checks.
Establish the win condition by detecting the red car entering the goal area via a trigger collider tagged as goal, triggering a win and optional fireworks, with car prefabs.
Design and test solvable unblock puzzles by placing vehicles, backtracking to verify solutions, and iterating level layouts before building a generator for scalable levels.
Generate basic levels for the IQ car unblock puzzle by modeling the playfield as a 2d grid, placing the red car, and storing placements to avoid overlaps.
Create a 2d string playfield for a level generator, using a six by six array, remove the update loop, and implement a start debugger to visualize the grid.
Create a debugging board function that returns a string to visualize the 2d play field, reversing the y axis for correct printing and placing the red car.
Place a randomized red car on the board at y=3 with a two-cell length on the x-axis, using place in board and random placement routines for level generation.
Place two-size and three-size cars in the play field as part of the level generator, by generating random free positions while enforcing boundaries and avoiding the red car.
Use the car length to determine valid unblock placements, switching on two or three lengths, and generate four-direction checks up, down, left, right to build a list of possible positions.
Duplicate case two into case three and rename twos to threes, then add checks for three positions in all directions using x and y offsets of 1 and 2.
Identify and populate valid free positions for level generation by looping through up to four possible places, validating each inside the board, and building the set for random placement.
Loop through all possible car positions and verify each is inside the board boundaries. Check that the playfield spot is empty and return true for a free position, otherwise false.
Select a random valid place from the valid places list and place the car on the board using x, y, and an identifier, looping until a position is found.
Learn to build a configurable string playfield for an unblock puzzle game by creating public void functions to delete, reset, and place red, two-size, and three-size cars.
Configure a Unity level generator to spawn two size and three size cars using an identifiers list, range sliders, and randomized selection, then place and debug the play field.
Print the debug board from the generated playfield after the placement loop, then test two by two, two-sized, and three-sized cars, including upside-down orientations, to explore random level generation.
Set the play field start point at zero, declare car and truck prefab arrays, and instantiate them from the level generator using a world-space reference point to populate the field.
Learn to auto place the red car in a Unity 3D level by creating a red car prefab and instantiating it via prefab utility.
Debug a Unity level generator by fixing null reference and unassigned errors, assign prefabs and play field in the inspector, and ensure single, correctly oriented car placements.
Store generated cars in a dynamic game object list and delete them with destroy immediate. Scan the playfield to place cars using used identifiers and determine their length and direction.
Scan the string area to determine car direction and size around each found letter, randomize the rotation, perform bounds checks, compute rotation, and prepare instantiation for correctly placed 3d cars.
Instantiate random cars and trucks, compute their length while scanning, then position and rotate them before adding to a list and saving the script to test.
Test the level generator by adding and colorizing car and truck prefabs, ensuring all references are assigned. Debug index out of bounds by validating start coordinates and correct prefab indexing.
Create a Unity editor script to control a level generator from the inspector, adding buttons to generate and delete playfields, serialize targets, and update the scene with multiple cars.
Learn to persist generated playfield content in Unity by making the all cars created list public or serialized, and using hide in inspector to keep references between play sessions.
Learn to create, organize, and save levels in the iq car puzzle by setting difficulty thresholds (easy, medium, hard) based on turn counts, testing solvability, and naming and saving levels.
Build a screen-space UI canvas for the IQ Car puzzle game, add a HUD with a hamburger menu, replay button, and timer, and configure anchors and nine-slice panels.
Create a dynamic turn counter in Unity by importing a font, generating a font asset, and applying it to a UI text field with size, color, alignment, and responsive scaling.
Create a Unity game manager singleton to handle win and lose panels, track and display turns using text mesh pro, and expose public methods for game flow.
Implement a game manager to track and display turns, wire turn counting into car movement, and show the win panel when the car reaches its goal.
Create a full-screen win panel as a UI overlay in Unity, with a separate canvas image, semi-transparent background, win text, and a back button, including font and border tweaks.
Activate the win panel when the car hits the target, hide it at start, and reuse the panel for options via a public function in the game manager.
Duplicate the win panel to form an options panel, and wire the hamburger and restart buttons. Use scene management to reload the current level when restarting.
Add a restart button to win panel or options panel, wire it to the game manager's restart level function, and use the eye symbol to manage UI visibility during editing.
Learn to centralize UI and the game manager as a prefab, propagate updates across all scenes, and implement a reusable load scene function to streamline menu navigation.
Discover how to design a level selection in Unity with a grid or scrollable list, showing level name, description, and difficulty, plus a start button to load the chosen level.
Finalize descriptive level objects in unity, create level assets and descriptions, and implement a level management system that uses string scene names to load levels and determine difficulty.
Create a new 3D scene for level layout and a scrollable level panel with a back button, level cards, level name, description, and difficulty text, and a start button.
Create a Unity level holder script that links UI text elements and a button, populates level name, description, and difficulty, and loads the correct scene when the button is pressed.
Create a horizontal scrolling UI grid inside a scroll rect for IQ Car unblock game using content size fitter, horizontal layout group, and layout element; adjust padding and scroll sensitivity.
Create a level loader that uses serialized level data to instantiate level holder prefabs in a level grid, unlocking levels as they are completed.
Create a level loader game object, assemble a level list with the holder prefab and grid, wire start buttons to load levels, and add scenes to build settings.
Mask the scroll rect with a mask component to fix overflow, using a mask image and padding to constrain the grid, adjust layout, and enable clear level selection.
Explore unlocking levels in a Unity game by tracking the current unlocked level, enabling the start button accordingly, and adding hover feedback on UI buttons.
Create a public static save load class with save and load methods to manage the best level, latest level, and current played level, then unlock the next level after completion.
Master a level save and load system that tracks the current level ID and the best completed level. Update the level loader to unlock and load levels accordingly.
Create a start menu for a Unity IQ Car puzzle game, with start, credits, and exit buttons, a title, background, and a vertical layout panel.
Wire UI buttons in Unity to load levels, exit the app, and open a website, while organizing menu scripts, panels, and level ordering for the IQ Car Unblock 3D game.
Learn how to create a WebGL build of a 3D unblock puzzle game in Unity, switch platforms, adjust WebGL build settings, and troubleshoot editor scripts and prefab utilities.
Discover how to run a Unity web build by using a local development server, hosting online, and uploading to web page io, while testing fullscreen and UI behavior.
Create a 3d unblock puzzle game in Unity, implementing 3d models, walls, a red car reaching a goal, ui controls, a level generator, level loader, and a save system.
In this Unity Video Course you will learn how to create your own IQ Car - Unblock Car - Puzzle Game using the Unity Game Engine. For the functionality we write C# Code in Visual Studio or which ever IDE you choose.
This course is a Beginner/Intermediate course, so if you have trouble in any case, write me a message or Q&A, and i'll help as best as i can.
Game Concept
"IQ Car", also know as "Smart Driver" is an old board puzzle game. The goal of the game is to unblock the red car and bring it to the goal area. The game field is a 6x6 area. Other cars and trucks will block the way. All cars and trucks can be moved only forwards or backwards.
Unity (2021.3.3f1 used in this course)
We will create the basic puzzle game mechanics
We will look how to handcraft new levels
We create Menu's UI panels
We create a Level Select Menu and a Level Unlock feature
We use Text Mesh Pro for beautiful font visuals
We create a WebGL build in the end
C#
We will put in functionality with scripts using Visual Studio Code and C# (you can use any other IDE)
Also we create a Level Generator (Intermediate Topic)
We create the game logic and all needed Prefabs
We use Text Mesh Pro for beautiful font visuals
Conclusion
As a result of this course you should be able to create your own levels with different categories to choose.
In the end of this course you will have a fully functional IQ Car - Unblock Car - Puzzle Game
Course Material
1 UI Atlas with different UI-Elements and Buttons
4 3D Models - - Car, Truck, 2 Road Blocks
You have to write the code on your own, i do not provide the final scripts!
The Course Material is for education purposes only, so if you want to release your own game, create your own grafics and 3D Models for that. All Materials i provide are for education only and should not be in your final release!
Challenge
After you have created nice Menus, Buttons, 3D Models, new Levels and maybe additional content, upload the Game to any Gaming Website, Google Playstore, Apple Store or even Windows Store or Steam.
So what are you waiting for?
Let's make your dream game a reality!!
Level: Beginner/Intermediate +
Video Course Length: ~
Unity Version required: 5.6+