Skip to main content

Unreal Basics

The Youtube playlist "Unreal Basics" covers basic Unreal data structures that can be easily defined in C++ and how to exposed these to Blueprint. The advantage is mostly processing speed, having new data structures available, and hiding more complex functionality from the Blueprint user.

We us a Decision Tree throughout the videos to detail differences between data containers and when to use what.

Array

TArray: Multi Threading, Sorting, Filtering - Implementation in C++ und Blueprint

Content A TArray is a contiguous list in which the order of the referenced values is the decisive element. It is already available in Blueprint, but we implement it - more powerful, but beginner-friendly - as a C++ class to get advanced functions like searching, sorting and multi threading. We also use normal and parallel iteration over the array and measure the differences.

Again, I use the DataTable of the 41k cities that I showed in the video about the TSet - please see https://youtu.be/z21FYVXIXOQ for the details on how to get it and how to include the .h file of the TArray from Pastebin (link below).

Attribution City list licensed with CC 4.0 (https://creativecommons.org/licenses/by/4.0/) von https://simplemaps.com/data/world-cities

Video

DataTable

UDataTable. How to use, iterate over, reload on change, find row in C++ and Blueprint

Content "Data Tables are a table of miscellaneous but related data grouped in a meaningful and useful way". DataTables are mainly used for read-only data driven game design. They are good to import/export CSV / Json files, but offer poor functionality e.g. to search.

For most read-only data cases with small to medium amount of data, a DataTable is sufficient. If you need more advanced cases to manage data, don’t try to extend that rather simple concept, but use a real Graph (e.g. Neo4j) or relational database system (SQLite can be an easy start, but will not scale well).

The video is part of a series that focuses on containers and data structures as the basis for Unreal Engine in Blueprint: https://bit.ly/Unreal_Basics_en

General Links

Pastebin Links

Video

FIFO Queue

How to create a Queue for First-In, First-Out (FIFO) principles for Blueprints

Content A queue is a data structure that is optimized for a specific access pattern: The "first in, first out" pattern (FIFO). Unreal Engine has an easy to use, thread-safe class for this, but it's not exposed to Blueprints. The video shows how to set up and use the TQueue class for Blueprint in just a few minutes.

Video

MultiMap

A MultiMap: 1 Key, many values. C++ & Blueprint definition and usage

Content A MultiMap is a key-value store that can store several values for each key.

A multimap could be used, for example, if you have an inventory that has one key for each item category and stores all items that belong to the category under this key.

Unreal Engine has a C++ class for this, but it cannot be used in Blueprint. The video shows how to set up and use the TMultiMap class for Blueprint in just a few minutes.

The video is part of a series that focuses on containers and data structures as the basis for Unreal Engine in Blueprint: https://bit.ly/Unreal_Basics_en

Video

Set

TSet: Store, sort and filter unique objects. Beginner friendly usage in C++ and BP

Content A TSet is an Unreal container that stores unique values. It is already available in Blueprint, but we implement it - very beginner friendly - as a C++ class here to get advanced features like searching and sorting.

We expose the C++ class to Blueprint, implement sorting and filtering and use data driven design to import 41.000 city information into Unreal to test it.

This video is part of a series that focuses on containers and data structures as a foundation for Unreal Engine in Blueprint: https://bit.ly/Unreal_Basics_en

The video is part of a series that focuses on containers and data structures as the basis for Unreal Engine in Blueprint: https://bit.ly/Unreal_Basics_en

Attribution The city list was used under CC 4.0 (https://creativecommons.org/licenses/by/4.0/) by https://simplemaps.com/data/world-cities

Video

Struct

What is a USTRUCT: Definition and template for C++, tips for creation.

The USTRUCT is a simple data collection that is often used

  • for simple data constructs
  • as a basis for DataTables
  • as a composite key for TMap

The video shows the creation of the .h files for structs - surprisingly complicated and error-prone in Unreal Engine - and the creation in C++ and use in Blueprint of a USTRUCT

Video