We may earn an affiliate commission when you visit our partners.
Greg Wondra

In this game design course, I will be guiding you step by step through the creation of a side scrolling platformer game (akin to the classic "Mario" games) using Unreal Engine:  THE premier free to download gaming engine.   (AND the SAME engine used to build the smash hit "Fortnite.")

This course contains over 100+ fun to follow video lessons (follow along in sequence).  Things learned in this course include:

Read more

In this game design course, I will be guiding you step by step through the creation of a side scrolling platformer game (akin to the classic "Mario" games) using Unreal Engine:  THE premier free to download gaming engine.   (AND the SAME engine used to build the smash hit "Fortnite.")

This course contains over 100+ fun to follow video lessons (follow along in sequence).  Things learned in this course include:

  • How to setup and create a project in Unreal Engine

  • How to construct a 2D level using 3D objects

  • How to setup a side scrolling camera

  • How to setup a character's movement mechanics

  • How to create interactive objects using Blueprint Scripting

  • How to create powerups and special player abilities

  • How to implement simple enemy AI

  • How to create a checkpoint system

  • How to respawn a player

  • How to create a working HUD

  • How to create interactive menus

  • How to create a dynamic way of implementing "Level Settings" (making things like customizing music and time limits per level a cinch. )

  • How to architecture a gaming project inside Unreal's Project Settings

With the knowledge gained in these video lessons, you will be armed with the necessary skills to start building your OWN gaming creations (WITHOUT any programming knowledge needed. )

When finished with the course, please send me photos or videos of what YOU have been able to build and I'll share them with the community in future emails. 

Enroll now

What's inside

Learning objectives

  • How to setup a project in unreal
  • How to create and layout a sidescroller level in unreal
  • How to script interactive gameplay elements utilizing unreal engine 5's blueprint scripting tools
  • How to add menus and in-game hud to a gaming experience
  • How to create a complete gaming experience from scratch

Syllabus

In this video, students will gain an understanding of what this course will teach, who the intended audience is, and what the expected final result will be.
Read more

In this promo video you'll get a sneak peak as to the the kinds of things you'll learn and the project you'll make.

In this series of videos, students will learn how to setup their project, structure their project asset folders, and import necessary assets this course will use.

In this video we'll walk through the creation of a project (using the 3rd Person template) in Unreal Engine.


Additionally, download the materials made available here as they'll be used throughout the course!

In this video we'll create a brand new level asset.  While plain to start with, this will be the level we'll begin to flesh out throughout this course. 

In this series of videos you'll learn how (and where) to go to tweak key player character metrics such as jumping and turning.

In this video we'll adjust some parameters for the "Spring Arm" component (named "Camera Boom") inside of our 3rd Person Character blueprint in order to create a side view type of camera that'll track our player as it moves about the level.

In this video we'll create some variables and script inside of our 3rd Person Character blueprint to allow you, the designer, to customize the side scroller camera's position and lag to your liking.

In this video we'll set our player character's default movement attributes.

In this video we'll setup our character's jumping attributes.  It's critical we get this set properly NOW because our level layout (jump heights, etc.) is dependent on this character metric!

In this video we'll setup and trigger a sound effect (SFX) and visual effect (VFX) when our player character jumps.

Let's review!

In this series of videos you'll learn how (and where) to go to setup a couple helpful 2D setting within our Project to make object placement MUCH easier down the road..

In this video we'll enable 2D Snap Layers within our Project Settings.  This will enable us to place blocks, platforms and various props into our level at predetermined "depths" making laying out our side scrolling level MUCH easier.

In this video we'll enable the combined 2D translation / rotation widget within our Project Settings.  Like the previous lesson, doing this will save us time down the road in fine tuning the placement and rotation of objects as we build out our level in the near future. 

In this series of videos, we'll create a variety of platforms using blueprints.

In this video we'll create a simple platform our player can jump up or fall down through.  All of this will be done using Unreal Engine's Blueprint Scripting. 

Part #2 of our Jump Through Platform focuses on the scripting aspect of our platform.

In this video we'll extend the functionality of our "Jump Through" platform by using that Blueprint as a "Parent" we'll inherit functionality from!  We'll then modify this "Child" blueprint by adding script to make this particular platform move in whatever direction and time frame we wish. 

In this video we'll utilize the Construction Script within a Blueprint to give us all kinds of in-editor customization when building out a platform that'll "launch" our player character whenever they come into contact with it. 

Part #2 of our Launch Platform focuses on the "launch" script of the platform as well as an animation to accompany it.

Coin Pickup

