Skip to content Skip to sidebar Skip to footer

Widget HTML #1

Unreal Engine 5 for Absolute Beginners: Build Subway Surfers

Unreal Engine 5 for Absolute Beginners: Build Subway Surfers

In this course, you will embark on an exciting journey through the basics of Unreal Engine 5, progressively building your skills until you can ...

Enroll Now

Unreal Engine 5 (UE5) is a powerful and versatile game engine used to create stunning video games, animations, and virtual reality experiences. In this guide, we'll walk through the basics of UE5 and create a simple endless runner game inspired by Subway Surfers. We'll cover the essentials of the engine, from setting up your project to creating basic gameplay mechanics.

Getting Started with Unreal Engine 5

Installing Unreal Engine 5

First, you'll need to download and install Unreal Engine 5. Head to the Epic Games Launcher, which you can download from the Epic Games website. Once installed, open the launcher, sign in, and navigate to the Unreal Engine tab. Click on the "Library" tab and then the "+" button to add a new engine version. Select UE5 and begin the installation process.

Creating a New Project

After installing UE5, launch the engine and select "Games" from the New Project Categories. Click on "Next," choose the "Third Person" template, and then click on "Next" again. For this tutorial, we'll name our project "SubwaySurfersClone" and select a suitable location to save it. Ensure that you choose "Blueprint" as the project type and enable "Starter Content" before clicking "Create."

Familiarizing Yourself with the Interface

Once your project is created, you'll be greeted with the Unreal Engine Editor. Here are some key components of the interface:

  • Viewport: This is where you can see and interact with your game world.
  • Content Browser: This panel lets you manage your assets like models, textures, sounds, and more.
  • World Outliner: This panel shows all the objects in the current level.
  • Details Panel: This provides detailed properties and settings for selected objects.

Spend some time exploring these areas to get comfortable with the interface.

Building the Game World

Creating the Endless Runner Track

The core of our Subway Surfers-inspired game is an endless runner track. We'll start by creating a simple straight path that our player can run along.

  1. Add a Floor: In the Content Browser, navigate to "StarterContent > Props" and drag a "Floor_400x400" static mesh into the viewport. This will serve as the ground for our track.
  2. Duplicate the Floor: Select the floor mesh in the viewport and press Ctrl + W to duplicate it. Position the new floor piece end-to-end with the first one. Repeat this process a few times to create a longer track.
  3. Align the Floors: Ensure all floor pieces are aligned correctly to avoid gaps. Use the "Move" tool to adjust their positions as needed.

Adding Obstacles

To make the game challenging, we'll add obstacles that the player must avoid.

  1. Add Obstacles: In the Content Browser, navigate to "StarterContent > Props" and drag various static meshes (e.g., "SM_Cube," "SM_Rock") into the viewport. These will act as obstacles.
  2. Position Obstacles: Place the obstacles along the track at varying intervals. Ensure they are positioned in a way that requires the player to move left or right to avoid them.

Player Character Setup

Next, we'll set up the player character and add movement mechanics.

  1. Create a Player Blueprint: In the Content Browser, navigate to "ThirdPersonBP > Blueprints" and open "BP_ThirdPersonCharacter." This blueprint controls the player character.
  2. Add Input Controls: Open the "Event Graph" in the blueprint editor. Add input actions for moving left, right, and jumping. You can find input nodes by right-clicking in the graph and searching for "Input."
  3. Set Up Movement Logic: Use nodes like "Add Movement Input" to handle left and right movement. For jumping, use the "Jump" node.

Implementing the Endless Runner Logic

To make the game endless, we'll implement logic to recycle the track and obstacles as the player progresses.

  1. Track Segments: Create a blueprint for track segments. Duplicate one of your floor pieces and convert it to a blueprint by right-clicking and selecting "Convert to Blueprint Class."
  2. Recycling Logic: In the track segment blueprint, add logic to detect when the player reaches the end of the segment. When this happens, move the segment to the front of the track. You can use collision boxes and trigger events to achieve this.
  3. Spawning Obstacles: Create a blueprint for spawning obstacles. Use a similar approach to detect when obstacles go off-screen and respawn them at the front.

Adding a Game Mode

To manage the game rules and flow, we'll create a custom game mode.

  1. Create a Game Mode: In the Content Browser, right-click and select "Blueprint Class." Choose "GameModeBase" as the parent class and name it "EndlessRunnerGameMode."
  2. Set Game Mode: Open the "World Settings" panel and set the "GameMode Override" to "EndlessRunnerGameMode."
  3. Game Over Logic: In the game mode blueprint, implement logic to handle game over conditions, such as when the player collides with an obstacle.

Enhancing the Game

To make the game more engaging, consider adding additional features:

  1. Collectibles: Add items like coins or power-ups for the player to collect. Create blueprints for these items and place them along the track.
  2. Scoring System: Implement a scoring system that tracks the player's progress and rewards points for collecting items or surviving longer.
  3. Visual Effects: Enhance the visual appeal by adding particle effects, improved lighting, and post-processing effects.

Testing and Debugging

Regularly test your game to ensure everything works as expected. Use the "Play" button in the toolbar to playtest the game in the editor. Debug any issues by reviewing the blueprints and using print statements or breakpoints.

Packaging and Sharing Your Game

Once you're satisfied with your game, you can package it for distribution.

  1. Build Settings: Go to "File > Package Project > Build Configuration" and select "Shipping" for a final build.
  2. Package Project: Navigate to "File > Package Project" and choose your target platform (e.g., Windows, Mac). Follow the prompts to package your game.
  3. Distribute: Share the packaged game with friends or upload it to a game distribution platform.


Building a Subway Surfers-inspired game in Unreal Engine 5 is a great way to learn the basics of game development. By following this guide, you've set up a project, created an endless runner track, added obstacles, implemented player controls, and more. Unreal Engine 5's powerful tools and flexible workflows make it possible to bring your creative ideas to life. Keep experimenting, learning, and pushing the boundaries of what's possible in game development. Happy creating!