Unreal Engine provides users with the professional-grade tools to bring their game ideas to life. Once you have made decisions about what types of gameplay you want, it’s time to start building the play spaces and environments that will define the visual world of your game.
Game and Level Design is about designing experiences that challenge players while still providing a fun and engaging world that supports those experiences. While the Code a First-Person Adventure Game tutorial focuses on using C++ to create gameplay, you can create many of the same elements using the Blueprint Scripting language. Blueprints provide non-programmers with a flexible scripting language that can be used to create gameplay, scripted events, and interactable elements. Unreal Engine provides the ability to create games using Blueprints, C++, or a mix of both.
This tutorial series takes you through the design process of building a level and several puzzles using blueprints to create a completely playable gameplay experience. You will learn how to create gameplay using Blueprints, as well as how to use and reuse gameplay elements to prototype a level using a process called grayboxing.
Designer Track Overview
Throughout this tutorial, you will build an adventure puzzle game with multiple rooms, showcasing different kinds of mechanics.
Set up and grayboxing your level. This is an important first step to thinking through your level’s design before you start digging into the level’s mechanics and gameplay.
Create a key and door open and close mechanic.
Implement a heads-up-display (HUD) on the player’s user interface using UMG.
Design the cube puzzles, first with a light switch activator and then with moving platforms.
Build traps under the platformer and learn about player failure and how to set damage over time.
Configure enemy pawns to attack the player, and then a sprint movement for the player so they can get past the enemies quickly!
Add an end state so the game knows when the game is over, plus additional polish!
When you finish the tutorial, you will have a fully functional puzzle game!
Before You Begin
If you’re new to Unreal Engine, read the other getting-started pages in Unreal Engine for New Users.
The Code a First-Person Adventure Game is a tutorial series that uses C++ and Unreal Editor to build a custom player character. You can use what you build in the Programmer Track as a starting point for this track.
Example Project
Below is a link to download the final sample project that you can build using this tutorial series. You can use this example project to see what your final project might look like, or as a reference to see how we built and designed the project.
(Download size: 75 MB)
To open the project, unzip the file and move the adventuredesigner folder to your Unreal Projects directory (by default, find this in C:\Users\UserName\Documents\Unreal Projects).
Let’s Go!
Project Setup and Level Blockout
Get started planning, designing, and blocking out your puzzle adventure level! Practice using different Viewport modes, transforming objects, and organizing assets in the Outliner.
Create a Key
Using blueprints, learn how to create a key that players can pick up.
Open Doors with Keys
Configure the BP_DoorFrame blueprint so the doors can change color and only open with the matching BP_Key.
Player HUD
Create a simple heads-up-display (HUD) that updates when the player picks up an item.
Puzzles: Switches and Cubes
In the first part of the platformer puzzle section, use materials, physics, and blueprints to create a switch that’s activated by a cube.
Puzzles: Moving Platforms
In the second part of the platformer puzzle, create the moving platforms with blueprints and learn how to debug your script.
Traps and Damage
Learn to build environmental blueprints that damage the player and build a game-over loop that triggers when the player is eliminated.
Create an Enemy
Build game logic to create Enemy Characters that deal and receive damage.
Add a Sprint Mechanic to the Player
Use Input Actions to add a sprint mechanic to the player character's move set.
Complete the Level
Finish the level by completing the gameplay loop and configuring an end state for the player.
Bonus: Spawn New Cubes
Add a new mechanic to your puzzle adventure game where BP_Cube actors spawn to a specified limit.