In this video we'll create our Coin Pickup Blueprint as well as get the core components of it in place before we focus on scripting any functionality.

In this video we'll add script to our Coin Pickup Blueprint that play sound and visual effects before destroying it upon pickup.

Player Controller

In this video we'll create script to tally up your collected coins.

In this series of videos, students will learn how to create a hazard capable of damaging our player.

In this video we'll be create a Fire Bar Hazard Blueprint and script the functionality to make it highly designer friendly (customizable) by using the Construction Script. 

In this video we'll create script inside of our Player Character Blueprint that'll adjust our character's hit points (accompanied by sound and visual) when their hit point variable increments or decrements.

In this series of videos, students will learn how to create a HUD (Heads-Up Display), get it showing on the screen, and how to bind it to relevant game variables (like lives, score, coins, etc.)

In this video we'll create our HUD (Heads-Up Display) layout.

In this video we'll make our HUD appear on the screen while we're playing.

In this video we'll bind variables to the text widgets inside of our HUD in order for the text values to update during gameplay.

In this series of videos, students will learn how to create a Blueprint Function Library and Blueprint Interface. These will be foundational assets needed for all the blocks to come!

In this video we'll create a Blueprint Function Library asset and then create a function inside of it that we'll be able to reference from any "block" asset we create down the road.  A Blueprint Function Library is a collection of functions you custom create that can be called from inside of any blueprint. 

In this video we'll create a Blueprint Interface asset.  Inside of this, we'll create a named function.  When a Blueprint Interface is added to other blueprints, the function(s) inside of this asset may be called and customized (have specific functionality created) to cater for the specific needs of the blueprint they're called within.

In this series of videos, students will learn how to create a Widget Blueprint that'll be used to display point totals when various blocks are interacted with.

In this video we'll create a Widget Blueprint asset.  This one will eventually be spawned into the game when we interact with things (like blocks) and will display a point value.

In this video we'll create a Widget Blueprint Animation.  This will cause our points display, when spawned, to do so in an eye catching manner through moving and scaling our points widget over time. 

In this video we'll create an Actor Class Blueprint that'll have a Widget Component inside of it.  This will be the actual actor we spawn into the game when an interaction (like hitting a block) occurs.  And this, in turn, will make our Point Display Widget Blueprint appear within the game.

Add Points Function
In this series of videos, students will learn how to create a base block that'll contain common block components and script. We'll then use that base as a template to build other block variations.

In this video we'll create our "Base" block blueprint.  This block will contain the base variables and functionality that all other blocks will inherit from going forward!

In this video we'll create a "child" block from our "base" (parent) block. While inheriting the core functionality of the "base" (parent) block, this block will contain script specific to it that'll cause it to break upon being hit. 

In this video we'll create an Actor Class Blueprint of a coin that we'd like to spawn in when we interact with certain blocks.

In this video we'll create a block that'll yield a coin (and the block will break apart) when a player interacts with it.

In this video we'll create a block that'll yield a coin (but the block will NOT break) when a player interacts with it. 

In this video we'll create a block that is invisible and yield a coin if a player happens to interact with it. 

In this video we'll create a block that can be interacted with numerous times to yield multiple coins.

In this series of videos, students will learn how to create a Fire Flower power-up that'll transform the player character and give them the ability to shoot fireballs.

In this video we'll create a block that spawns a Fire Flower out of it when hit from below.

In this video we'll add script allowing our player to "collect" the Fire Flower and earn points.

In this video we'll create the script that'll make our player grow in size and gain a hit point.

In this video we'll create the Fireball itself that we'll eventually enable our player to shoot.

In this video we'll make it so our character can shoot fireballs upon getting flower power.

In this video we'll take our fireball script to the next level by implementing rules about how it behaves once spawned into the game. 

In this series of videos, students will learn how to create a P-Block capable of turning other blocks into coins for a set amount of time.

In this video we'll add components and functions inside of  BP_Block_Base that'll be critical for our P-Block functionality to work within blocks that inherit from it (are "children" of BP_Block_Base).

In this video we'll add a tag and set a “Child Actor Class” within blocks we’d like to have turned into coins when our P-Block is active.

In this video we'll create a Camera Shake blueprint that can be played when we interact with our P-Block.

In this video we'll create a Force Feedback (controller shake) asset that we can call (play) the moment we stomp on our P-Block.  This will cause a hooked up controller to rumble.

In this video we'll ensure our necessary audio and texture assets have been imported into Unreal. We’ll then use the imported textures to create some material assets that’ll be needed for our P-Block system.

In this video we'll create our P-Block Blueprint and ensure it has all the necessary components.

