Plan your lessonsTime estimates for a beginner following closely
| Project | Steps | Time | 50-minute lessons |
|---|---|---|---|
| Project 1: A walk in the forest | 45 | 4 h 39 min | 7 |
| Project 2: Give me some space | 35 | 3 h 45 min | 6 |
| Project 3: The Trader | 16 | 2 h 15 min | 4 |
| Project 4: The Mission Board | 15 | 2 h 12 min | 4 |
| All four | 111 | 12 h 51 min | 21 |
Words you will meetRead this once, come back when a word is new
Level
One world, saved as a file. Your forest is a level. Your space system is a level.
Actor
Anything you can place in a level: a tree, a light, a lantern, a ship.
Component
A part of an actor, such as its mesh, light or camera.
Mesh
The 3D shape of an object. A Static Mesh never moves its parts. A Skeletal Mesh can be animated, like a character.
Material
The surface of a mesh: its colour, shine and glow.
Blueprint
A set of connected boxes that tells an actor what to do. No typing code.
Node and pin
A node is one box in a Blueprint. Pins are the dots you wire together.
Compile
Press this button in a Blueprint to check it and make your changes real.
Content Browser
The file explorer inside Unreal. Everything you own in the project lives here.
Viewport
The big window where you look at your world.
Pawn
Anything a player can control, such as your ship.
Seed
A number that a random generator starts from. Same seed, same result.
When you get stuck, try these in order
- Stop clicking. Read the step again and look at the picture.
- Press Ctrl+Z to undo your last action.
- In a Blueprint, press Compile and look for red nodes or messages. Fix the first one.
- Open Window → Developer Tools → Output Log and look for red lines.
- Save, close Unreal and reopen your project. It fixes more than you would think.
- Ask for help. Say which step you are on, what you expected, and what happened instead.
Project 1: A walk in the forest
Learn the editor, build a world, and package a game.
45 steps, about 4 h 39 min, 7 lessons of 50 minutes
What you will end up with
- A ground you sculpted yourself, about 500 metres across
- A painted forest, a dirt path and a small village
- Sunset sky, fog and a glowing lantern pickup that you built with Blueprints
- A standalone game folder you can zip and share
Tick the boxes as you go. Your progress bar fills up at the top and is remembered on this device.
Install Unreal EngineAbout 45 minutes, mostly waiting
Create your project
Find your way around
| Do this | How |
|---|---|
| Fly the camera | Hold Right mouse, then WASD, with Q down and E up |
| Move the camera faster | Scroll the mouse wheel while flying |
| Jump to what you selected | Select it, press F |
| Move / Rotate / Scale a thing | W / E / R (when not flying) |
| Undo | Ctrl+Z |
| Save everything | Ctrl+Shift+S (do this often) |
Sculpt the ground
Bring in your free assets
Paint the ground and plant a forest
Ground colour
Trees and plants
Build the village
Sky, light and mood
Your first Blueprint: a lantern to find
Blueprints are drag-and-connect nodes. You will make a glowing lantern that disappears and shows a message when the player touches it.
Package your game
ForestWalk.exe, and it runs without the editor.When things go wrong
| Problem | Try this |
|---|---|
| Editor very slow or low frame rate | Viewport Settings → Engine Scalability → Medium. Plant fewer trees. Turn off Realtime when idle. |
| Character falls through the world | Move Player Start above the landscape (End key drops it). |
| Trees look pink or checkered | Shaders still compiling. Wait for the bottom-right counter to reach zero. |
| Everything is too bright or dark | Post Process Volume with fixed exposure (step 34). |
| Lantern does nothing | Check the Sphere Collision is bigger than the mesh, you compiled, and the Cast node matches the character’s name. |
| Package fails | Read the red line in Output Log. Often a missing Windows SDK: install Visual Studio with “Game development with C++” and retry. |
| Lost work | Look in ProjectFolder/Saved/Autosaves. |
Where to go next
- Add a day and night cycle with a sun that rotates in Blueprint.
- Add footstep and ambient forest sounds.
- Add a door that opens when you press a key.
- Epic’s free Unreal Learning courses are a good next step.
Come back and tell me which step you are on and I can help with any one of them in more detail.
Hints and tipsFor Project 1: A walk in the forest
Save in two ways
Press Ctrl+Shift+S often. Every so often copy the whole project folder somewhere safe. A copy takes a minute and can save a week. The Earth had no backup, and look how that turned out.
Press Play after every change
Small changes, then a quick walk. When something breaks you will know which change caused it.
Use the mannequin as a ruler
The character is about 1.8 m tall. Doors, steps and fences that look right next to it will feel right when you play.
Duplicate fast
Hold Alt while dragging an actor to make a copy. Press End to drop a selected actor onto the ground.
Check your frame rate
Press the backtick key (`) and type stat fps. Aim for 60 or more. If it is lower, plant fewer trees or lower the Scalability setting.
Name things clearly
Start names with a short label: BP_ for Blueprints, M_ for materials, SM_ for meshes. Put them in folders such as Maps and Blueprints.
Design with your eyes
Walk the route yourself. Where do you look first? Put a landmark, a light or a bend in the path there. Add something small to find every minute or so.
Switch the view
The Lit menu above the viewport has Unlit and Wireframe. They help you find stray objects and see where the detail is heavy.
Things to try to enhance your projectProject 1: A walk in the forest
Sound of the woods
Add Ambient Sound actors for wind and birds, and a Play Sound 2D chime when you pick up a lantern.
EasyThree lanterns, one goal
Count the lanterns you have found in a variable. Show a “You found them all” message when you reach three.
EasyA door that opens
Make a Blueprint door with a Timeline that rotates it when you press a key near it.
MediumA river or lake
Enable the Water plugin in Edit → Plugins, restart, and add a lake or stream beside the village.
MediumDay turning to dusk
Rotate the Directional Light slowly in a Blueprint so the sun sets as you explore. Add a warm lantern light in each window.
MediumPeople in the village
Place characters with an idle animation near the well and the doors, so the village feels lived in.
MediumA score on screen
Build a simple Widget Blueprint showing how many lanterns you have found.
MediumRain and mist
Raise the fog density over time and add a Niagara rain system for a stormy ending.
HarderProject 2: Give me some space
A procedurally generated space adventure in the spirit of Elite. Fly a ship, arrive in a star system built from a number, then jump to the next one. Space is big. Really big. You just won’t have to build all of it.
35 steps, about 3 h 45 min, 6 lessons of 50 minutes
What you will end up with
- A ship you fly with keyboard and mouse
- A star with 2 to 8 planets, all generated from a single seed number
- A system name and planet count shown on arrival
- A jump key that takes you to the next system, and the same seed always gives the same system
Build a ship you can fly
Controls
| Action | Keys |
|---|---|
| IA_Thrust | W, and S with Negate |
| IA_Pitch | Mouse Y |
| IA_Yaw | Mouse X |
| IA_Roll | E, and Q with Negate |
| IA_Jump | J |
The ship
The Blueprint nodes
Make it look like space
Generate a star system from a seed
The idea: a seed is just a number. A random stream started from the same seed gives the same numbers in the same order, every time. So Seed 7 is always the same system.
Inside the loop, for each planet (the new mesh is the target of each node below):
Give every system a name
Jump to the next system
Package, fix and grow
| Problem | Try this |
|---|---|
| Ship will not move | Check Auto Possess Player is Player 0, the Add Mapping Context node is connected, and you clicked in the game window. |
| Nothing appears at the start | The Directional Light is missing, or the system is not at 0, 0, 0 with the ship at X −1000000. |
| Sphere is not in the mesh list | Turn on Show Engine Content (step 61). |
| Planets are black or white | Change the Post Process EV100 values or the Directional Light intensity. |
| Systems change when you revisit | Something in the loop runs in a different order, or you used plain Random Float instead of the From Stream version. |
| Jitter far from the origin | Expected at huge distances. Stay within about 50 km of the star, which this project does. |
Where to go next
- A galaxy map: a UI widget listing nearby seeds with a position and name for each.
- Trading: a Data Table of goods, with prices calculated from the seed and the system.
- Stations: a docking zone that opens a trade screen.
- Combat: an enemy ship that follows you, with weapons and damage. Do this last.
Projects 3 and 4 take the first two of these further.
Hints and tipsFor Project 2: Give me some space
Add new random calls at the end
Every random call moves the stream along. If you insert a new one in the middle, every system changes. Add new ones last and existing systems stay the same.
Mix the seed first
Neighbouring seeds like 1 and 2 can feel alike. Multiply the seed by a big number such as 7919 before feeding it to the stream. It is close to an infinite improbability drive, and no hot tea is required.
See what the numbers are
Temporarily add a Print String after each random value. Seeing the distances and sizes makes problems easy to spot.
Draw the orbits
A Draw Debug Circle or Draw Debug Sphere node shows you where planets should be, even before the meshes look right.
Tidy your graph
Select nodes and press C to add a comment box. Right-click a group and choose Collapse to Function to keep big graphs readable.
Mind the distances
Unreal counts in centimetres. 5,000,000 is 50 km. Keep the action within about 50 km of the centre, or objects start to shake.
Fly one thing at a time
If the ship feels wrong, test with just the ship in an empty level. Adjust Max Speed, Acceleration and Deceleration before touching anything else.
Break wires quickly
Alt+click on a wire pin removes it. Drag a node over a wire to splice it in.
Things to try to enhance your projectProject 2: Give me some space
Speed and name on screen
Build a Widget Blueprint showing speed, the system name and the current seed.
EasySpinning planets
Add a Rotating Movement component to each planet so they turn slowly.
EasyDifferent kinds of star
Pick the star’s colour and size from the stream: red dwarfs, yellow stars, blue giants.
EasyEngine sound and trail
Raise the engine sound’s pitch as speed goes up, and add a simple Niagara trail behind the ship.
MediumMoons and rings
Give some planets one to three moons using the same loop idea, with the stream deciding how many.
MediumAn asteroid belt
Use an Instanced Static Mesh and Add Instance in a loop to scatter thousands of rocks cheaply.
MediumScan a planet
Press a key to line-trace at what you are aiming at, then show the planet’s name, size and type.
MediumRemember where you were
Use a Save Game object to store CurrentSeed, so your game resumes in the same system.
Project 3: The Trader
Buy low, jump, sell high. Prices differ in every system, worked out from its seed. Always know where your towel is.
16 steps, about 2 h 15 min, 4 lessons of 50 minutes
What you will end up with
- Goods whose prices are different in every star system
- A trading screen you open with T, with Buy and Sell buttons
- Credits, a cargo hold, and a fuel cost for every jump
- A goal: reach 5,000 credits
SpaceTrader project from Project 2. You need the ship, the star system Blueprint and the jump key working.Prices that change from system to system
A trading screen
Make it a game
Hints and tipsFor Project 3: The Trader
Test with cheap numbers
Start with 100000 credits while you test, then set it back. You will thank yourself.
Prices need a pattern
If every system has the same cheapest good, widen the random range for just one good.
Close the menu first
If the mouse sticks, check Close sets the input mode back to Game Only.
Keep a list
Write down your first profitable route. If you can’t make money, neither can your players.
Things to try to enhance your projectProject 3: The Trader
Cargo space
Limit the hold to 20 items so players must choose what to carry.
EasyPrice news
Print a message when a good is unusually cheap or expensive here.
MediumShip upgrades
Sell a bigger hold or cheaper jumps for credits.
MediumSave your game
Use a Save Game object to keep Credits, Cargo and CurrentSeed.
MediumProject 4: The Mission Board
Stations offer delivery jobs with a reward. The best jobs, the Guide says, are mostly harmless.
15 steps, about 2 h 12 min, 4 lessons of 50 minutes
What you will end up with
- Names you can work out for any system, even one you have not visited
- Three generated jobs in every system
- A mission board you open with M
- Pay when you deliver the goods to the right place
Name any system from its seed
Generate the missions
The mission board screen
Finish the job
Hints and tipsFor Project 4: The Mission Board
Test with a near destination
While testing, set DestSeed to Seed + 1 so you can finish a mission in one jump.
Same stream, same order
Add any new random value last in the loop, so earlier missions don’t change.
Read the board aloud
If a mission reads strangely, fix the Append order. Clear text beats clever text.
Break it on purpose
Try accepting twice, or delivering too early. Real players will.
Things to try to enhance your projectProject 4: The Mission Board
Time limit
Fail the mission if it takes more than five jumps.
EasyBigger rewards, bigger risks
Give high-reward jobs a smaller deadline.
MediumMission chains
Finishing one job unlocks a follow-up at the destination.
MediumReputation
Track how many jobs you finish and offer better jobs as it grows.
HardIdeas for Project 5 and beyondPick the one that excites you most
The Galaxy Map
A map of about 100 systems, with names and positions from their seeds. Plan a route and spend fuel to get there.
MediumLandfall
Land on a planet and step out as your walking character into a forest the seed generated, using Unreal’s Procedural Content Generation tools. It joins Projects 1 and 2.
HardPirates
Enemy ships that chase and shoot, with weapons, shields and a health bar. Great for learning AI.
HardThe Living Village
Back to the forest: day and night, villagers with daily routines, conversations and a small mystery.
MediumUsing Epic and Fab assetsHow to add free assets to your own game
Free packs from Epic’s Fab store can make your game look much better. You do not need to type any code to use them. This section shows you what to download, how to add it and what to do with it.
Add an asset to your project
- Open Fab (
fab.com, or Window → Fab inside Unreal). Sign in with your Epic account. Free items say Free or Add to My Library. - Before you add it, check three things: the format says Unreal Engine, the supported versions include the one you use, and the download size is sensible.
- Click Add to My Library. Then open the Epic Games Launcher → Library → Fab Library (or the Library inside Fab in the editor), find it and click Add to Project. Choose your project.
- Back in Unreal, open the Content Browser. The asset is in a new folder named after the pack. Open the folder and explore.
- Drag it into your world, or into a Blueprint (see the table below).
- Check it: is it the right size, does it have collision, does it look right? The tips below show you how.
What works, and what it is for
| Asset type | What you will see | How to use it |
|---|---|---|
| Static Mesh (houses, trees, rocks, props, a ship) | Names like SM_ | Drag into the level. In a Blueprint, pick it in a Static Mesh component, such as your ship’s body. |
| Skeletal Mesh (animated characters) | A figure with an animation icon | Open your character Blueprint, select Mesh, and set Skeletal Mesh and Anim Class. Choose packs made for the UE5 Mannequin skeleton, or they will not animate. |
| Materials and textures | Names like M_ and T_ | Drag a material onto a mesh in the level, or set it in Details. Landscape materials go in the landscape’s Landscape Material slot. |
| Foliage (trees, grass, bushes) | Static Meshes | Drop them in the Foliage mode box and paint them on the ground. |
| Sounds | Sound Wave or Sound Cue | Use Ambient Sound for background sound, or Play Sound 2D in a Blueprint for effects. |
| Niagara effects (fire, rain, engine trails) | A Niagara System icon | Drag into the level, or add a Niagara Particle System component to a Blueprint. |
| Skyboxes and HDRIs | A sphere mesh or a texture | Use the skybox step in Project 2, or an HDRI Backdrop in an outdoor level. |
| Blueprints | Names like BP_ | Drag into the level. Open one first and see what it does before you rely on it. |
Worked examples: free assets from Fab
The first three came from a Fab search with the Free filter on: Underground Tunnel, 3D Platformer Game Bundle and SciFi Beast06 Bull. All three show a green Saved in My Library tick, so they are already yours. Adding them to a project works the same way. What you do afterwards is different for each.
- Click the asset card. The panel opens on the right. Read the Description all the way down, because it tells you what the pack is and any special setup.
- Open the Formats tab and check the engine versions it supports include yours.
- Check Export target says Unreal Engine and the Unreal icon is under Format.
- Click the blue Add to project button. If a box asks which project, choose yours (for example
ForestWalk). If you opened Fab from inside Unreal with Window → Fab, it goes into the project you have open. - Wait for the download to finish, then look in the Unreal Content Browser for a new folder named after the pack.
Underground Tunnel
A whole environment: modular tunnels and a big central junction. Its description says it was built for Unreal 4 with baked lighting, and in Unreal 5 you must turn Lumen off for the lighting to work. That changes settings for the whole project, so add it to a copy of your project or a new test project, not your main one. Open its demo map from the pack folder. If it still looks flat, rebuild the lighting from the Build menu. Great for a bunker or dungeon game.
Harder3D Platformer Game Bundle
Fab lists this under Game Systems, so it is probably gameplay, not just art, and may be a complete project. Read the description first. If it says project or template, use Create Project from your library and keep it separate from your own games. A good one to explore on its own and learn from.
MediumSciFi Beast06 Bull
A creature model. Check the Formats tab and description for a skeleton and animations. Drag it from the Content Browser into your level and compare its size with the mannequin, then change Scale if needed. If it has animations, select it, open Details, set Animation Mode to Use Animation Asset and pick one. Use it as a monster, guardian or statue. Do not try to swap it in as your player yet, because that needs the right skeleton.
Easy to place, harder to animateProcedural Nature Seasons Pack
A nature environment pack: the preview shows snowy forest, rocks, fences and a track. It suits Project 1. The description says the studio has stopped making content, so it is an older pack. Check the Formats tab for engine versions and test it in a copy of your project first. The button says Add to project, so use that. Open its demo map from the pack folder to see how it is set up, and read the description to find out how the seasons change. Then paint the trees with Foliage mode and use its landscape material as in step 21.
MediumNorthwood
A complete project from Epic Education. The button says Create project, not Add to project, so it makes a brand new project: a box asks for a name, a folder and an engine version, and it can be a big download. Open it and explore. The preview shows the mannequin walking through a town of wooden buildings, which is great village inspiration. To borrow a building for your own game, right-click it in the Content Browser, choose Asset Actions → Migrate and pick your own project’s Content folder. Keep your own game in its own project.
Easy to explore, medium to borrow fromYour own files
You can also bring in files from elsewhere. Drag them into the Content Browser, or click Import.
| Use | File types that work |
|---|---|
| 3D models | .fbx is the safest. .glb, .gltf and .obj usually work in recent versions. |
| Pictures and textures | .png, .jpg, .tga. Use sizes like 512, 1024 or 2048 pixels. |
| Sound | .wav is the safest. Convert MP3 files to WAV first. |
Hints and tips
Move files only inside Unreal
Rename, move and delete assets in the Content Browser, never in Windows Explorer. Otherwise things break and go pink.
Check the size
Place the mannequin next to your asset. A house should be about 3 m tall per floor. If it is wrong, change Scale in Details.
Make it solid
If you walk through something, double-click the mesh, open Collision in the toolbar and choose Add Box Simplified Collision. Save it.
Pink or checkered?
Wait for shaders to finish compiling (bottom right). If it stays pink, the pack may be for a different engine version.
Take only what you need
Packs can be several gigabytes. Add one pack at a time, and test it before adding the next.
Keep one style
Pick one pack per kind of thing, such as trees or buildings. Mixing many styles makes a world look like a car boot sale.
Lots of triangles are slow
If your game stutters, choose lower-detail assets, or fewer of them. Words like low poly or mobile help.
Move between projects
Right-click an asset and choose Asset Actions → Migrate to copy it and everything it needs into another project’s Content folder.
Check the licence
Free Epic assets are usually fine to use inside games you build. Do not give the raw asset files to other people. Ask your teacher before sharing a finished game outside school.
Not sure?
Make a copy of your project folder first and try the asset there. If it goes wrong, nothing is lost.