
Download the Unity personal edition and install it, then review the license. Enable core components and platform modules (Android, iOS, WebGL) to begin building your 3D portals clone.
Open the Unity editor to create a 3D project, organize assets in a project folder, and explore the scene window and inspector. Learn about game objects, transforms, cameras, and scenes.
Learn to create a simple hello world script in Unity using C#, extend MonoBehaviour, attach it as a component, and view the debug message in the console.
Declare and use variables in Unity, including public strings and numbers, assign values, and print results with Debug.Log; understand concatenation, order of operations, and parentheses.
Learn to organize Unity C# scripts by defining private void methods, using parameters and return values, and calling them from start to print messages and sum numbers.
Explore for loop and while loop usage in Unity by counting iterations, printing debug log messages, and avoiding infinite loops, with examples using incrementing numbers and random range logic.
Learn to move a cube in Unity using the transform component, local and world positions, and time-based updates with delta time and vector3 operations.
Import Unity standard assets and enable the first person controller to walk, jump, and look around. Build a simple floor and walls and keep a single camera.
Activate physics by adding a rigid body to the cube and experiment with mass, gravity, and collisions. Save the scene and prepare for dragging cubes in the portal game.
Learn to implement a first-person controller in Unity, handle mouse clicks with GetMouseButton and GetMouseButtonDown, and enable portal interactions near objects.
perform a raycast from the player's position in the forward direction to detect hits when clicking, printing the hit object's name and using a 1.5 unit grabbing distance.
Create a Unity C# script to enable grabbing by defining a box class that extends MonoBehaviour, adding a grabble object component, and using GetComponent<GrabObject>() with testing via drag-and-drop and play.
Learn to grab and move a box in Unity by tracking the chosen object with a private grabble object, holding it at a fixed distance, and toggling gravity on release.
Implement hold and release mechanics in Unity. Use the camera forward direction for grabbing objects and apply the throw force through the rigid body, while managing colliders and prefabs.
Design a simple 3D button in Unity by creating an empty button object, a cylinder base, a separate model for animation, adjusting colliders, and applying a red material for visibility.
Create a pressure button in Unity with a trigger collider and a C# script, using OnTriggerStay to detect overlaps and print colliding objects for debugging, then open doors.
Attach a capsule collider to the player, enable trigger, and use get component checks to detect the player or a held object pressing a button in Unity.
Learn to implement responsive button animation in Unity for a 3D portals clone, moving the button on press with Vector3 target positions, lerp and Time.deltaTime, including color change.
Learn to change a Unity button's color by toggling its material on press and unpress, using get component in children to access the renderer and switch between green and red.
Design a simple door for a 3D portals clone in Unity and Blender. Duplicate and resize walls, apply door and column materials, and add lighting.
Create a Unity door that responds to a trigger button, moves toward an open position with lerp, and uses local positioning for consistent movement.
Discover how to connect a pressure button to a door in Unity by wiring a trigger object, updating the button color on press, and triggering the door to open.
Build a 3D portals clone by creating prefabs for a door, pressure button, and orb; implement a trigger-based collectible that teleports the player to the next level in Unity.
Define portal areas on walls using box colliders and trigger colliders in Unity, create a portal area prefab with a C# script, and test basic functionality while preventing wall clipping.
Use a physics recast to identify the hit point on a surface the player looks at, then spawn portals at that point while preventing portal creation during object interaction.
Learn to spawn portals in Unity by creating a portal prefab, assigning materials, and instantiating at hit points, while managing two portals with a list and swapping between them.
Learn how normals guide portal placement in a Unity-based 3D Portal clone, using hit points and surface normals to orient portals on walls and ceilings, and implement teleporting logic.
Enter portals and teleport to the paired exit portal, using trigger colliders and on trigger enter, with an offset forward to prevent reentry and exit facing the correct direction.
Adjust teleportation logic in Unity by copying portal rotation to the first person controller, using a copy rotation method and quaternion operations to align camera orientation on exit.
Learn to render portals in Unity by creating two render textures, wiring a camera inside each portal, and swapping textures at runtime to display real-time views between portals.
Design a responsive Unity game interface with a canvas, instruction and time text, and a portal crosshair, plus anchors for multiple aspect ratios and a start-to-end flow.
Create a main menu for a 3d portals clone in Unity, featuring a UI canvas, title and instructions, and a play button that loads game scene via a scene controller.
Rename level 1, update lighting, and save; duplicate the scene for level 2. Convert the player to a prefab for consistent behavior while refining level design with a button and door.
Finish level 2 by updating portal placement to use the camera position, not the player, then extend the puzzle with a strong wall and stacked boxes to reach the orb.
Use a singleton level manager in Unity to control level flow, load the first level, and advance levels with a maximum level check, using a timer for end-of-level transitions.
Learn Blender basics, from navigation and camera controls to object manipulation, edit mode, and essential tools like extrude, loop cut, and the mirror modifier.
Model a portal gun in Blender by forming the handle, applying a mirror modifier, extruding to create the barrel and monitor, adding stabilizers with bevels and edge loops.
Unwrap and texture a gun model in Blender by setting seams, marking them, and adjusting UVs for clean, proportional texturing.
Color and texture a portal gun base with metallic gray, turquoise energy lights, black accents, and a red button, then export UVs and prep textures in Photoshop.
Export the portal gun UV maps at 2048 by 2048, adjust opacity, and save over the old texture; save a second UV named UV 00202 before moving to Photoshop.
Texture a portal gun in Photoshop by building diffuse layers, applying brushed steel and rusted metal textures, duplicating and transforming pieces, and adjusting colors with overlay and multiply.
Apply metal textures and welding textures to gun sections, adjust lighting and brightness, and export iterations to see how brushed steel looks in Unity and Blender.
In this course, you learn how to build a game using portals with Unity® and Blender. This course is unique because we make both the code and the art for the game from scratch. We teach you the fundamentals of designing, coding, and modeling a 3D game. ⭐ ⭐ ⭐ ⭐ ⭐
First you design the game and its functionality in Unity®. You learn how to code in C# and build video game levels. Don't worry if you've never coded before. We start simple and add more to the game as the course goes on.
Why Unity®?
Unity® is one of the most popular platforms in game development. You can use Unity® to build 2D and 3D games. Unity® is cross-platform, which means it is easy to use with other platforms.
Then you create the 3D models for the game in Blender. You build all the art assets for the game. You learn how to integrate your art from Blender into Unity®.
Why Blender?
Blender, like Unity®, is a popular production suite that is free to download. Blender is a revolutionary tool for making 3D art digitally. With Blender, you can make art assets for games, like we do in this course.
Even if you're not an artist, you can make basic art models. You may have heard of Axiom Verge and Stardew Valley. These games are million-dollar successes. But did you know that only one person made each?
Usually it takes a whole team of people to build a game. But creators Thomas Happ and Eric Barone developed and designed their games by themselves. Now they're millionaires. You can do it, too.
Let's get started!