In this video we'll add variables and create the script needed to turn tagged blocks into coins (for a limited time!) when our P-Block is stomped on.

P-Block Script (Part #2)

In this video we'll clean up a few bugs with our P-Block system.

Specifically we'll fix up:

  1. Our P-Block coin collision volume sizes (making it smaller)

  2. Our P-Block music playing the right music and ensuring it always stops

In this video we'll clean up several other bugs identified with our P-Block system.

Specifically we'll fix up:

  1. Our "Breakable" block is actually breakable ONLY when our playable character is big.

  2. Our "Base" block having the "Coin" (Child Actor) component ATTACHED to our "Cube" component.

  3. Our "Base" block having the "Coin" (Child Actor) component NOT visible by default


In this video we'll clean up another bug identified with our P-Block system.

Specifically we'll fix up:

  1. The Player Character being able to drop down through the top of an Invisible Block (accidentally destroying it) and thus not being able to interact with it again.

In this series of videos, students will learn how to create a Goomba Enemy

In this video we'll create our Goomba Blueprint and ensure it has all the necessary components.

In this video we'll add script to give our Goomba the ability to damage the player. 

In this video we'll add script to give our player the ability to destroy a Goomba by jumping atop it.

In this video we'll add script to give our player the ability to destroy a Goomba by shooting it with a fireball.

In this video we'll add script to make a Goomba patrol.

Goomba Patroller (Part #2)

In this video we'll add script to make a Gooba seek the player (when in range).

In this series of videos, students will learn how to create a highly customizable Warp Pipe Blueprint.

In this video we'll create a Warp Pipe Blueprint and add the necessary components.

In this video we'll create script inside the Construction Script of our Warp Pipe Blueprint to give you, the designer, a lot of customization options.

In this video we'll create the input setup needed to make our Warp Pipe interactions work as intended. 

In this video we'll create our initial pipe interaction script.

In this video we'll create a Timeline and add script that'll make our player move INTO a pipe.

In this video we'll add script for transitioning a player OUT OF a pipe after they've warped to a new location.

In this video we'll learn how to place and work with these Warp Pipe Blueprints in our level in order to get the player warping to the intended location.

In this series of videos, students will learn how to create a Checkpoint Blueprint that'll save a player's location for them to respawn at if they die.

In this video we'll talk about the use of the Game Mode Blueprint within our upcoming checkpoint system.

In this video we'll create our Checkpoint Blueprint and add the necessary components.

In this video we'll create script that'll animate our Checkpoint flag up as well as set a Respawn locale for our player.

In this video we'll create the respawn script inside of our Game Mode Blueprint (to respawn the player at our checkpoint location)

In this series of videos, students will learn how to create a player "Death Sequence" as well as how to have the player's death event notify and apply to other assets in our game.

In this video we'll setup the initial Events, Functions, and Script to begin our "Player Death" sequence.

In this video we'll create the Timeline and finish off our scripts to complete our "Player Death" sequence.

In this video we'll make it so that any blocks turned into coins (affected by the P-Block) turn back into their normal "block" state (no longer revealing a coin) when our player has died.

In this video we'll add script to ensure the number of player lives is accurately reflected in the HUD when our playable character dies.

In this video we'll create an Instant Death Hazard which will tie into our Player Death Sequence and Player Lives system.  This blueprint will be great to place over visually dangerous areas such as pools of lava, spikes, or bottomless pits. 

In this series of videos, students will learn how to create a Level Complete Flag Pole Blueprint. When finished, their player will be able to ride down the pole upon interacting with it.

In this video we'll create the Flag Pole Blueprint itself and populate it with just the relevant components.

In this video we'll begin to create our Flag Pole functionality. To start, we create the necessary variables and add the script needed to detect where our player overlaps the flag pole trigger volume.

In this video we'll add script setting our player's starting position when crossing the flag pole trigger volume.

In this video we'll add script making our player and flag move down the flag pole upon our player crossing the flag pole trigger volume.

Save this course

Save Unreal Engine 5: Making Mario to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Unreal Engine 5: Making Mario with these activities:
Review Blueprint Scripting Fundamentals
Review the fundamentals of Blueprint scripting in Unreal Engine to better understand the course's interactive gameplay elements.
Browse courses on Blueprint Scripting
Show steps
  • Review the basics of variables, functions, and event graphs in Blueprints.
  • Practice creating simple interactions using Blueprint nodes.
  • Study examples of common Blueprint scripting patterns.
Read 'Blueprints Visual Scripting for Unreal Engine' by Marcos Romero
Read this book to gain a deeper understanding of Blueprint scripting and its applications in game development.
Show steps
  • Read the introductory chapters to understand the basics of Blueprints.
  • Follow the examples and exercises to practice using different Blueprint nodes.
  • Refer to the book when encountering difficulties with Blueprint scripting in the course.
Create a Simple Platformer Level
Start a small project to apply the concepts learned in the course and experiment with different level design techniques.
Show steps
  • Design a basic level layout with platforms, obstacles, and a goal.
  • Implement player movement and jumping mechanics.
  • Add interactive elements such as coins or enemies.
  • Test and refine the level to ensure a fun and challenging experience.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Document Your Level Design Process
Create a blog post or video tutorial documenting your level design process, sharing insights and tips with other learners.
Show steps
  • Record your screen while designing the level.
  • Explain your design choices and the challenges you faced.
  • Share your content on online forums or social media.
Recreate Classic Mario Levels
Practice level design and scripting by recreating classic Mario levels in Unreal Engine.
Show steps
  • Choose a classic Mario level to recreate.
  • Analyze the level layout and identify key elements.
  • Recreate the level using Unreal Engine's tools and Blueprints.
  • Compare your recreation to the original and identify areas for improvement.
Read 'The Art of Level Design' by Rus Shadd
Read this book to learn about the principles of level design and how to create engaging game environments.
Show steps
  • Read the chapters on gameplay and level flow.
  • Study the examples of successful level designs.
  • Apply the principles learned to your own level design projects.
Portfolio: Showcase Your Mario-Style Game
Create a portfolio showcasing your Mario-style game, including screenshots, videos, and a description of your design process.
Show steps
  • Capture high-quality screenshots and videos of your game.
  • Write a detailed description of your design goals and challenges.
  • Organize your portfolio in a visually appealing format.
  • Share your portfolio on online platforms such as ArtStation or personal website.

Career center

Learners who complete Unreal Engine 5: Making Mario will develop knowledge and skills that may be useful to these careers:
Game Designer
A game designer is responsible for creating the vision, rules, and gameplay of a video game. This course provides a practical introduction to game development using Unreal Engine 5, equipping aspiring designers with the skills to prototype and implement game mechanics. Learning to construct levels, set up character movement, and script interactive objects using Blueprint scripting helps build a foundation for designing engaging and playable game experiences. The course's focus on creating a side-scrolling platformer like Mario helps game designers understand level design principles, player controls, and essential gameplay elements. Creating powerups, implementing simple enemy artificial intelligence, and creating interactive menus, among other things taught in this course, serve as a strong first-step in creating a professional portfolio.
Level Designer
Level designers are responsible for creating the environments and layouts in video games. If you want to be a level designer, this course may be especially helpful as it covers in detail how to construct a 2D level using 3D objects within Unreal Engine 5, which is the same engine used to build smash hits like Fortnite. The course guides you through the process of setting up a side-scrolling camera, placing blocks and platforms, and designing interactive elements, all of which are essential skills for a level designer. The course's project-based approach, focused on creating a Mario-like platformer, provides practical experience in level design principles and techniques. Students should be able to adjust camera parameters and create moving, launching, and other specialized platforms. Through this course, level designers may come to understand how create hazard elements.
Unreal Engine Developer
An Unreal Engine developer uses Unreal Engine to create video games and other interactive experiences. Given that this course focuses exclusively on Unreal Engine 5, the premier gaming engine, it may be useful for learners who are interested in entering this field. This course focuses on how to setup and create a project, how to create powerups and special player abilities, how to implement simple enemy artificial intelligence, and more. With the knowledge gained in these video lessons, developers may become armed with the necessary skills to start building their own gaming creations. This course may be helpful for understanding how blueprint scripting works.
Indie Game Developer
An indie game developer works independently or in a small team to create and publish video games. For one who wishes to enter this field, this course may prove to be particularly useful because it starts from scratch and creates a complete gaming experience from the ground up. This course helps learners with setting up and creating a project in Unreal Engine, constructing a two dimensional level using three dimensional objects, and setting up a character's movement mechanics. Moreover, the course teaches learners how to create checkpoints, respawn players, and create functional heads up displays, thus providing the basic skills that one needs to make an independent game.
Gameplay Programmer
As a gameplay programmer, you will be responsible for implementing the rules and mechanics of a video game. This course helps gameplay programmers create interactive objects using Blueprint scripting in Unreal Engine 5, implement simple enemy artificial intelligence, and create powerups and special player abilities. The course provides a foundation for programming core gameplay elements and mechanics without needing to understand the underlying programming language. Completing the course, gameplay programmers may be more prepared to translate design ideas into functional game systems.
Technical Artist
A technical artist bridges the gap between artists and programmers, ensuring that art assets function correctly within a game engine. The course helps technical artists learn how to set up projects in Unreal Engine, construct levels, and create interactive objects using Blueprint scripting. A technical artist might want to take this particular course because it teaches not only how to set up a side scrolling camera, but it also teaches how to create special player abilities and implement simple enemy artificial intelligence. The course also provides insights into optimizing art assets and integrating them into a game environment.
Virtual Reality Developer
A virtual reality developer creates immersive experiences using VR technology. This course may be useful as it provides a foundation in Unreal Engine 5, a popular engine for VR development. Though the course focuses on a 2D platformer, the skills learned in setting up projects, scripting interactions, and creating user interfaces are transferable to VR development. A virtual reality developer would be well-served to examine the course materials on setting up a side scrolling camera, creating interactive menus, and blueprint scripting.
Augmented Reality Developer
An augmented reality developer creates interactive experiences that blend the digital and physical worlds. This course may be useful for augmented reality developers as it teaches the foundations of Unreal Engine 5, which can be used as an engine for augmented reality creation. The course teaches blueprint scripting, a helpful skill for augmented reality developers working on creating user interfaces or menus. Augmented reality developers might want to take this particular course to better understand the basics of Unreal and learn how to implement interactive objects in 3D space.
Simulation Developer
A simulation developer creates realistic simulations for training, education, or research. This course may be useful as it provides a foundation in Unreal Engine 5, a powerful engine for creating interactive simulations. A simulation developer would be well-served to understand how to create a checkpoint system, respawn a player, and implement simple enemy artificial intelligence. Simulation developers may also find it helpful to learn how to set up a character's movement mechanics in this course.
Serious Game Developer
A serious game developer creates games for purposes beyond entertainment, such as education, training, or healthcare. While this course focuses on creating a Mario-like platformer, the fundamental principles of game design and development taught in the course may be useful for serious game development. Those interested in becoming a serious game developer may find it useful to understand and implement simple enemy artificial intelligence, create powerups and special player abilities, and create interactive menus.
Multimedia Artist
A multimedia artist creates art with using a variety of mediums, including animation and visual effects. These artists might want to take this course because they may seek to understand how to trigger a sound effect (SFX) and visual effect (VFX) when our player character jumps. Moreover, multimedia artists may be interested to learn how to create a widget blueprint animation to scale widgets over time. This course may be useful for those who wish to grow as multimedia artists and apply video game effects and interfaces to their art.
Animator
Animators create moving images and visual effects for various media, including video games, film, and television. While this course may not be directly focused on animation techniques, it may be valuable for animators looking to expand their skill set and understand how animations are implemented in a game engine like Unreal Engine 5. Animators may also wish to understand how to set up a character's movement mechanics, create powerups and special player abilities, and implement simple enemy artificial intelligence.
Software Engineer
Software engineers design, develop, and test software applications. This course may be useful for software engineers interested in learning about game development, as it provides a practical introduction to Unreal Engine 5 and Blueprint scripting. The course teaches learners how to set up a project in unreal and how to customize music and time limits per level. Software engineers might also want to examine information on creating a checkpoint system and respawning a player.
Web Developer
Web developers create and maintain websites and web applications. While this course might seem unrelated to web development, the skills learned in project setup, asset management, and user interface design may be transferable to web development projects. Web developers may wish to study information on the implementation of simple enemy artificial intelligence and how to script interactive gameplay elements utilizing unreal engine five blueprint scripting tools. In this way, web developers might be able to expand their skills.
Mobile App Developer
Mobile app developers create applications for smartphones and tablets. Even though this course focuses on video game development, it may be useful for mobile app developers interested in learning about user interface design and interactive elements. Mobile app developers may find it useful to examine the course's lessons on creating widgets. They also may find it helpful to learn about setting up a project in Unreal Engine, which can be used to learn how to set up other projects more generally.

Reading list

We've selected two books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Unreal Engine 5: Making Mario.
Provides a comprehensive guide to using Blueprints in Unreal Engine. It covers a wide range of topics, from basic concepts to advanced techniques. It is particularly useful for those who are new to visual scripting and want to learn how to create interactive gameplay elements without writing code. This book can be used as a reference throughout the course.
Explores the principles of level design, covering topics such as gameplay, storytelling, and visual design. It provides valuable insights into creating engaging and immersive game environments. While not specific to Unreal Engine, the principles discussed are applicable to any game engine. This book is more valuable as additional reading to improve level design skills.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser