
Learn how to get the most from the course as you explore the movement and platforming features you'll build.
The mindset to have to get the most value out of this course.
Learn how to give your project a clean starting point and set the scene for the work ahead.
Learn how to create your player and set up the view that puts you in their shoes.
Learn how to turn keyboard and mouse input into the controls that will drive your player.
Learn how to take your first steps through the level, moving in the direction you're facing.
Learn how to look freely around the level and adjust the camera's sensitivity to find a comfortable feel.
Learn how to soften starts and stops so movement feels smooth while staying responsive.
Learn how to keep the mouse focused on looking around during play, then free it when it's time to use a menu.
Learn how to bring your player back to earth and give falling a feel you can adjust.
Learn how to get your player jumping and choose a jump height that suits your platforms.
Learn how to give players a little room for late jumps, making platforming feel fairer at the edges.
Learn how to recognize the moment a jump ends, setting the stage for landing sounds, camera motion, and the next leap.
Learn how to give players a second jump in midair, opening up new routes and a chance to recover from a mistimed leap.
Learn how to tell when solid ground is beneath the player, helping jumps and landings behave more consistently.
Learn how to bring the player back to safety after a fall so they can try the jump again.
Learn how to put player controls on hold when needed, giving menus and recovery moments room to work.
Learn how to make the return from a fall feel smoother and help the player understand what's happening.
Learn how to give players a moment to pause, with a simple menu and buttons that respond to their touch.
Learn how to make starting over and leaving the game simple, so testing another run is only a click away.
Learn how to give jumps and landings their own sound and use ambient audio to give the level a sense of place.
Learn how to give movement a rhythm with varied footsteps and make the return from a fall easier to recognize through sound.
Learn how to bring camera effects together so they complement each other as you move and look around.
Learn how to give landings a sense of impact, with a camera response that reflects the strength of the fall.
Learn how to add a gentle rhythm to walking and balance head bobbing with a steadier view.
Learn how to send players higher with jump pads and open up fresh possibilities for your platforming route.
Learn how to give players something worth reaching for, with collectibles that reward a detour or a well-placed jump.
Learn how to turn collected items into visible progress, letting players watch their score grow as they explore.
Learn how to bring the challenge together, giving each run a clear beginning and end.
Learn how to set the pace with a countdown that gives players a moment to get ready before the challenge begins.
Learn how to persist our classes and make sure their state is valid when we switch to another scene.
Learn how display the challenge timer on screen, but only when we're in challenge mode.
Let's fix various issues in the project, especially features that are going to make a difference from the player's point of view.
Learn how to turn your Unity project into a game you can launch on its own and check that the experience holds up outside the editor.
This course is a gentle introduction to creating a polished first-person game in Unity.
This is the result of years of trial and error trying to perfect the formula of a modular first-person controller, this is the 4th course that I released or worked on in my instructor career about such a topic, with 3 serious attempts at making a commercial FPS game in Unity that ultimately failed, but I learned a lot of lessons from each of these experiences, and in these lectures I'm giving you the culmination of all that work for you to start on a solid foundation in your own projects.
This course is intended for developers who are past the beginner stage. I need you to be familiar not only with C# and Unity but with some intermediate-level concepts like actions and delegates, scene management, and some common design patterns. I will not spend any time explaining the basics of programming or using Unity, if you still struggle with this, I have a complete beginner course all about the basics, and you're free to take any beginner course you like and come back to this one at a later time.
We'll ask and answer a lot of interesting questions regarding first-person mechanics:
Why does one movement setting feel responsive while another feels awkward?
What makes a jump forgiving without removing the challenge?
How to add headbobbing without inducing motion sickness in the player?
How to recover the player to their last safe position when they fall into a pit instead of forcing them to restart the whole level? (Ok we don't have bottomless pits in the game, it's just water and somehow it can kill you, maybe we're on an alien planet so it's alien water made of silicon, I didn't think this through tbh)
We'll discover how to mix different camera motions and add various kinds of feedback like sound effects and connect them to the player's actions.
We'll bring a lot of systems together to create a nice platforming experience, where the goal is to collect some coins scattered around the level before a timer runs out.
Did I also mention jump pads? Yes we'll make jump pads. Boiinnnnng!
Thank you for checking out the course, I'd love for you to join us.
By the end of the lectures, you'll have a solid and modular first-person controller, you'll have made a few levels with platforming challenges that are connected together, and you'll be in a much better position to take on more advanced game projects that would have been too hard for you as an intermediate-level Unity developer.
I did my best to keep the duration of this course as short as possible, right now it sits just shy of 7 hours, and I designed it to be a quick win for you. If you need any help, I'm always available to answer any question you have in the q&a section, don't hesitate to reach out.