Intro to Unreal Engine
Unreal Engine Course designed by Ethan Minnich. This page mirrors the provided PDF content, lightly enhanced with clarifications, best‑practices, and reference links for modern Unreal Engine 5 workflows.
Course Goals (At a Glance)
- Get comfortable with the UE5 interface and tools.
- Start a Third‑Person Blueprint project with Starter Content.
- Model with meshes, materials, and transform tools.
- Use Landscapes, Layers, and Foliage to build worlds.
- Blueprint fundamentals: variables, flow, functions, UI.
- Design and graybox a level; add core win/lose mechanics.
Before You Begin
- Install Epic Games Launcher and Unreal Engine 5.
- Sign in to Epic Games (create an account if needed).
- Enable Starter Content in project creation.
- Optional: In Project Settings, set your default maps under Maps & Modes.
Editor & Viewport Controls
Selection & Navigation
- Left‑Click select
- Right‑Click + Drag look around
- W/A/S/D while holding Right‑Click to fly
- Mouse Wheel zoom
- F focus selected actor
Play & Save
- Alt + P Play In Editor
- Esc Stop play
- Ctrl + S Save Level
- Ctrl + Shift + S Save All
Module 1 — Getting Started
Create a Project
- Launch Epic Games Launcher and sign in.
- Create a new Third Person project using Blueprint with Starter Content.
Recommended Performance Tweaks
If your machine struggles, try:
- Settings → Engine Scalability: reduce from Epic to Medium.
- Project Settings → Rendering: consider disabling Lumen for older GPUs, set Reflection Method to None for speed, choose a lighter Anti‑Aliasing method.
Add Content Packs
- Save your project; close UE5.
- In Epic Games Launcher → Marketplace → Free, find an asset pack (e.g., building kits).
- Click Add to Project and select your game.
Create a Level
- File → New Level → Basic.
- Save as
CastleLevel
and open it.
Set Default Level
- Edit → Project Settings → Maps & Modes.
- Set your Editor Startup Map and Game Default Map.
Place & Transform Meshes
- In Content Browser, filter Static Mesh, search Wall, drag
SM_Plains_Wall_Straight_01
into the viewport. - Move W, Rotate E, Scale R. Use snapping options for precision.
- Duplicate with Alt + drag. Group multiple meshes with Ctrl + G.
- Delete selected meshes with Delete.
Materials
- In Content, filter Material and drag onto meshes.
- Use the Details panel for fine‑tuning.
Player Start
- From Place Actors, drag a Player Start into the level and orient it as needed.
Level Planning
- Create a reference image folder.
- Sketch a top‑down layout before building.
Build a Platforming Challenge
- Assemble obstacles from static meshes.
- Adjust Collision on meshes if needed via the Static Mesh Editor (Auto Convex).
Module 2 — Landscapes & Blueprints
Create a Landscape
- Delete the floor beneath your castle.
- Switch to Landscape mode.
- Pick a Section Size (e.g., 15×15 Quads), then Create.
Sculpt Tool
- Drag to raise; hold Shift to carve valleys.
- Shape mountains around your castle; form a valley inside.
Landscape Materials & Layers
- Create
CustomMaterials/MAT_Landscape
. - Add texture samples and a LandscapeLayerBlend node.
- Name layers (e.g., Grass, Gravel), set preview weights, wire to Base Color.
- Feed LandscapeLayerCoords into texture UVs; tweak Mapping Scale (e.g., 7).
- Set Roughness via a Constant (1.0).
Paint the Landscape
- Assign
MAT_Landscape
to your Landscape. - In Paint tab, create Weight‑Blended Layer Info assets for each layer.
- Paint with adjustable brush size/strength to blend textures.
Foliage Tool
- Open Foliage mode and drop in tree static meshes.
- Set Density (start small) and paint test strips before committing.
Blueprints — Strings, Variables, Print
- Open Level Blueprint.
- Add N keyboard event → Print String.
- Create a
PlayerName
string variable and append to “Hello ”.
Blueprints — Integers & Branch
- Add G keyboard event → Print String.
- Create
TotalGold
(int) andGainGold = 1
. - Set
TotalGold = TotalGold + GainGold
, print a message, and use a Branch to check thresholds. - Organize with comment boxes, reroute pins, and functions (e.g., AddGold).
Module 3 — Interactables, UI & Sprint
Locked Door & Key Setup
- Create BP_Key (Actor) with Sphere and a trigger Box Collision.
- Create BP_Door (Actor) with a Static Mesh and Box Collision (plus an inner collision box set to BlockAll).
Key Blueprint
- On TriggerBox BeginOverlap → Cast to BP_ThirdPersonCharacter.
- Set a boolean variable
Key = true
; then Destroy Actor (self).
Door Blueprint
- On TriggerBox BeginOverlap → Cast to player.
- Branch on
Get Key
: if true, Destroy Actor (open door), else Print String “Door is locked.”
Jump Pad
- Create BP_JumpPad (Actor) with a Cylinder.
- On Hit, Cast to player and use Launch Character (e.g., Z = 1000).
Double Jump
- Open BP_ThirdPersonCharacter, set Jump Max Count to 2.
Collectible Coins
- Add
CoinCount
(int) to the Character. - Create BP_Coin with Sphere + Sphere Collision, optional Rotating Movement and Spot Light.
- On overlap, increment
CoinCount
then DestroyActor.
UI Widget for Coins
- Create Widget Blueprint HUD_Coin.
- Use a Canvas with a Horizontal Box and two Text blocks.
- Bind the second Text to
CoinCount
(e.g., via getter or binding function). - In Game Mode (or on BeginPlay), Create Widget → Add to Viewport.
Sprinting with Inputs & Functions
- Create IA_Sprint (Input Action) with Hold and Released triggers.
- Add to your Input Mapping Context (e.g., Left Shift and Gamepad RT).
- Create SprintStart/SprintStop functions to set Max Walk Speed higher/lower. Optionally track
IsSprinting
(bool).
Module 4 — Game Design & Grayboxing
Game Design Document (GDD)
- Clone the template and fill in: title, author, genre, and theme.
- Collect reference images; define scope, schedule, and core mechanics.
- Write a short “Hollywood pitch” that captures your hook.
Level Design
- Define audience, primary objective, duration, theme, and difficulty.
- Graybox with Brushes; ensure flow is readable and fun.
Mechanics: Win / Lose / Checkpoint
- BP_Win: box overlap prints “You Win!”.
- BP_Checkpoint: store a
Checkpoint
vector in Character. - BP_Enemy: on overlap, print “Game Over” and respawn at
Checkpoint
. - Transfer working logic from DebugLevel back into the main level.
Helpful Extras & Clarifications
Default Maps
Set both the Editor Startup Map and Game Default Map in Project Settings → Maps & Modes so the correct level opens in the editor and when you press Play.
Player Start
The Player Start actor is a drag‑and‑drop spawn point. You can have more than one and choose which to use in Blueprint or via GameMode logic.
Launch Character
Launch Character sets a pending launch velocity and moves the Character into a falling state on the next tick—perfect for jump pads.
Enhanced Input
Use Enhanced Input with Input Actions and Input Mapping Contexts (IMCs) to map keyboard and gamepad controls and react to Triggered / Completed events.
Landscape Layer Blending
LandscapeLayerBlend supports Weight, Height, and Alpha blending. Weight blending is common for gradual transitions; Height blending uses a height mask for sharper, more natural mixes.
UMG Binding
For dynamic UI, bind Text to a getter function or variable; when your variable updates, the widget reflects the change automatically.
Further Reading & Official Docs
- Changing Default Level (Maps & Modes) — Unreal Docs
- Player Start Actor — Unreal Docs
- Launch Character (Blueprint API) — Unreal Docs
- Landscape Paint Mode — Unreal Docs
- Landscape Materials & Layer Blend — Unreal Docs
- Enhanced Input — Unreal Docs
- UMG Property Binding & UI Quick Start — Unreal Docs
- Character Movement & Max Walk Speed — Unreal Docs