2/4


Imagine what you could get done working towards your life goals if you worked on them 1.5 hour a day, 7.5 hours a week, 30 hours a month

Start your day with a warm-up


https://www.cbr.com/playstation-xbox-no-console-wars/


Read, summarize and share your opinion. Also, what was your first console if you ever had one?


Project

An Unreal Engine Project holds all the contents of your game. It contains a number of folders on your disk, such as Blueprints and Materials. You can name and organize folders inside a Project however you wish.

The Content Browser panel inside the Unreal Editor shows the same directory structure found inside the Project folder on your disk.


Blueprint

The Blueprint Visual Scripting system is a complete gameplay scripting system that uses a node-based interface to create gameplay elements from within Unreal Editor. As with many common scripting languages, it is used to define object-oriented (OO) classes or objects in the engine. As you use UE5, you'll often find that objects defined using Blueprint are colloquially referred to as "Blueprints."


Object

Objects are the most basic class in Unreal Engine - in other words, they act like building blocks and contain a lot of the essential functionality for your Assets. Almost everything in Unreal Engine inherits (or gets some functionality) from an Object.

In C++, UObject is the base class of all objects; it implements features such as garbage collections, metadata (UProperty) support for exposing variables to the Unreal Editor, and serialization for loading and saving.


Class

A Class defines the behaviors and properties of a particular Actor or Object in Unreal Engine. Classes are hierarchical, meaning a Class inherits information from its parent Class (that is, the Class it was derived or "sub-classed" from) and passes that information to its children. Classes can be created in C++ code or in Blueprints.


Actor

An Actor is any object that can be placed into a level, such as a Camera, static mesh, or player start location. Actors support 3D transformations such as translation, rotation, and scaling. They can be created (spawned) and destroyed through gameplay code (C++ or Blueprints).

In C++, AActor is the base class of all Actors.


Casting

Casting is an action that takes an Actor of a specific class and tries to treat it as if it were of a different class. Casting can succeed or fail. If casting succeeds, you can then access class-specific functionality on the Actor you cast to.


Component

A Component is a piece of functionality that can be added to an Actor.

When you add a Component to an Actor, the Actor can use the functionality that the Component provides. For example:

Components must be attached to an Actor and can't exist by themselves.


Pawn

Pawns are a subclass of Actor and serve as an in-game avatar or persona (for example, the characters in a game). Pawns can be controlled by a player or by the game's AI, as non-player characters (NPCs).

When a Pawn is controlled by a human or AI player, it is considered to be Possessed. Conversely, when a Pawn is not controlled by a human or AI player, it is considered to be Unpossessed.


Character

A Character is a subclass of a Pawn Actor that is intended to be used as a player character. The Character subclass includes a collision setup, input bindings for bipedal movement, and additional code for player-controlled movement.


Player Controller

A Player Controller takes player input and translates it into interactions in the game. Every game has at least one Player Controller in it. A Player Controller often possesses a Pawn or Character as a representation of the player in a game.

The Player Controller is also the primary network interaction point for multiplayer games. During multiplayer play, the server has one instance of a Player Controller for every player in the game since it must be able to make network function calls to each player. Each client only has the Player Controller that corresponds to their player and can only use their Player Controller to communicate with the server.

The associated C++ class is PlayerController.


AI Controller

Just as the Player Controller possesses a Pawn as a representation of the player in a game, an AI Controller possesses a Pawn to represent a non-player character (NPC) in a game. By default, Pawns and Characters will end up with a base AI Controller unless they are specifically possessed by a Player Controller or told not to create an AI Controller for themselves.

The associated C++ class is AIController.


Player State

A Player State is the state of a participant in the game, such as a human player or a bot that is simulating a player. Non-player AI that exists as part of the game world doesn't have a Player State.

Some examples of player information that the Player State can contain include:

For multiplayer games, Player States for all players exist on all machines and can replicate data from the server to the client to keep things in sync. This is different from a Player Controller, which will only exist on the machine of the player it represents.

The associated C++ class is PlayerState.



Game Mode

The Game Mode sets the rules of the game that is being played. These rules can include:

You can set the default Game Mode in the Project Settings and override it for different Levels. Regardless of how you choose to implement it, you can only have one Game Mode for each Level.

In a multiplayer game, the Game Mode only exists on the server and the rules are replicated (sent) to each of the connected clients.

The associated C++ class is GameMode.



Game State

A Game State is a container that holds information you want replicated to every client in a game. In simpler terms, it is 'The State of the Game' for everyone connected.

Some examples of what the Game State can contain include:

For multiplayer games, there is one local instance of the Game State on each player's machine. Local Game State instances get their updated information from the server's instance of the Game State.

The associated C++ class is GameState.


Brush

A Brush is an Actor that describes a 3D shape, such as a cube or a sphere. You can place brushes in a level to define level geometry (these are known as Binary Space Partition or BSP brushes). This is useful if you want to quickly block out a level, for example.


Volume

Volumes are bounded 3D spaces that have different uses based on the effects attached to them. For example:


Level

A Level is a gameplay area that you define. Levels contain everything a player can see and interact with, such as geometry, Pawns, and Actors.

Unreal Engine saves each level as a separate .umap file, which is why you will sometimes see them referred to as Maps.


World

A World is a container for all the Levels that make up your game. It handles the streaming of Levels and the spawning (creation) of dynamic Actors.

For more information, see:





What are you learning?

Unreal Engine

Why is it important?

This is one of the industry standard game engines

How do you show that you understand? What is the assignment?

Install the lerning kit and follow along

Open Epic Games Launcher

Click Marketplace

In the search, add -  learning kit games

Add it to cart and "buy" it

It is free and you will not need a credit card or anything to add it to your account

then create a project

Click on Unreal Engine

Click Library

Your Unreal Learning Kit should be in your projects

Open it

It will take some time the first time you run it compiling shaders 

Once you are in the game

Check out your content browser

This is where you will be grabbbing or saving items

The character is called BP_HourOfCode_Character

The game is called BP_HourOfCode_Game

Let's mess with some of the UI

In your content folder, right click on the hour of code folder

select set color and change the folder blue

Now we need to go into the Content>Hour_of_Code>Blueprints>Game folder

We are going to check out the Place Actors Panel

Actors – The term “Actors” is used to identify the various objects or elements that are in a Level. While the phrase is commonly used to identify people in film and TV, it is a more general term when used in the context of your Unreal Engine projects 

This is similar to the content drawer but it only has a set pieces, you cannot bring in 3D objects from other software like Blender. You can access those from the content drawer.

To get to the Place Actors Panel

Window>Place Actors

Just like Blender, we will do most of our work in the viewport and grab assets in the content browser

Click and hol the left mouse button

Notice when you move left or right the camera turns but if you push forward or back, you actually move

When you click the right mouse button, the camera rotates

Scroll zooms in and out

Clicking and holding the scroll moves the camera left, right, up and down

If you click and hold the right mouse, you can use WASDQE control, just like Twinmotion

NOT THE NUMBER PAD!

Explore numbers 1 - 6 and notice they take you to different positions. You can set this up for your projects as well.

Select an asset and press F

This is Frame an actor or image

Click on the shapes button and drag a cub into your game

This is how easy it is to place actors in UE

The Select, move, rotate and scale tools are all similar to Twinmotion and Blender

The Hotkeys

W - Move

E - Rotate

R - Scale


Notice when you modify the object, it changes in the properties just like blender

At the top right is the World Outliner

This is where everything in your scene is held (just like Twinmotion)

You may also select an object in the world outliner and press F to frame that object rather than having to use the mouse to move to it

Press and hold the ALT key then use the left mouse to move around an object

Delete your cube

Now let's open and load the map

Find the maps folder in the content drawer and double click Level_HOC_world

load it

Click Window>Levels

Grab the Layers Tab and drag it to your Outliner Panel

Notice you can dock this panel to use later

Click on the game controller

Notice it forms a wire frame capsule around it

This is where the player will start (You can see it in the details panel just like Twin Motion)

You can also see it in the outliner

Click the Play Button

Click inside the game to play

Walk to the platform and fall in

Notice you are trapped, this game is over and it is no fun!

Hit Esc to get out of the game

Press 1 to get back to the start position

So when we walk to the platform, we fall through because there is no collision added to the object but the rest of the walls and floor do. Remember the first day of GDevelop when you immediately fell through the platform? Same deal

Select the platform

Press CTRL + B

Now it pops up in the content browser

Dock it to the bottom

You can drag object into your game directly from here

try it and delete

Hover over the object in the content drawer and check out the attributes

Notice there are zero collisions

Double click the platform object to open up the static mesh editor

Dock it just like you did with the levels

Now we are going to add collision

You can see the collision has been added so the player will not fall through it

*** WE DO NOT NEED A PERFECT COLLISION***

The more angles you use, the more geometry = the slower your game may run = Lag

Save your changes

If you see that little asterisk after the name of your object, there are unsaved changes 

Also, notice how many triangles are used on this simple object

Test the game and you should be able to stand on the platform

Now we want to add platforms across to get to the other side.

You can drag them in from the content browser or duplicate them by holding the Alt + Drag from the move arrow 

If you hold Alt + Shift while pulling from the arrow, you can duplicate and move the camera at the same time

Continue this until you have made it all the way across

Make sure you have at least one gap in the platforms so that your player can fall through

It's elimination time

press esc 

press 1

get back to the starting point

Select the platforms by holding shift and clicking them move them out of the way

We are going to create a pain causing volume... It sounds like you are getting smacked with an encyclopedia

In the place actors search bar, search for pain 

Grab the Pain Causing Volume into your game

Play the game and run into the PCV

Notice that is sends to back to the start... just like GDevelop

Use your scale tool to cover the entire area

Test it and make sure it works

Move your platforms back

If we are going to work from another spot but don't want to move our starting point, we can go to the new spot, right click and select play from here

You may also change the setting on the play button so that your game starts wherever the camera is positioned

Now we are going to want to build a path to get to the other side using the small floating island objects

Add them just like you did with the other platforms

Alt + Shift and Arrow

Test it and make sure it works

If you missed your jump, you will notice that you fall forever.... not good

Now we need to Click Window > World Settings

We are going to set up The Kill Z and although the Z could stand for zone, it is actually the Z axis

In the World settings

Open Advanced

Select the Enable World Bounds Checks

Change the Kill Z to -500

test

Click the viewpoint button

In the top right wireframe, the red line represents 0 on the Z axis so going 500 units below that line = kaput

Click the box to go back to the normal view

Save your work!