Getting to know the Unreal Editor
Welcome back to this tutorial series. In this tutorial we will create our first project and familiarize ourselves with the Unreal Editor interface. If you have followed our tutorials this far then you probably have:
- Created an Epic Games Account
- Downloaded and run the installer for the Epic Games Launcher
- Signed into the Epic Games Launcher
- Installed Unreal Engine through the Epic Games Launcher or
- Downloaded GitHub, cloned and compiled the Source Code of Unreal Engine 4
Now it is time to launch Unreal Engine 4. For the purposes of this tutorial series we will be launching Unreal Engine 4 from the Epic Launcher.
There are many advanced options available when you run the editor, which are of no use to us right now. If you are curious or want to learn more, please refer to Unreal Engine’s documentation on Running Unreal Engine.
Note: The first time you launch your custom build of Unreal Engine after compiling you will experience a long loading time. Don’t be alarmed. This is a normal one-time process, because Unreal Engine needs to optimize its contents for your specific platform. This also happens the first time you open a projects downloaded from the Epic Games Launcher.
Launching Unreal Engine 4
Run the Epic Games Launcher, sign in with your credentials and go to the Unreal Engine tab in case it is not the default tab.
One way to you can launch Unreal Engine is by clicking the big yellow Launch button. Another way is to click on the Library button and under Engine Versions click on the Launch button inside the 4.15.1 frame. Unreal Engine 4.15.1 is the latest version at the time of writing.
The first thing you will see is the splash screen while Unreal Engine is loading. There is a chance, depending on your firewall settings, that your OS (operating system) will request permission to allow Unreal Engine to access the network. Giving access to Unreal Engine allows it to communicate with its various parts, like the engine responsible for building lighting. Some other nice tricks that Untreal Engine does include delegating processes to other computers on the network. We will get into that further down the road.
Once Unreal Engine has loaded you should be seeing the Unreal Project Browser window. The Projects tap should be the first tab you see, if that’s not the case click on it. This is where your own projects, as well as the ones provided by Epic as sample projects, if you have downloaded any, are located. Your Projects tab should be empty at the moment, but we will fix that.
Select the New Project tab, this is where we will create our first project. There are twelve templates available for you to choose from. Information for each template is provided on the right part of the window. Take a few minutes to read what each template does. Don’t be overwhelmed with words like Animation Sequence. Blend Space etc, just get a small taste of what Unreal Engine 4 is capable of.
You probably have noticed that there are two sub categories in here, Blueprint and C++. This basically means that we can create projects based on either Blueprints, the visual scripting system used in Unreal Engine 4 or the programing language C++.
Launching your custom build of Unreal Engine 4
If you want to launch your custom build, then do the following:
For Windows users:
Go to where you downloaded the source code. In there you should navigate to Engine\Binaries\Win64 and double-click on UE4Editor.exe.
For Mac users:
Go to where you downloaded the source code. In there you should navigate to Engine\Binaries\Mac and double-click on UE4Editor.app.
The Blueprints Visual Scripting system used in Unreal Engine 4 is a scripting system using a node-based interface to create gameplay elements from within Unreal Editor. If all this sounds too complicated, imagine the following simple example.
Let’s say you want to toggle a light on or off in your game by pressing the USE key (in this case the E key). Instead of writing lines of code, with Blueprints all you would have to do is (see image below):
- Assign the key E as the USE action (in your project’s settings).
- Place a Light Actor inside your level.
- Call the USE action and the Light Actor as a node inside your Level Blueprint.
- Connect the node of the USE action and the Light Actor to a Function that toggles that Light on or off.
This blueprint was created just to demonstrate that there is more than one way to get things done. Some ways are more efficient than others. Normally you wouldn’t use the Blueprint below in a game as it would cause errors and conflicts because it uses the USE action to perform the same task, but more on that later. All the boxes you see in the image below connected with a white line are nodes.
Now, this is a very simplified explanation of what Blueprints really are. What you should take away from the above example is that you can create a game using only Blueprints and that you can do with Blueprints almost everything you can do with C++. In other words Blueprints provide designers with the tools that until now were only available to programmers.
For more information please refer to Unreal Engine’s documentation on Blueprints.
C++ is a programming language designed to be used for writing software for wide variety of applications. Such a programming language is known as a general-purpose language because it doesn’t include language constructs designed to be used only within a specific type of application. For example, a page description language contains constructs intended to make it easier to write programs that control the layout of text and graphics on a page. C++ although being one of the harder languages to master, it is a language designed with performance, efficiency and flexibility in mind. These characteristics make C++ ideal for game development.
Basic, C#, Lua, Java, Java Script, PHP, Python are some of the available general-purpose programming languages out there.
For more information please refer to the C++ Wikipedia page or cplusplus.com a site dedicated to everything C++. I suggest you bookmark cplusplus.com as it will prove to be a very useful source of information if and when you decide to learn C++ in depth.
Blueprints vs. C++
Blueprints were created to help designers create content with Unreal Engine, to facilitate quick prototyping and shorten development cycles. With Blueprints you can make a simple change in your game and just press play to view its effect. Traditionally when programming using code you would have to compile that code first and then test your game. Since iteration is a part of programing you can imagine the time you save with blueprints and Unreal Engine. In the grand scheme of things though C++ is more efficient than Blueprints.
Blueprints also have another advantage, they bridge the gap between designers artists and programmers. A game character can consist of both C++ code and Blueprints. If the programmers need to make a fundamental change to a character, they can just modify the C++ code. At the same time the artists can edit the Blueprint if they want to add a functionality or animation to the character. Really powerful stuff. Again this is an oversimplification of Blueprints and C++. We will get to know them both in depth as we progress with this tutorial series.
For the purpose of this tutorial we will create a New Project based on Blueprints using the First Person template, so click on that.
On the bottom half of the Unreal Project Browser you have the settings for your new project. You can choose if the target platform is Desktop / Console or Mobile / Tablet, if your graphics quality will be Maximum Quality or Scalable 3D or 2D and finally if you will include or not Starter Content. Let’s see what these settings do.
Desktop / Console or Mobile / Tablet
This setting lets the engine know which platform to target, optimizing the engine and placing restrictions in order for your project to run smoothly on the platform specified. For this tutorial we will choose Desktop.
Maximum Quality or Scalable 3D or 2D. This setting determines the graphics settings for your chosen platform. When choosing Desktop as our platform it is recommended to choose Maximum Quality. If you are running Unreal Engine on a low-end machine or if you chose Mobile / Tablets as your target platform, it is better to choose Scalable 3D or 2D since this setting is aimed at low-end GPUs.
The last setting lets you include some Starter Content that Epic Games has included in Unreal Engine. This content will be available if you have chosen to include them when you downloaded Unreal Engine as mentioned in Introduction to Unreal Engine 4. The Starter Content contains some basic meshes like walls and windows, materials, textures, particles and Blueprints.
Note: Since the package size of a project aimed at Mobile / Tablet platforms is limited, it is not recommended to add the Starter Content to your project since that could increase its package size.
Lastly, choose where you want your project to be saved and enter a name for it. Keep in mind that Project, file and level names used in Unreal Engine must not contain space or special characters except the character Underscore ( _ ), also Underscore must not be at the end of a name. MyProject1, My_Project_1, _MyProject1 are valid names while My-Project_1, MyProject 1, MyProject@ or MyProject1_ are not valid names. Once you have chosen your project name click on the green Create Project button on the bottom right. You will once again see the splash screen and in a few second the Unreal Editor should be up and running.
The Unreal Editor
The screen that you will see will look a lot like the image below. If you have chosen not to include the starter content you will probably see a blank level.
As you can see the Unreal Editor is comprised of various panels which you can move and resize. You can even drag them out as windows of their own. Starting from the top left and going clockwise we have the following panels:
- World Outliner
- Content Browser
As you may have observed some panels display their tabs while others don’t, like the Toolbar and Viewport 1. If you look closely you will see that they have a small triangle at the top left corner, click on that to make a tab appear. Right Click on a tab and choose Hide Tab to hide the tab again. Hiding tabs helps as gain a little more working space.
If you click and hold on a tab you will grab that panel, now you can move and park it anywhere you want. You will notice that a white rectangular shape appears under the panel you are dragging, this indicates where the panel will be placed. Try moving around and resizing the panels, don’t worry if you mess up the layout we can always reset it. In case you can’t get the layout back the to way it was go to the menu bar, click on Window -> Reset Layout. The editor will probably ask you to restart. Save anything that requires saving and after a while the editor will restart displaying the default layout.
This flexibility of the Unreal Editor makes it easy to work with multiple monitors. The images below are just one example layout when using two monitors. You can arrange your windows and panels anyway it suits your workflow.
We will go through the various panels of the Unreal Editor’s interface, where you will get a brief description of each one. A more in depth examination will happen as we progress with this tutorial series.
1 – Modes
The Modes panel contains all the various modes of editing available in Unreal Engine. There are five in total and they are:
Place mode (Shift +1): Place mode lets you place objects in your current Level such as custom meshes, lights, sounds, geometries, triggers, volumes, BSPs (Binary Space Partitioning) etc.
Paint mode (Shift+2): Paint mode allows you to paint vertex colors on Static Meshes inside your Level, that is why you may also hear people referring to it as Mesh Paint.
Landscape mode (Shift+3): Landscape mode is where you can create and edit landscapes inside Unreal Editor. Here you can also generate landscapes from height maps of your choosing or import them from an external program, such as World Machine.
Foliage mode (Shift+4): Foliage mode lets you paint (place) grass, flower, trees, rocks and other static meshes on Landscapes. Although primarily used to fill a landscape with foliage it can be used to also place trash, debris or other static meshes that need to cover a large area with a random pattern.
Geometry Editing mode (Shift+5): Geometry Editing mode allows you to edit geometry brushes (BSPs) you have placed in your Level.
2 – Toolbar
The Toolbar has many functions which we will cover in depth as we go. From left to right they are:
Save Current (Ctrl+S for Windows) (Cmd+S for Mac): Saves only the current Level to disk. There is another function for saving all assets.
Source Control: A Source Control software is used for multiple user collaboration on projects. If you have one set up, here is where you have the options to:
- Check Out (lock it for editing)
- Refresh content
- Check the differences between what you are currently working on the one available in the depot on source control.
Content: (Ctrl+Shift+F for Windows) (Cmd+Shift+F for Mac): Opens Content Browser 1 if closed or switches focus to the Content Browser 1 window.
Marketplace: Opens the Unreal Marketplace in the Epic Games Launcher.
Settings: Here you can find various settings regarding your current project, level, world, graphics performance and others.
Blueprints: This is a list of all available Blueprints of your World that you can edit, here you can also create new Blueprints.
Cinematics: Cinematics displays a list of all available Matinee and Level Sequence available for you to edit. Here you can also create and add new a Matinee or Level Sequence to your Level.
Build: This Builds (precomputes) Lighting, Navigation Networks, A.I. Networks and updates BSP models, among other things.
Play: Play your current game with various options, either in the editor, in a new window, as a stand alone process, or simulate it.
Launch: Launch your game on a device, this requires the project to be packaged first. This gives you the option to see your game running on your target platform be it on PC, a browser, on a mobile device or whatever development kit you have connected to the Unreal Editor.
3 – World Outliner
The World Outliner, also know as Scene Outliner, displays in a hierarchical tree view all the Actors that are inside your Level. During Play the Editor will need some actors like the CameraActor, GameMod, HUD, GameNetwork Manager and so on. These Actors will spawn on demand and will also be displayed in the World Outliner. Inside the World Outliner you can modify, rename, drag and drop, group, attach Actors and more.
World Outliner also allows you to search for a specific Actor using search operators. A very powerful feature especially when you are dealing with thousands of Actors.
You can search by exactly matching your search term by adding a + before it.
You can exclude Actors by adding a – before your search term.
Double quotes can be placed around the search term to force an exact match of the full term in the Actor’s long name.
There is also a small arrow on the top right side, next to the Type column which hides a drop down menu from where you can display an extra column that shows Levels, Layers, Sockets or ID Names.
4 – Details
The Details panel displays all the information of the Actor currently selected. That information changes based on the type of actor that is selected. Static Meshes display information about their Transform, Static Mesh and Materials applied, Physics, Collision, Lighting and other settings. Lights display other information such as Intensity, Attenuation Radius, Temperature etc. Blueprints display exposed variables and so on. On the upper left there is a lock icon which locks the selected Actor to the Details panel. This means that the displayed information will not change if you select another Actor. You can have up to four Detail panels open at any given time.
5 – Viewport
The Viewport is where you create and play test your worlds in Unreal Engine 4. You can navigate the Viewport just like a game or like a traditional 3D application. There are many view modes: Orthographic, Wireframe, Lighting only, Reflections and others. All designed to help you see exactly the data you need to see. As with the Details panel you can have four Viewport panels open at any given time.
6 – Content Browser
The Content Browser is your chest of treasures. It contains all your assets that you use on the current project. Here you can organize, view, edit modify existing assets or even import new ones for your game. You can migrate assets to another project or drag and drop them inside folders just like in any other file management application.
Note: Although you have the option to move and copy assets around it is recommended that you place your assets where they will stay for the remainder of your project. Unreal Editor uses files called Redirectors to keep track of any assets moved from their original location or renamed within a project. Sometimes these Redirectors can cause problems. There is an option to fix those Redirectors but a good rule of thumb is to move and rename your assets as rare as possible.
We have reached the end of our basic tour of the Unreal Editor interface. We will revisit each panel and go into more details of their functions as we continue this tutorials series. In our next tutorial we’ll go into some basic concepts of level creation, before we begin placing objects in our level and start creating worlds. Until then keep it Unreal.