How do you create your first playable level inside Unreal Engine 4?
As a beginner, you want to get started with a game engine/level editor as quickly as possible and build something you can play in. For this you need to know what objects or actors (as they are called in UE4) that are required to be in your level.
In this tutorial you will learn how to create a starter level that contains:
- Ground plane
- Player start
- Player scale reference to judge proportion
- Static Mesh (3d model)
- Build and Play Test your level
Without much introduction, let's get started.
You should have a project created using any of the available game templates and with Starter Content.
I will be using Blueprint FPS Shooter game template and Starter Content:
If you don't have a project set up, follow this tutorial. It will explain everything you need to do to start your own project and launch the editor.
Launch the Editor
Open your project to follow along.
Inside the Epic Games Launcher switch over to Library tab and double click on your project image thumbnail or right click and choose open to launch the editor:
Start a New Blank Level
With the editor open, create an empty level.
Go to File > New Level:
Choose Empty Level:
We are going to start with a blank void map and we'll insert all of the needed actors into it.
We need a ground plane, a floor onto which the player can stand on.
For ground plane we can use:
- BSP Brush
- Static Mesh (3d model)
Let's use a BSP brush.
Go to Place Modes and switch to BSP:
Left click and drag a BSP Box into perspective viewport:
With the BSP brush selected, go to Details panel and resize the brush to following values:
- X = 1000
- Y = 1000
- Z = 50
We now have a ground plane:
Character Reference Scale
You want to build your worlds to correct scale and proportion. No object or architecture should be too large or too small otherwise it will ruin the illusion of your environment very quickly.
To do this we'll insert a character reference with the same dimensions as a player model in game. It will be used to judge scale as we build the level.
Since we aren't creating this level for any specific game that contains a specific collision model for the player character, we'll use UE4 base dimensions.
Base Character Dimensions in UE4 are:
- Height = 180 cm/uu
- Width/Depth = 60 cm/uu
Let's use a BSP brush for this.
Drag a BSP box from the Place Modes panel into the perspective viewport and onto the ground plane:
In the Details panel enter the following values to resize:
- X = 60
- Y = 60
- Z = 180
For character reference you can use other options. Such as a Static Mesh box, Skeletal Mesh Reference provided with UE4 or your own custom mesh. You can see how to use other option's besides the BSP Box in this tutorial.
Now, we need to insert a Directional Light; this is our sun light actor that will illuminate our entire environment.
Go to Place Modes (Shift+1) and switch to Lights tab:
Left click and drag Directional Light actor into perspective viewport. You will see Directional Light take effect of lighting your world:
If you do not, switch over to Lit Mode (Alt+4):
Select the Directional Light and use the rotate gizmo (E) or hit spacebar until you see rotation handles. Rotate and point the light towards the ground plane for angle and direction you want for the environment.
For example, for early morning or late evening, aim the Directional Light angle very low to cast long shadows across your level. For afternoon, point the light down.
First two properties to change are color and intensity.
- Color: sets the color of your light
- Intensity: strength of the light
Select the Directional Light and in the Details panel left click on the color bar under Color:
Use the Color Picker to choose the color you want:
Color you choose should reflect the time of day you want. Late evening most likely have deeper orange or reds:
While early morning might be more on the lighter orange and yellows:
Once you've chosen the color, click OK.
I chose lighter orange/peach color:
Let's set Intensity; this is the strength of the Directional Light.
Value of 10 is a bit too high so let's bump this down to 7.5:
To see accurate light representation, we need to Build our level.
Use the drop down Build option and set Lighting Quality to Preview:
Preview will allow us to continue working without waiting too long. Eventually, towards the end of your level creation, you will begin building on High and Production Quality for best visual results.
Let's insert Atmospheric Fog; it will give us more realistic atmosphere in the level.
Go to Place Modes and Switch to Visual Effects:
Left click and drag Atmospheric Fog right into the perspective viewport:
Atmospheric Fog provides an illusion of a skybox, a sun disc and distance fog.
We aren't going to change any properties for Atmospheric Fog but we do need to make sure that our Directional Light is working together with the fog.
Select Directional Light and Details panel, enable "Atmospheric Sun Light":
This will tie the position and the angle of the sun disc from Atmospheric Fog to match angle and direction of the Directional Light. So any time you want to change the Directional Light angle, atmospheric fog will be updated.
We now have an environment with a light and fog:
Insert Static Mesh
Static Meshes are 3d models created outside Unreal Engine 4, inside a modeling application such as Maya, Maya LT, 3ds Max, Modo, Blender or other and then imported into UE4.
With Starter Content enabled during the project set up, you are given a set of Static Meshes to use.
Using Content Browser, search for a Static Mesh. Let's keep it simple and look for Cube:
Make sure to select the "Content" folder so you are searching inside the entire Project directory.
Select the Cube Static Mesh from the Content Browser, left click and drag right into the perspective viewport onto the ground plane:
You could continue to insert other static meshes the same way. But let's move onto the next step - inserting a SkyLight.
SkyLight is an additional light actor that illuminates indirectly lit areas; areas that aren't being reached and lit by Directional Light.
Best way to show you what the Sky Light does is to look at these two images.
This image is the same scene without a SkyLight:
You can see that our shadows are black and with this type of lighting scenario, you should have a lot of bouncing light from the sky, lighting behind the cube.
This image now contains a SkyLight:
The areas in shadow are no longer black and it looks a more realistic with indirectly lit areas receiving blue hue from indirect lighting, from the SkyLight.
For SkyLight to work you need to have either a sky sphere or Atmospheric Fog actor, this is important.
Go to Place Modes and under Lights, left click and drag SkyLight into perspective viewport:
To change the indirect lit areas with different color, select the SkyLight and in Details panel, change Light Color property:
Player Start specifies a spawning location for the player inside the game. Every level should have one player start.
Go to Place Modes and switch to Basics tab and left click and drag Player Start into Perspective Viewport onto the ground plane:
Save Your Level
We've been working on our level for a while. Let's save before we lose any of the work.
Go to File > Save As:
For better organization, create a new folder to save all the maps into. Right click and choose New Folder and name it "Maps":
Select the Maps folder, name your level and click Save:
Test Your Level
You can play test your level right from the editor. In perspective viewport, right Click and choose "Play From Here". This will spawn you from the location where you right clicked:
If you press on the "Play" icon at the Top Toolbar, it will spawn you from the Player Start actor inserted earlier:
You will spawn inside the level and as a player character depending on which game template you chose at the beginning of project set-up:
Press "Esc" to return to editor mode.
Lightmass Importance Volume
Lightmass Importance Volume defines an area of your level to prioritize where it should focus its lighting calculations.
Every level you create should have a Lightmass Importance Volume, surrounding areas where the player is going to be. If it is a non-playable level, then surround important locations where you want Unreal Engine to focus its lighting in.
Go to Volumes, under the Place modes:
Left-Click and drag Lightmass Importance Volume into the level:
Use Geometry Editing mode (Shift+5) and change the size of the volume to surround the entire level:
Lightmass Importance Volume is covering the entire level where the player is going to be:
Building a level calculates and renders lighting, geometry and navigation. It shows how the environment really looks. Up till now it only shows us an approximation or preview lighting.
Go up to Main Toolbar and use the drop down menu to set Lighting Quality to Production. We've used Preview Quality but towards the end of your environment creation, we need to have everything rendered at the highest quality possible.
After setting to Production, hit Build:
You have now created a very simple level, complete with a player start, a light, Static Mesh, fog and we build on production and saved the level.
Of course there is a lot more to this than what we just covered, but these are the basic steps of creating a level.
You are now set to explore advanced topics within UE4 and begin to create your own, more complex world.
Recommended UE4 Tutorial series
Here are two recommended premium tutorial guides for Unreal Engine 4:
UE4 The Corridor Project: this is a bit more intermediate tutorial guide in which you construct a game environment with provided custom Static Meshes, then light it, post-process it and create a fly-through video to show it off. An in-depth guide for putting together an environment from start-to-finish. Click here for more info...