
Get set up in Unity to build a 3D platformer with C#, join the Discord community for feedback, and reference the completed project or YouTube tutorials for further learning.
Learn to implement collisions with a capsule collider and the character controller, moving with Move using input axes and delta time, and compare with rigidbody approaches.
Move the player relative to the camera’s direction by using the camera’s forward vector and horizontal input, zero the y movement, and normalize for consistent speed as the camera rotates.
Learn to implement jump with a jump force and gravity scale in a Unity 3D platformer, using get button down and input mappings, and apply gravity in fixed update.
Learn to make the camera follow the player with a stored offset, using Vector3.Lerp and a move speed for a smooth slide into position and preserved distance.
Clamp the camera’s vertical position to keep it above the water when the player falls, ensuring the camera follows the player without revealing empty space beneath the surface.
Enhance shadows by adjusting the Universal Render Pipeline: limit max shadow distance, enable cascaded shadows for near detail, and balance resolution to maintain performance.
Learn to create a kill zone that respawns the player upon entering water, using a trigger collider and the character controller to move to a position above ground via vector3.up.
Implement robust respawning with Unity coroutines by delegating death handling to a singleton level manager, introducing a delayed respawn after death.
Explore implementing a fade to black using a Unity UI canvas and image, controlled by a UI controller script that fades on death and respawn, with alpha transitions using moveTowards.
Use Unity's animation system to create idle, activating, active, and deactivating states for the checkpoint sign with scale and rotation, controlled by an active boolean parameter.
Learn to manage multiple checkpoints in Unity by finding checkpoints, storing them in an array, and using a for each loop to deactivate others and activate the current one.
Set up spikes as a trigger collider to damage the player, and implement a player health controller with a singleton instance and a public damage player method.
Implement a health system that tracks current and max health, initializes and refills on respawn, applies damage by decrementing health, and signals the level manager when health reaches zero.
Add a level timer to the user interface and wire it to a level manager to count elapsed seconds using delta time, updating the time text with proper string formatting.
Learn to enhance coin collection in a 3d platformer by adding a spinning coin animation, optional hovering, and a particle pickup effect that spawns on collect and self-destructs.
Create and place an enemy in Unity, set up patrol points, and program the enemy to move between points, chase the player, and interact by dealing and taking damage.
Learn how to make a Unity 3D platformer enemy move with a C# enemy controller, using patrol points, a rigidbody, and gravity-aware movement.
Implement smoke trails for the enemy by adding a particle system, tuning sphere particles, materials, and lifetime to create continuous, world-space trails that integrate the robot into the game world.
Learn to implement enemy behavior with states using a public enum (idle, patrolling, chasing, returning), switch logic, and random wait times to create dynamic patrols.
Implement enemy chase behavior by detecting when the player is within chase distance, move toward the player at chase speed, and use lose distance and wait-before-returning to resume patrolling.
Define enemy damage by using on collision enter and stay with the player tag, call the health controller, pause movement briefly, and spin a buzz saw blade for damage feedback.
Enable the player to damage enemies by landing on their heads, triggering a timed death with squash animation and death particles, and add a bounce when the player jumps.
Reset Unity time scale before loading a new scene to prevent freezes when pausing and navigating menus and levels.
Create a Unity main menu with a canvas and text mesh pro title, buttons for continue, new game, and quit, load the first level, and reset player data.
Enhance the main menu with a water prefab and level bits to form island scene; add a grass plane and adjust the camera and horizon gradient for a vibrant sky.
Learn how to create and program your very own 3D Platformer game using Unity, an industry-standard game development program used by 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:
Full 3D Character Movement
Animating Characters
State-based Enemy AI
Fully-featured Boss Battles
Complete Health System
Interactive Menus
Collectables
Level Select Over-world
Game Progression & Storing Your Progress
The course also includes a downloadable, 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 Unity game developer and make something awesome!