#2 UE5: Base Concepts — Objects, Classes, Actors & Components

Julien Hora
Unreal Realms
4 min readJul 27, 2021

--

This series of articles is addressed to people new to Unreal Engine in general, not just UE5. It is definitely a plus to have programming knowledge, however it is not required to follow any articles in this series.

Objects

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.

- Unreal Engine Documentation

An object is literally anything you can load in Unreal Engine. Whether it is a Material, a Static Mesh or even an imported PNG image, they are all converted to become subclasses of Object when imported into the engine.

Classes

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.

- Unreal Engine Documentation

If you are foreign to the basics of programming and object oriented programming more specifically, let me define in a simple way what a class is.

In object-oriented programming, a class is an object template, providing initial declaration and values for states of that object, and implementations of functionalities (functions) which are called member functions.

For example, let’s assume you have a class named Vehicle. That class could have two properties: Color and NumberOfWheels. So now we can have a very flexible vehicle to which we can give a color and a number of wheels.

You could make two other classes with Vehicle as a “parent”. You could make a Car class that have 4 as a fixed NumberOfWheels value. You could also make a Motorcycle that have a fixed NumberOfWheels value of 2. Now you have two types of vehicles that you could use in your game, and to which you can give a color.

You will comprehend more deeply the concept of class as you create them.

Actors

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).

- Unreal Engine Documentation

As the quote from the documentation says it, it is anything you can place on the level. If you are moving the 3D model of a rock on the level, if you are adjusting one of your lights on the level, or positioning a sword on the hand of your character, you are playing around with actors. If you are editing textures, materials, or anything else really that can’t be placed within a level, you are probably not touching actors.

The concept will once again, become much clearer when you are going to start using actors.

Components

Actor Components

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:

+ A Spot Light Component will make your Actor emit light like a spot light.
+ A Rotating Movement Component will make your Actor spin around.
+ An Audio Component will give your Actor the ability to play sounds.

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

- Unreal Engine Documentation

Actor Components are one the most useful type of objects. It gives you the opportunity of define a set of pluggable properties and functionalities that you can reuse on any of the actors you will be building. Let’s take in example one of the included components in the engine: CharacterMovementComponent is an actor component that you can plug to any of the character that you are building providing movement functionalities (such as moving the character, or jumping) as well as some properties like your walking speed etc… It is essential while building your game to consider using components as they are the best way to save time and avoid rewriting already written logic.

Scene Components

A Scene Component is an Actor Component that exists at a specific physical position in the world. This position is defined by a transform (class FTransform), containing the location, rotation, and scale of the Component. Scene Components have the ability to form trees by attaching to each other, and Actors can designate a single Scene Component as “root”, meaning that the Actor’s world location, rotation, and scale are drawn from that Component.

- Unreal Engine Documentation

A scene component follows the same as an actor component, but made for your being located in your level. It also gives you the opportunity of defining a pluggable properties and functionalities that you can reuse on your level.

--

--

Julien Hora
Unreal Realms

Founder @ Dreamrunner Labs | Senior Software Engineer | Unreal Engine Generalist