
Get started with Unity setup to build a 3D platformer game, join the community for discussion, access a completed project for reference, and follow free weekly tutorials.
Install Unity via Unity Hub, download the latest 3D version, create a new Udemy treaty platformer project, and explore the default layout to start building.
Explore unity's layout by using the scene view, hierarchy, inspector, and project view to place a cube, camera, and light, and understand transforms for position, rotation, and scale.
Import the Unity package to bring assets into the project. Set a fixed 1920 by 1080 resolution in the game view and apply the grass material to a ground plane.
Learn how to add a player in Unity, create a player controller script, and define public move speed and jump force, plus naming conventions and public versus private basics.
Move a player in Unity by reading horizontal and vertical input, updating transform.position with a move direction Vector3 using time.deltaTime and move speed, and prepare for jumping with jump force.
Implement jumping in a Unity 3D platformer by detecting the jump button down and applying a jump force on the y axis, using a character controller for movement and slopes.
Apply gravity and movement to a Unity character controller, using a gravity scale and jump force, delta time, and a stored y value for smooth, snappy jumps on slopes.
Learn to implement a Cinemachine free look camera in Unity to follow the player, look at the head, and tune inversion and orbit settings for a smooth 3D platformer camera.
Learn to rotate the player to face the camera direction in Unity, using the camera’s y-axis rotation and Euler angles, and apply this only when movement input exists.
Save your scene early by using file save as to create a new scene in assets/scenes, naming it test one, so you never lose hours of progress if Unity crashes.
Move the player relative to the camera by mapping forward and right directions to vertical and horizontal inputs, so the character faces the pressed directions as the camera rotates.
Align the player with movement by using look rotation from the move direction and smoothly rotate the child model with quaternion slerp, keeping the y axis fixed.
Normalize the move direction in Unity to keep consistent speed when moving diagonally, preventing speed boosts, and align movement with the camera for realistic motion.
create and connect a unity animator controller, add idle and run states with transitions driven by a speed parameter, and update it from the player controller using movement input.
Add a jump animation in a Unity 3D platformer, prevent infinite jumping with a grounded boolean from character controller, and refine transitions between idle, run, and jump based on speed.
Set up controller support in Unity for a 3D platformer by remapping jump to the A button, enabling left stick movement and right stick camera control via new input axes.
Control mouse visibility with a game manager in Unity, locking the cursor to the center and preventing distraction, using confined and locked modes for stable gameplay.
Learn to create and manage prefabs in Unity, including nested prefabs and level packs, to reuse player, camera, and systems manager across multiple levels with overrides.
To fix gravity in a Unity 3D platformer, set the vertical velocity to zero when grounded, ensuring a smooth fall off edges and preventing rapid snaps to the ground.
Set up a kill zone in Unity with a large is trigger box collider, attach a kill player script, and use on trigger enter to detect the player by tag.
Learn to reset the player with a game manager respawn function triggered by the kill zone, using a public static instance and awake initialization for reliable cross-script access.
Learn to respawn a player using coroutines in unity, storing the spawn position, deactivating and reactivating the player with a timed delay, and smoothing camera behavior.
Create a camera controller with a public static instance, use a cam spawn position on respawn, and disable the center machine brain to prevent camera warp.
Fix a jump animation error on respawn by keeping the player grounded by default, preventing the animator from wrongly triggering the jump when the object is reactivated.
Learn to create a full-screen black UI overlay in Unity to fade the screen after death, using a canvas, image, and a UI manager script to control fade speed.
Build a singleton UI manager in Unity to fade the screen to and from black, using a canvas image and alpha transitions during respawn and level loading.
Implement checkpoints in a Unity 3D platformer by adding a trigger collider, detecting the player, and updating the game manager with a new spawn point via a public method.
Demonstrate activating checkpoints in a Unity 3D platformer by creating on and off checkpoint variants, switching their visibility with a checkpoint script when the player enters a trigger.
Attach a particle system to the checkpoint, set shape to circle, reduce start size to 0.2, and adjust gravity and lifetime to make particles float up and glow yellow.
Implement a Unity checkpoint system by storing all checkpoints in an array, finding them at runtime, and deactivating others whenever one checkpoint activates, with prefab particle effects.
Implement a health system in Unity by creating a health manager singleton that tracks current and max health, applies damage, and resets health on respawn.
Implement knockback on damage by toggling is knocking, counting down knockback length with delta time, and applying knockback power to the character controller while input is disabled.
Add invincibility after taking damage in the health manager using an invincible counter that counts down with delta time. Flash the player by toggling visibility of pieces to signal invulnerability.
Learn to implement a health pickup in a 3D platformer with Unity, using a heart object, trigger collisions, and a health manager to heal or max out the player's health.
Create and customize a death particle effect in Unity using a particle system, render as a mesh, and instantiate a prefab on player death with a destroy over time cleanup.
Apply your Unity scripting and item creation skills by adding a health effect to the heart pickup that floats upward when collected, reusing the same effect approach.
Keep prefabs up to date across levels by updating the player, health manager, and UI canvas, then add them to the level pack for consistent checkpoints.
Display the player's health with a UI text element on the canvas, and update it via a UI manager script whenever health changes in Unity.
Learn to switch health bar images in a Unity UI using a sprite array, a health manager, and a switch statement to reflect health from full to zero.
Learn to implement a coin collection system in a Unity 3D platformer, including UI updates for coin count, coin prefabs with colliders, and a pickup particle effect.
Animate coins in your Unity 3D platformer by creating a coin spin animation, keyframing rotation on the Z-axis, looping via animation playback, and applying overrides to prefabs for consistent spinning.
Learn to implement a Unity sound system by adding background music and sound effects, setting up an audio manager with music arrays, 2D audio, and level-specific music playback.
Switch music tracks in a Unity scene by pressing the M key, stopping all current tracks, then playing the next track from a music array using a for loop.
Learn to set up a Unity audio mixer with a master channel and music and sound effects groups, route audio sources to them, and adjust global and per-source volumes.
Configure sound effects in a Unity 3D platformer by creating an SFX sources group, wiring them to the audio manager, and playing coin sounds on pickup without interrupting others.
Add sound effects to all objects in the 3d platformer, wiring audio to checkpoints, coins, heart pickups, player damage, and death via the relevant scripts; project files are available.
Learn how to create and program your very own 3D Platformer 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 create such game elements as:
Full 3D Character Movement
Animating Characters
State-based Enemy AI
Saving/Loading Progress
Fully-featured Boss Battles
Complete Health System
Collectables
Level Select Over-world
Audio system using Audio Mixer
Multiple Level Mechanics including unlocking doors, retracting spikes, breaking boxes etc.
Unity's Cinemachine Camera system
Start learning today and let me help you become a game developer!