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
Links
- Container Decision Tree
- Presentation
- Pastebin TSet C++ Class
- City list as GSheet
- Pastebin Clean Project Directory (Windows Batch)
- Example Projekt
- Unreal Engine TArray Dokumentation
- TSet Video - here is shown how to create the City DataTable and how to create the .h file from Pastebin
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
Links
General Links
- The presentation used in the video
- C++ documentation
- Blueprint documentation
Pastebin Links
- DataTable OnDataTableChanged
- Unreal Engine - Find Row in DataTable
- Unreal Engine - Iterate DataTable
- Unreal Engine - Load DataTable
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.
Links
- Presentation
- Pastebin TQueue C++ class
- Pastebin Windows Batch file to clean your Unreal project folder
- Sample project
- Unreal Engine TQueue Dokumentation
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
Links
- Container Decision Tree
- Presentation
- Pastebin TMultiMap C++ Klasse
- Pastebin clean project directory Windows Batch or Powershell
- Example Project
- Unreal Engine TMultiMap Dokumentation
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
Links
- Container Decision Tree
- Presentation
- Pastebin TSet C++ class
- The cities list as GSheet
- Clean Pastebin project directory Windows Batch or Powershell
- Example project
- Unreal Engine TSet documentation
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